运算符和表达式
【知识点】
- 基本的算术运算符;
- 自增、自减运算符;
- 运算符的优先级;
- *不同类型数据间的混合运算;
- *强制类型转换运算符;
【内容】
一、基本的算术运算符
- 正号运算符:+
- 负号运算符:-
- 加法运算符:+
- 减法运算符:-
- 乘法运算符:*
- 除法运算符:\
- 取余运算符: %
注意:
- 除法运算符
- 除法运算符的结果与运算对象有关
- int / int = int;
- 除数、被除数中至少有一个是浮点型数据,结果为浮点型数据。
- 除法运算符的结果与运算对象有关
- 取余运算符
- 运算对象必须为整数、结果也必须为整数。
- 结果的符号与被除数一致。
二、自增、自减运算符
自增:前自增、后自增;
- 前自增:++i
- i = i + 1;
- 先加1后赋值
- 后自增:i++
- i = i + 1;
- 先赋值后加1
自减:前自减、后自减;
- 前自减:--i
- i = i - 1;
- 先减1后赋值
- 后自减:i--
- i = i - 1;
- 先赋值后减1
三、运算符的优先级
- 算术运算中执行顺序:自左往右→
- 优先级:
- 遇到括号先算括号,再乘除取余,再加减,最后赋值;
- 优先级:
- 赋值运算中:自右往左←
- 赋值运算符优先级是最低的
- 逗号运算符:自左往右→,取最后值
- 例如:int count = (2,3,4,5);//count = 5
*四、不同类型数据间的混合运算
如果一个运算符的两侧的数据类型不同,则先自动进行类型转换,使两者具有同一类型,然后进行运算。因此整型、浮点型、字符型数据间可以进行混合运算。规律为:
- +、-、*、/运算的两个中有一个数为float或double型,结果为double型。
- 因为:系统将所有float型数据都先转换为double型,然后进行运算。
- 如果int型与float或double型数据进行运算,先把int型和float型数据转换为double型,然后进行运算,结果是double型。
- 字符型数据与整型数据进行运算,就是把字符的ASCII码值与整型数据进行运算。
- 例如: 12 + 'A'相当于12+65
- 字符型数据与浮点型数据进行运算,先把字符的ASCII码值转换为double型,然后进行运算。
*五、强制类型转换运算符
可以利用强制类型转换运算符将一个表达式转换成所需类型。
一般形式:(类型名)(表达式)
特别注意:强制类型转换,不改变原变量的值和类型,在转换过程中会产生一个临时值,该临时值在赋值后就不再存在了。
有道云笔记:C语言运算符和表达式