(作者:徐诚http://blog.youkuaiyun.com/shizhebsys保留版权)
运算符用于在程序中对常量或变量的数值进行运算操作。根据运算操作的不同,运算符可分为算术运算符、关系与逻辑运算符和位运算符。
3.2.1 算术运算符
算术运算符用于在数值间进行算术运算,其中包括加、减、乘、除和取模等基本运算。在C语言中,进行算术运算的符号见表3.4所示。
表3.4 算术运算符
| 运算符 | 说明 | 运算符 | 说明 |
| + | 加 | % | 取模 |
| - | 减,取反 | ++ | 自增 |
| * | 乘 | -- | 自减 |
| / | 除法 | = | 赋值运算符 |
算术运算符的运算规则与代数规则是相同的,例如在结合律上遵循先乘除后加减的规则。下面我们用一个简单的例子来说明算术运算符的使用方法。假设,某超市出售的奶粉每袋29.80元,卫生纸每卷2.00元,购物袋每个0.20元,我们用一个程序来计算3袋奶粉、6卷卫生纸和1个购物袋的总价钱。源代码如下所示:
#include <stdio.h>
#define MP 29.8 // 奶粉的单价
#define BUMF 2 // 卫生纸单价
#define BAG 0.2 // 购物袋单价
int main()
{
float totel_price; // 声明浮点型变量,用于存放总价格
totel_price = MP * 3 + BUMF * 6 + BAG; // 总价格计算公式
printf("%f/n", totel_price); // 输出总价格
return 0;
}
代码中,首先我们将奶粉、卫生纸和购物袋的单价设置为常量,因为这些数值通常不需要修改。然后,声明变量totel_price用于存放总价格,因为总价格中包含小数点,所以其数据类型为单精度浮点型。表达式“MP * 3 + BUMF * 6 + BAG”对应于代数表达式“奶粉 × 3 + 卫生纸 × 6 + 购物袋”。计算可知,该表达式的结果为101.60。最后,程序输出的结果即是表达式的结果。
在两个整数之间使用除法运算符进行运算,所得到的运算结果为商的小数点前的数值,小数点后的数值全部被抛弃。如果使用取模运算符在两个整数之间运算,所得到的结果为两个数相除的余数。如下例所示:
int a, b, c = 7, d = 5;
a = c / d; // 除法运算
b = c % d; // 取模运算
printf("%d/n", a);
printf("%d/n", b);
return 0;
代码中声明了4个整型变量,其中c和d在声明时已赋值。然后,使用c除以d的结果为a赋值,使用c模d的结果为b赋值。此时,a的数为1,b的值为2。
自增运算符和自减运算符是C语言特有的运算符,分别表示对操作数进行加1运算,或者减1运算。如下例所示:
char c = 'C'; // 声明字符型变量
c++; // 自增1
printf("%c", c);
该代码的运算结果为“ D”。因为, C语言内所有的字符类型数据使用 ASCII码表示。在内存中, ASCII码又是以整数形式保存。查阅 ASCII码表可知字符“ C”的值为 67,因此变量 c内的数值为 67。进行自增 1运算后,变量 c的值变为 68,对应的 ASCII码字符为“ D”。
1400

被折叠的 条评论
为什么被折叠?



