一、关系操作符
c语言用于比较的表达式,称为“关系表达式”,里面的运算符就称为“关系运算符”。,关系运算符主要有六种。
> < >= <= == !=(不相等运算符)
重点要理解 == 相等运算符。
1、== 注意要与 = 区分开来
“ = ”表示的是赋值,从右向左赋值,例如 a = b,就是将b的值赋给a。
如下代码:
第一个 a赋值2,b赋值3,a和b不相等,if中语句为假不打印hehe
第二个 if语句中表示把d的值赋给c,c的值为5,为真,打印haha
2、不相等时表达式为假,输出为0;相等时表达式为真,输出为1.
3、当一个变量和一个常量比较大小时,为避免错误,建议将常量放在==左边。
例如判断 a == 5时,误写成 a = 5,将5的值赋给a,if语句表达式中语句执行,可能误以为二者相等;如果是5 == a,误写成 5 = a,a是变量,5是常量,不能将a的值赋给5,系统报错。
4、注意多个关系运算符最好不要连用
这个if语句中的运算逻辑是,先判断a<b,符合则这个表达式为真,表达为1,1再和c进行比较,而不是在连续判断。
连续判断正确形式如下:(&&表示并且)
二、条件操作符
条件操作符也叫三目操作符,形式如下:
exp1 ?exp2:exp3
逻辑为先执行exp1,若为真则执行exp2;若为假则执行exp3。
使用条件表达式实现找两个数的最大值:
三、逻辑运算符: &&、||、!
!逻辑取反运算符:
a为0,!a为1;a非0,!a为0。
&&逻辑与运算符,意为并且,a&&b,a和b都为真才表达。&&为双目操作符。
|| 逻辑或运算符 ,意为或者,a||b,a和b有一个为真或两个都为真都可以表达。||为单目操作符
判断闰年:
规则:1、能被4整除并且不能被100整除;
2、能被400整除。
四、短路
c语言运算符有一个特点,总是先对左侧的表达式求值,再对右边的表达式求值,如果左边的表达式已经符合逻辑运算符的条件,就不再对右边的表达式求值,称为“短路”。
仅根据左操作数的结果就能知道整个表达式的结果,不再对右操作数进行求值的运算称为短路求值。