算术运算符
C语言的算术运算符包括 +、-、*、/、%、+(取正)、-(取负)。
优先级如下:
1、单目运算符+、-的优先级相同,结合性是从右至左。
2、双目运算符*、/、% 的优先级相同,结合性是从左至右。
3、双目运算符+、-的优先级相同,结合性是从左至右。
4、单目算术运算符优先于双目算术运算符。
5、*、/、%优先于+、-。
需要注意以下几点:
1、除法运算的结果和运算对象的数据类型有关,若两个整数相除,则运算称为整除,其商为整数,小数部分被舍弃。若运算对象有实型,则运算结果是实型。
2、模运算,要求两侧的运算对象必须为整型,否则出错。运算结果(即余数)的符号与被除数的符号相同。
自增、自减运算符
自增和自减运算符分别是 ++ 和 --,它们都是单目上运算符,用于对整型、字符型和指针型变量的值加1和减1的运算,运算结果仍是原来的数据类型。自增、自减运算符和运算对象组成表达式时,自增和自减运算符既可以放在运算对象的前面(前缀),也可以放在运算对象的后面(后缀)。
//前缀,先将a的值加1,再参与运算
++a
//后缀,先参与运算,再将a的值加1
a++
使用自增和自减运算符时,需要注意以下几点:
1、自增、自减运算,常用于循环语句中,使循环控制变量加/减1,以及指针变量中,使指针指向下/上一个地址。
2、自增、自减运算符,不能用于常量和表达式。例如:5++、--(a+b)等都是非法的。
3、在表达式中连续使同一个变量进行自增或自减运算时,很容易出错,所以最好避免这种用法。
自增和自减运算符的优先级如下:
1、自增和自减运算符优先于双目算术运算符。
2、自增、自减运算符和单目算术运算符+、-的优先级相同,结合性是从右至左。
算术表达式
表达式中的运算符都是算术运算符的称为算术表达式,通常算术表达式由运算对象(常量、变量和函数等)、圆括号和算术运算符组成。
//算术表达式
3+9
(x+y)/2-1
算术表达式的构成规则:
1、数值型常量、数值型变量和数值型函数调用。
2、+(算术表达式)、-(算术表达式)。
3、++整型变量、--整型变量、整型变量++、整型变量--。
4、(算术表达式)双目算术运算符(算术表达式)。
5、有限次地使用上述规则获得的表达式都是算术表达式。
算术表达式的类型可以是整型、单精度实型和双精度实型。