打印本文 关闭窗口 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 二级C++精品课程3-1-1:C++运算符之算术运算符 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:39:58 文章录入:杜斌 责任编辑:杜斌 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
所谓运算符就是指运算的符号,例如加运算符(+)、乘运算符(*)、取地址运算符(&)等。表达式与运算符密不可分,它由运算符与操作数组合而成,并由运算符指定对操作数要进行的运算,一个表达式的运算结果是一个值。本章中,我们将介绍C++语言基本的运算符、表达式,各种运算符的优先级、结合性,以及不同数据类型的值之间的转换。 C++语言中的运算符是可以让C++语言编译器能够识别的具有运算意义的符号。编译器把这些符号及其组成的表达式翻译成相应的机器代码,就可以由计算机运行得出正确的结果。 C++提供的运算符有以下几种:算术运算符、关系运算符、逻辑运算符、位运算符、条件运算符、赋值运算符、逗号运算符、sizeof运算符及其它运算符(这是按功能分的)。不同的运算符,需要指定的操作数的个数并不相同。根据运算符需要的操作数的个数,可将其分为三种:单目运算符(一个操作数)、双目运算符(两个个操作数)和三目运算符(三个操作数)。下面,我们介绍几种基本的C++运算符。
这5个算术运算符都是双目运算符。除%运算符外,其它算术运算符的两个操作数可以是整型(short int、int、long int、unsigned short int、unsigned int或unsigned long int型)和实型(float或double型)的混合类型,运算结果的数据类型是:两个操作数的数据类型中,具有较高级别的数据类型(数据类型的级别,请参见3.3节)。例如,一个int型操作数和一个float型操作数的运算结果是float型;一个float型操作数和一个double型操作数的运算结果是double型。 当除运算符(/)的两个操作数均为整数时,所得的结果总是被圆整化为整数。例如: 在进行除运算时,需要注意右操作数,即除数应为非零值,否则就会产生浮点运算错误。编程时,我们通常用if语句判别除数是否为0,例如:
一个无符号字符型的变量 unsigned char a, b; a = 90*10; // 结果a 不等于900,而等于132,其实就是把900这个整数转化为无符号字符型数的结果,即(unsigned char )900的结果为132。 b = 200+100; // 结果 b 不等于 300,而等于44。 它们之间的优先级关系是运算符'*''/''%'相同,且优先于运算符'+'、'-'。在搞不清优先级关系时,最好用括号'('')'进行分离组合。如: (100.+20.) - (20 - 30) *40. 需要注意的是:当这些符号出现在字符串中时,就被计算机的编译器处理成字符串中的字符,而不是运算符。如:字符?quot;ab+cd-def"中的'+'和'0'就只是代表两个字符而已。 而且,'+' 、'-'运算符也可以作为单目运算符使用,如+100,-100分别表示正的100和负的100。当它们作为单目运算符时,将具有很高的运算优先级。具体可看3.2优先级和结合性一节。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
打印本文 关闭窗口 |