C语言的运算符

1

圆括号,下标,指向结构成员,结构成员自左而右
2逻辑非,按位取反,自增,自减,负号,类型转换,指针,取地址,长度1自右而左
3乘法,除法(整除),求余2自左而右
4加法,减法2自左而右
5左移,右移2自左而右
6关系2自左而右

7

等于,不等于2自左而右
8按位与2自左而右
9按位异或2自左而右
10按位或2自左而右
11逻辑与2自左而右
12逻辑或2自左而右

13

条件3自右而左
14赋值2自右而左
15逗号自左而右

第二列本来应该列出运算符的,但因为笔者自己也是初学者,部分符号还未曾了解过,暂时不知道如何输入,所以先不展示出来。讲到对应运算符的时候,再把符号展示出来。

表格中优先级自上而下降低,相同优先级的符号根据结合方向来确定运算顺序。大多数运算符的结合方向是自左而右,例如加减法,所以在没有括号的情况下,加减混合运算按从左往右计算。注意少部分运算符是按从右往左运算的。


表达式

这里毕竟不是正规的科研或教学,所以不给严格定义。粗略讲,可以看成分号(;)前面的一大串就是一个表达式。或者再粗略一点,类似于数学整式或等式的形式的一块是表达式。

为什么这里非要讲表达式呢?因为每个表达式都有一个值,值由表达式的运算决定。一般对于只含加、减、乘、除、求余的表达式,表达式的值就是运算的结果。即使不使用“=”,“1+1”与“2”依然被视为等价的、一模一样的,printf("%d",2);与printf("%d",1+1);输出的结果是一样的。

那些含非数学运算的运算符的式子同样也有值,包括函数也有值(就是上一篇文章讲到的回归值),这些会在后面的文章中逐一讲,这里先知晓其存在。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值