#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)模运算符
求余的运算符 %
也称为模运算符,是双目运算符,两个操作数都是整型数。 的值就是 除以 的余数, 余数为 。其操作对象只能是整型数,而其他四种运算符对 int,float,double,char
都适用。
(2)除法运算符
C++语言的除法运算符有一些特殊之处,即如果 a、b
是两个整数类型的变量或常量,那么 a/b
的值是 a
除以 b
的商。 例如, 5/2
的值是 2
,而不是 2.5
,而 5.0/2
或 5/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)令 ,... (此处的 = 是赋值);(2)若 ,...(此处的 = 是判断相等) ;在程序设计中,一个符号不能有歧义,赋值和判断用两个符号表示。
4.逻辑运算符
C++ 语言中提供了三种逻辑运算符:与运算(&&
)、或运算(||
)、非运算(!
)。