目录
下一篇:c语言函数
逻辑运算
逻辑运算是对逻辑量进行的运算,结果只有0或1
逻辑量是关系运算或逻辑运算的结果

例如表达x∈(4,6),应写为x>4&&x<6,而不应该是4<x<6
判断一个字符c是否是大写字母
c>='A'&&c<='Z'
优先级: !>&&>||
优先级综合

短路:逻辑运算是自左向右进行的,如果左边的结果已经能够决定结果了,就不会做右边的计算
所以不要将赋值表达式写在逻辑运算里面
条件运算符(三目运算符)
count=(count>20)?count-10:count+10
条件满足时执行冒号前面,不满足时执行冒号后面
条件运算符的优先级高于赋值运算符,但是低于其他运算符
嵌套循环表达式

条件运算符是自右向左结合的
count=(count>20)?(count<50)?count-10:count-5:(count<10)?count+10:count+5;
printf("%d\n",count);
![]()
如何理解?count>20且count<50则count-10否则count-5,否则的话count<10 count+10否则count+5
不要用嵌套条件表达式
逗号运算符
逗号用来连接两个表达式,并以其右边的表达式的值作为它的结果。逗号的优先级是所有的运算符中最低的,所以它两边的表达式会先计算;逗号的组合关系是自左向右,所以左边的表达式会先计算,而右边的表达式的值就留下来作为逗号运算的结果
int i;
i=3+4,5+6;
printf("%d\n",i);
![]()
解读,3+4被赋给了i,而5+6没有被赋值给任何变量
i=(3+4,5+6);
![]()
这样写结果为11,右边的值被留下来作为i的赋值了
用处:在for中使用
for(i=0,j=10;i<j;i++,j--)…..
在分号里做多个运算
本文聚焦C语言中的逻辑运算、条件运算符(三目运算符)和逗号运算符。逻辑运算结果为0或1,有短路特性;条件运算符根据条件执行不同操作,优先级有特定规则;逗号运算符连接两表达式,以右边表达式值为结果,优先级最低。
2182

被折叠的 条评论
为什么被折叠?



