在C语言中,if(a==1&&b++=2)是什么意思? 在C语言中“a^b”是什么意思?

作者&投稿:劳毛 (若有异议请与网页底部的电邮联系)
若a=1并且b=2(执行该步操作后,b的值加1为3)。

逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。
符号 功能
&& 逻辑与
|| 逻辑或
! 逻辑非
当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都为真时,总的式子才为真。当表达式进行||运算时,只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假。逻辑非(!)运算是把相应的变量数据转换为相应的真/假值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。
还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行运算了。例如:
a=2,b=1;
a||b-1;
因为a=2,为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后面的表达式就不会再计算了。

这是一类特殊的运算符,自增运算符++和自减运算符--对变量的操作结果是增加1和减少1。例如:
--Couter;
Couter--;
++Amount;
Amount++;
看这些例子里,运算符在前面还是在后面对本身的影响都是一样的,都是加1或者减1,但是当把他们作为其他表达式的一部分,两者就有区别了。运算符放在变量前面,那么在运算之前,变量先完成自增或自减运算;如果运算符放在后面,那么自增自减运算是在变量参加表达式的运算后再运算。这样讲可能不太清楚,看下面的例子:
num1=4;
num2=8;
a=++num1;
b=num2++;
a =++num1;这总的来看是一个赋值,把++num1的值赋给a,因为自增运算符在变量的前面,所以num1先自增加1变为5,然后赋值给a,最终a也为5。b=num2++;这是把num2++的值赋给b,因为自增运算符在变量的后面,所以先把num2赋值给b,b应该为8,然后num2自增加1变为 9。
那么如果出现这样的情况我们怎么处理呢?
c=num1+++num2;
到底是c=(num1++)+num2;还是c=num1+(++num2);这要根据编译器来决定,不同的编译器可能有不同的结果。所以我们在以后的编程当中,应该尽量避免出现上面复杂的情况。

就是如果a的值是一,而b的值是2的话就为真,然后b的值自已加一罗

C语言中b=a&&(-1);是什么意思啊? 1+1=?~

-1非零,所以为真,任何数与1就是它本身,所以只要a不为零,这个b就等于1 只有a=0时,b=0 1+1 数学上算出来是2 数字电路中为1 算错的时候是除了1和2以外的任何数字

麻烦采纳,谢谢!

a 异或 b
按位异或

比如 a 为 5 --- 0101
b 为 7 ----0111
______________
0010

对应位相同为0, 不同为1
希望对你有帮助。谢谢

C语言里面那个if(i==1)。。一个等号和两个等号什么区别。。都分别代表...
答:== 关系运算符的表现形式为: 变量1 == 变量2 2、C语言中 1个等号为赋值运算符,意思是:赋值 如:x = 5,意思是将常量值5赋值给变量x if(i&1==1)这句话表示:如果是 奇数 则。。。i&1 -- 按位与运算,取 2进制整数 i 的最低位,如果最低位是1 则得1,如果最低位是0 则得0...

c语言中!a==1是什么意思
答:!操作符优先度比==高 所以只要a是0 !a就是1, 所以返回1 如果a不是0, 则!a就是0, 所以返回0 所以等价于判定a是不是等于0

C语言中if(!a)表示什么意思
答:if( !a )就是一个判断语句,判断表达式 !a 的真假,进而决定是否执行后续操作。如果a是一个变量 当a等于0时,!a=1(为真),执行后续操作;当a不等于0时,!a=0(为假),不执行后续操作;如果a是一个表达式 将表达式的值计算出来,当成变量来操作,判断过程同上。

请问,C语言里,变量a=1,b=2; 那么if(a=b)怎样理解?
答:if(a=b)相当于两句:a=b;if(a)对应你的a=1,b=2;执行完 a=b;//a 的值变成2 if(a)//相当于if(2)所以条件一直成立 。

C语言if语句
答:int main (void) {int a=0;if (1)a=3; //这是一条语句,if为真,执行赋值3 if (0)a=4; //这是一条语句,if为假 else //搭配上方的if a=5; //这是一条语句,上方if为假,执行赋值5//所以最终a值为5 }int main (void) {int a=0;if (1) { //if为真,整个花括号里的...

c语言中if(3&&2) a=1;else a=2; 请问a是多少?
答:在C语言中,数值参与到逻辑表达式中时,非0为 true,0为 false。3 && 2,是一个逻辑与表达式,两边同时为 true 时,表达式为 true。由于3和2都是非0的数,都翻译为 true,因此 3 && 2 为 true。因此 a 值为 1。

C语言中关于两个if连用怎么理解
答:if……if连用:每一个if语句都是独立的,为了编码的规范,很少使用if……if这样的格式,一般使用if……else或者使用switch……case语句代替。if语句的嵌套:所谓if语句嵌套即第1个if的if子句依然是if语句,第2个if的if子句依然是if语句 ,依次类推。解答:因为a=2,b=3,所以a<b。因为第一个if为...

怎么记住c语言中的何时用if(a==0)何时用if(a=0)?老忘记用a==0,谁能...
答:if(a==0)是简单的逻辑判断, a如果是0,括号里的值就为真,否则为假.if(a=0)这是可以分成2步:第一步 a=0;//让a等于0 第二步 if(a)//判断真假,当然这里肯定为假.说白了 一个=是赋值, 两个=是比较.当然这里你举的例子不太好理解.如果是下面:函数定义 int func();何时用if(a==...

C语言if(i==1||i==3)continue;
答:执行while(++i<4)这句时i原来等于0 ++i之后就等于1了 然后if(i==1||i==3)成立,continue;返回 while(++i<4)判断,此时++i=2 再if(i==1||i==3)不成立,执行j=0,执行do s原来等于0,之后执行4次循环 将a[2][0],a[2][1],a[2][2],a[2][3],4个数相加放到s中 s=11+...

c语言中 if(a=0)和 if(a==0)表达的意思相同吗
答:不同,=是赋值符号,而==是等号,就如同数学中的等号一样。if(a=0),不管怎样这都是真。if(a==0)z只有当a为0这后面语句才能执行。要注意这两个符号的运用。还有很多,例如a++,++a,--a,a--等。