c语言运算符

本文聚焦C语言中的逻辑运算、条件运算符(三目运算符)和逗号运算符。逻辑运算结果为0或1,有短路特性;条件运算符根据条件执行不同操作,优先级有特定规则;逗号运算符连接两表达式,以右边表达式值为结果,优先级最低。

目录

逻辑运算

条件运算符(三目运算符)

逗号运算符

下一篇: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--)…..

在分号里做多个运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值