C语言中 if(a||b&&c) ......... 什么意思啊?谢谢。。

如题所述

若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);这要根据编译器来决定,不同的编译器可能有不同的结果。所以我们在以后的编程当中,应该尽量避免出现上面复杂的情况。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-17
如果表达式a是真 或者 表达式b和表达式c都是真,将执行后面语句。
||是逻辑运算符或 ,&&是逻辑运算符与
在c语言里,0代表假,非0代表真。例如a=3,b=0,c=4,那么a||b&&c 3||0&&4 将是1 是真
第2个回答  推荐于2018-02-12
1&&表示逻辑与运算
2||表示逻辑或运算;
3&&运算优先级高于||运算;
4 举例:
(3>2)||(1>2)&&(3>4)
=true||false&&false
=true||false
=true------------1本回答被提问者和网友采纳
第3个回答  2011-03-17
a或b且c
因为“且”的优先级比“或”的高,所以先判断 b且c,然后结果跟a“或”
另外c语言中非零为真,0为假。
“或” "且" "非" 这种逻辑运算具体怎么算不用多说了吧……
第4个回答  2011-03-17
|| 和&&优先级一样,所以按照从左到右的顺序来算
先算a||b 得出结果 与 c进行 &&计算
最后就可以得出结果了

C语言中 if(a||b&&c) ... 什么意思啊?谢谢。。
若a=1并且b=2(执行该步操作后,b的值加1为3)。逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。符号 功能 && 逻辑与 || 逻辑或 ! 逻辑非 当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都为真...

if(a‖b&&c)整体是什么意思?
如果c变量不为零即为真,只要a和b其中有一个不为零即真,那么这条if语句的部分就回执行

if a or b and z 在c语言是什么意思?
您好,首先要跟您说明哦,c语言中没有您上面的表达形式。c语言中if后面的条件是要写在紧跟着if的括号中的。or代表或者,and代表并且,都是逻辑运算符。在c语言中,或者用||表示,并且用&&表示。所以转化为c语言中的式子是if(a||b&&c)。在c语言中,&&的级别高于||的级别,所以这个题目是先判断...

在C语言中if(表达式)语句是怎么回事?
if(表达式) { 语句体1; } 例如: f(x>=0)y=x; f(a||b&&c) z=a+b; C+=Z;

C程序中if的使用
C语言中的if语句有三种结构,如下:if(表达式)语句;先判断表达式的值,若表达式的值为非0(真),则执行语句,否则,若表达式的值为0(假),则执行if语句之后的语句。例如:include<stdio.h>void main(){int n;scanf("%d",&n);if (n) printf("%d\\n",n+1);}样例1,输入:1 输出:2...

C语言 if(a)是什么意思
a是一个值 如果a不为0则运行if中的语句 如果a为0则不运行if里面的语句 a>b这个表达式如果成立则 a>b的值就是1 否则的话就是0 这样明白不?

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

c语言if语句
c语言中的if语句,一般有三种形式,其它的形式都在此三种形式基础上建立而来,活学活用嘛。1、 if……形式一般格式:if(表达式) 语句;语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:include <stdio.h>int ...

求解,在c语言和matble中if语句问题,如下 if(A)... if(B)... 两个或 ...
matlab是看if 和end的嵌套关系。比如C中是 if(A)if(B)或者是 if(A){if(B)那这两个含义都是一样的,都是表示如果满足的A的情况下再判断B 但是如果 if(A) 某操作;if(B) 某操作;或者是 if(A) {某操作;某操作;} if(B) ...这两个就是完全独立的 matlab看if和end的嵌套就行了。

C语言中if(a)等价与啥
if(a)和if(a!=0)等价。if(!a)和if(a==0)等价 if()……;是逻辑判断语句,如果括号内逻辑值为真,则继续执行下一条语句,否则不执行,计算机默认以“0”代表逻辑假,以“非0值”代表逻辑真。上述程序的意思就是不断从键盘向a赋值,直到赋给a的值为一个非0数,若a非0,则逻辑值为真,...

相似回答