算术运算符和关系运算符
算术运算符和算术表达式
基本的算数运算符
+ |
加法运算 |
- |
减法运算 |
* |
乘法运算 |
/ |
除法运算 |
% |
取余运算 |
注意:
%两侧只能是整数,正负性取决于%左侧的数值
整数和整数运算,结果是整数,尤其是在使用除法时需要注意会舍去小数部分
算术表达式
算术表达式是用算术运算符和括号将运算量(也称操作数)连接起来的、符合C语言语法规则的表达式。其中运算对象包括函数、常量、变量。
算术表达式的运算规则
在算术表达式中,可以使用多层圆括号,但括号必须配对。运算时从内层括号开始,由内向外依次计算各表达式的值。
在算术表达式中,对于不同优先级的运算符,可按运算符的优先级由高到低进行运算,若表达式中运算符的优先级相同,则按运算符的结合方向(算术运算符的结合方向是从左到右)进行运算。
如果一个运算符两侧的操作数类型不同,则先利用自动转换或强制转换,使两者具有相同数据类型,然后再进行运算。
关系运算(比较运算)和关系表达式
基本的关系运算符
> |
大于 |
>= |
大于等于 |
== |
等于 |
!= |
不等于 |
< |
小于 |
<= |
小于等于 |
结合性:自左向右
优先级:关系运算符中(==、!=)的优先级相等,(<、<=、>、>=)的优先级相等,且前者的优先级低于后者:2==3>1,先判断3是否大于1,再判断2是否等于1。
关系表达式
由关系运算符连成的表达式。关系运算符的两边可以是C语言中任意合法的表达式。
关系运算符的结果是一个整数值——“0或者1”,用非零值表示“真”,用零值表示“假”
当关系运算符两边值的类型不一致时,系统将自动转化。
注意:
当关系运算符两边值的类型不一致时,如一边是整型,另一边是实型,系统将自动将整型转化为实型数,然后再进行比较。
若复合语句中有关系运算式和算术运算式时,因为算术运算符的优先级高于关系运算符,所以应该先算出算术表达式的值再去判断关系表达式的值。