c语言 int a=4 b=5 c=0,d; d=!a&&!b||!c;

d=?
分析一下,关系运算咋么处理

C语言中,凡不为0的,按“真”处理,等于0按“假”处理。结果为“真”用1表示,为“假”用0表示。
先作&&(与)运算,再作||(或)运算。
所以d=1。

另外:C语言的逻辑运算,如果结果明确,后继的运算将不再进行!
如本例,因为a=4,所以!a=0,不管b的值是多少,!a&&!b肯定是0,所以!b就不再计算了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-27
这是逻辑运算符 及其 优先次序的题目:
首先要知道 逻辑运算符中 或与非 三者的运算符优先级:
!->&&->|| 非与或 依次递减
由abc三者的数值可知!a = 0 ; !b = 0 ; !c = 1; 求&& 为 0 ;求或 为1 ;
结果就是1 了。
第2个回答  2011-05-27
这个得看运算符号的优先级
!的优先级高于&&和||
而&&的优先级高于||
所以先算!a=0,!b=0,!c=1
所以0&&0=0
0||1=1;
d=1
详情见http://baike.baidu.com/view/1501335.htm
第3个回答  2011-05-27
先计算!
得出
!a = 0;
b! = 0
!c = 1;
0&&0||1
然后从左至右。。
结果为1

c语言 int a=4 b=5 c=0,d; d=!a&&!b||!c;
所以d=1。另外:C语言的逻辑运算,如果结果明确,后继的运算将不再进行!如本例,因为a=4,所以!a=0,不管b的值是多少,!a&&!b肯定是0,所以!b就不再计算了。

int a=3,b=4,c=5;执行表达示,a++>&&c--&&++c后,a,b,c的值
如:求ax^2+bx+c=0的根 分析:因为当b^2-4ac=0时,方程有两个实根,否则(b^2-4ac0)有两个共轭复根。其程序段如下: main() { int a,b,c,d,x,y; printf("Please put the number of a,bc from the quadratic equation of one variable one by one\\n"); scanf("%d%d%d",a,b,c); d=b...

我 刚学C语言,今天老师让弄个要求 输入a=4b=5 输出c为a+b的和程序怎 ...
int main(){ int a,b,c;printf("请输入a的值:\\n");scanf("%d",&a);printf("请输入b的值:\\n");scanf("%d",&b);c=a+b;printf("c=%d\\n",c);system("pause");return 0;}

C语言 若 int a=4,b=5,c=6,d=7,m=1,n=1,e; 则执行语句 e=(m=a>b...
(m=a>b)&&(n=c>d)当执行完m=a>b之后,返回的值是0,也就是false,就不去执行&&后面的表达式,只有m的值发生了改变n的值不变,所以是m=0.n=1。代码:include "stdio.h"void main(){ int a=5,b=4,c=6,d;d=a>b?(a>c?a:c):b;printf("d的值为%d",d);} ...

#include <stdio.h> int plus(int x,int y); extern a
int plus(int x,int y){ } 函数声明才需要加分号;include <stdio.h> int plus(int x,int y);extern int a;int main(){ int a=4,b=5,c;c=plus(a,b);printf("c(1)=%d\\t",c);c=plus(a,b);printf("c(2)=%d\\n",c);getchar();return 0;} int a=9,b=10;int plus(...

求高手解答C语言的一个试题,,最好带上解释,,谢谢~~~
{ int a=45,b=40,c=50,d;d=a>30?b:c;\/*如果a>30,则d=b,否则d=c.因为a=45>30,所以d=b=40*\/ switch(d)\/*d=40,直接跳到case 40*\/ { case 30 :printf("%d,",a);case 40 :printf("%d,",b);\/*输出"b,",即"40,".由于没有break语句,所以继续往下执行*\/ case 50...

急求计算机二级考试的试题(C语言)
(14)以下不能定义为用户标识符是 D (A)Main (B)_0 (C)_int (D)sizeof(15)以下选项中,不能作为合法常量的是 B (A)1.234e04 (B)1.234e0.4 (C)1.234e+4 (D)1.234e0 (16)数字字符0的ASCII值为48,若有以下程序 C main() { char a=’1’,b=’2’; printf("%c,",b++); printf("%d\\...

c语言 int a=3,b=5,c=8则表达式c=(~a&&b)^!(a&b)的值是0还是8啊,为什么...
0 ~符号的意思是按位求反,2的8421BCD码是0010, 求反后是1101,5的8421BCD是0101 &&符号是逻辑与,这两个都是非零值,所以结果是1,即0001,(~a&&b)=1 !是逻辑非,&是按位与。a&b=0010&0101=0000,!0=1,就是0001,!(a&b)=1 ^是按位异或,0001^0001=0 最终结果,0 ...

c语言基础:设int型变量a=3 b=4 c=5,则表达式((a+b)>c)&&(b==c)&&a...
(a+b)是否大于C 若大于 &&前面就为1,不大于就为0,(b==c)是否相等,若相等为1,不相等为0,a是否为0,不为零就为1 若(a+b)>C,b==c,a不等于0 则表达式可以写为 1&&1&&1 a+b=7>5成立为1 b==c不成立为0 a>0为1 结果表示为1&&0&&1 ...

C语言程序设计试题 求标准答案 都是多选
2、ACDE 解析:int a=3,b=4,c=5;,A、a>b B、a<=b C、(a||b)>c D、a<=(b||c)E、!((a<b)&&!c||b)优先级由大到小:() ! && || A选项,3>4错误,逻辑值0。B选项,3<=4正确,逻辑值1。C选项,(3||4)>5,(3||4)"或"逻辑运算符两边只要有一个非0...

相似回答