C 语言通过提供大量的运算符来支持我们对数据进行处理,前边我们将一个值存放到变量中,使用的是赋值运算符,就是等于号(=),上节课对字符串中的某个字符进行索引,使用方括号([])作为下标运算符实现。
这一节我们谈的是 C 语言中最常用的运算符——算数运算符。
这里有几点要跟大家说一下:
- 因为键盘上没有乘号和除号两个按键,所以用星号(*)和斜杠(/)代替,这几乎是潜规则了。
- 对于整数间的除法是采取直接舍弃小数部分的方式,而不是什么四舍五入噢。
- 对于浮点数间的除法则能获得一个相对逼近结果的值(如果除不尽或位数特别多的话)。
- 百分号(%)在这里是表示求余数的意思,但求余运算符要求两边的操作数都要是整数,其结果也是整数。
2. 何谓“目”?
大家可能看到有些运算符后边写双目,有些写单目,那么什么是目呢?
我们把被运算符作用的运算对象称之为操作数,比如 1 + 2,那么 1 和 2 就是被加法运算符(+)作用的两个操作数。我们说一个运算符是双目运算符还是单目运算符,就是看它有多少个操作数。
3. 表达式
用运算符和括号将操作数连接起来的式子,我们称之为表达式。
- 1 + 1
- 'a' + 'b'
- a + b
- a + 'b' + pow(a, b) * 3 / 4 + 5
4. 类型转换
当一个运算符的几个操作数类型不同时,编译器需要将它们转换为共同的某种数据类型,才能进行运算。
通常情况下,编译器会将占用坑位比较小的操作数,先转换为与坑位较大的操作数的相同类型,然后再进行运算。这样做的目的就是为了确保计算的精确度。
除了编译器帮你自动转换不同类型的操作数之外,C 语言还允许你强制转换操作数的数据类型。做法就是在操作数的前边用小括号将目标数据类型括起来。