3.2 运算符

来源:互联网 发布:淘宝代理发货 编辑:程序博客网 时间:2024/04/30 21:43

(作者:徐诚 http://blog.csdn.net/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()

{

   floattotel_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个整型变量,其中cd在声明时已赋值。然后,使用c除以d的结果为a赋值,使用cd的结果为b赋值。此时,a的数为1b的值为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”。

原创粉丝点击