#edu022. 第 3 节 运算符

第 3 节 运算符

C++ 语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达式使 C++ 语言功能十分完善。这也是 C++ 语言的主要特点之一。

1.赋值运算符

格式:

变量=表达式;

含义:将表达式的值赋给变量

在赋值语句的使用中,需要注意以下几点:

(1) 由于赋值运算符“=”右边的表达式也可以是赋值表达式,因此,下述形式 :

变量=(变量=表达式);

是成立的,从而形成嵌套的情形。其展开之后的一般形式为:

变量=变量=…=表达式;

例如,a=b=c=d=e=5;,它实际上等价于: e=5;d=e;c=d;b=c;a=b;

a+b=2; 是错误的,无法将 2 赋给表达式。

(2) 在进行赋值运算时,如果赋值运算符两边的数据类型不同,系统将会自动进行类型转换,即将赋值运算符右边的数据类型转换成左边的变量类型。当左边是整型而右边是实型时,将去掉小数部分并截取该整型对应的有效位数。

【上机实验】利用赋值运算符对两个变量进行交换,参考习题 交换

2.算术运算符

用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

(1)模运算符

求余的运算符 % 也称为模运算符,是双目运算符,两个操作数都是整型数。a%ba\%b 的值就是 aa 除以 bb 的余数,5%25\%2 余数为 11。其操作对象只能是整型数,而其他四种运算符对 int,float,double,char 都适用。

(2)除法运算符

C++语言的除法运算符有一些特殊之处,即如果 a、b 是两个整数类型的变量或常量,那么 a/b 的值是 a 除以 b 的商。 例如, 5/2 的值是 2,而不是 2.5,而 5.0/25/2.0 的值是 2.5

(3)自增自减运算符

自增、自减运算符用来对一个操作数进行加 1 或减 1 运算,其结果仍然赋予该操作数,而且参加运算的操作数必须是变量,而不能是常量或表达式。

1)自增运算符。例如,x++ 表示在使用 x 之后,使 x 的值加 1 ,即 x=x+1 ;++x 表示使用 x 之前,先使 x 的值加 1,即 x=x+1。

2)自减运算符。例如,x-- 表示在使用 x 之后,使 x 的值减 1,即 x=x-1;--x 表示使用 x 之前,先使 x 的值减 1,即 x=x-1。

(4)复合算术赋值。

符合算术赋值相当于缩写,例如,a+=1 相当于 a=a+1; a+=b 相当于 a=a+b 。

3.关系运算符

关系运算符用于数值的大小比较。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种,它们都是双目运算符。

关系运算符运算的结果是整型,值只有两种:0 或 1,0 代表关系不成立,1 代表关系成立。

初学者,注意区别赋值运算符 = 与等于运算符 ==。数学中 = 具有两重含义,例如 (1)令 x=0x=0 ,... (此处的 = 是赋值);(2)若 x=0x=0 ,...(此处的 = 是判断相等) ;在程序设计中,一个符号不能有歧义,赋值和判断用两个符号表示。

4.逻辑运算符

C++ 语言中提供了三种逻辑运算符:与运算(&&)、或运算(||)、非运算(!)。

5.位运算符

6.条件运算符

运算符优先级