基本的算术运算符
| 运算符 | 含义 | 举例 | 结果 |
|---|---|---|---|
| + | 正号运算符(单目运算符) | +a | a的值 |
| - | 负号运算符(单目运算符) | -a | a的算术负值 |
| * | 乘法运算符 | a * b | a和b的乘积 |
| / | 除法运算符 | a / b | a除以b的商 |
| % | 求余运算符 | a % b | a除以b的余数 |
| + | 加法运算符 | a + b | a和b的和 |
| - | 减法运算符 | a - b | a和b的差 |
注意:
(1)除%以外的运算符的操作数都可以是任何算数类型
(2)%运算符要求参加运算的运算对象(即操作数)为整数,结果也是整数
(3)C语言中的默认四舍五入是取整后向零靠拢
自增、自减运算符
-
作用:使变量的值加1或减1
eg:++i,--i --> 在使用i之前,先使i的值加(减)1
i++,i-- --> 在使用i之后,使i的值加(减)1 -
自增运算符(++)和自减运算符(--)只能用于变量,而不能用于常量或表达式
eg: 5++; //不合法,5是常量,常量的值不能改变
(a+b)++; //不合法,加入a+b是5,那么自增后的6放在什么地方?无变量可供存放。 -
自增和自减常用于循环语句中,使循环变量自动加一;
也用于指针变量,使指针指向下一个地址。
算术表达式和运算符的优先级与结合性
优先级归类:
初等运算符(括号等) --> 单目运算符 --> 算术运算符(先乘除、后加减)--> 关系运算符(大于号、小于号等) --> 逻辑运算符(不包括!)--> 条件运算符 --> 赋值运算符 --> 逗号运算符
数据类型转换
-
自动类型转换:当两个类型不同的数据进行运算时,会触发类型转换
(1)所有的整形数据类型如果存在float或double型数据,则自动转换类型为double,然后进行运算
(2)char型数据与整形数据进行运算,就是把字符的(ASCII)代码与整型数据进行运算。如果char数据与指数型数据进行运算时,则将ASCII代码转换为double型数据,然后进行运算。 -
强制类型转换运算符:(类型名)(表达式)
注意:在强制类型转换时,得到一个所需类型的中间数据,而原来变量的类型未发生变化。
eg:a = (int)x; //x的数据类型始终是float,但是a的数据类型是int.