文档详情

第2章-C++程序设计(谭浩强)电子课件.ppt

发布:2017-11-29约8.36千字共45页下载文档
文本预览下载声明
* * * * * * * * * * * * * * * * * * * * * * * * * * * (12) 成员运算符 (.) (13) 指向成员的运算符 (-) (14) 下标运算符 ([ ]) (15) 其他 (如函数调用运算符()) +(加法运算符,或正值运算符。如3+5,+3) -(减法运算符,或负值运算符。如5-2,-3) * (乘法运算符。如3*5) /(除法运算符。如5/3=1两个整数相除的结果为整数) %(模运算符,或称求余运算符,%两侧均应为整型数据,如7%4的值为3)。 2.5 算术运算符与算术表达式 2.5.1 基本的算术运算符 用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C++语法规则的式子,称C++算术表达式。运算对象包括常量、变量、函数等。例如,下面是一个合法的C++算术表达式: a*b/c-1.5+′a′ C++语言规定了运算符的优先级和结合性。在求解表达式时,先按运算符的优先级别高低次序执行,例如先乘除后加减。 如果在一个运算对象两侧的运算符的优先级别相同,如a-b+c,则按规定的“结合方向”处理。 2.5.2 算术表达式和运算符的优先级与结合性 在表达式中常遇到不同类型数据之间进行运算,如 10+′a′+1.5-8765.1234*′b′ 在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示。 2.5.3 表达式中各类数值型数据间的混合运算 在C和C++中,常在表达式中使用自增(++)和自减(--)运算符,他们的作用是使变量的值增1或减1, ++i是先执行i=i+1后,再使用i的值;而i++是先使用i的值后,再执行i=i+1。 i=3; j=++i; j=--i; j=i++; j=i--; 2.5.4 自增和自减运算符 请注意: (1) 自增运算符(++)和自减运算符(--)只能用于变量,而不能用于常量或表达式。 (2) ++和--的结合方向是“自右至左” (4) 自增(减)运算符常用于循环语句中,使循环变量自动加1。也用于指针变量,使指针指向下一个地址。 (double)a (将a转换成double类型) (int)(x+y) (将x+y的值转换成整型) (float)(5%3) (将5%3的值转换成float型) 强制类型转换的一般形式为 (类型名)(表达式) 注意: 如果要进行强制类型转换的对象是一个变量,该变量可以不用括号括起来。如果要进行强制类型转换的对象是一个包含多项的表达式,则表达式应该用括号括起来。如果写成(int)x+y 则只将x转换成整型,然后与y相加。 2.5.5 强制类型转换运算符 C++还增加了以下形式: 类型名(表达式) 如int(x) 或 int(x+y) 类型名不加括号,而变量或表达式用括号括起来。 需要说明的是在强制类型转换时,得到一个所需类型的中间变量,但原来变量的类型未发生变化。例如: #include iostream using namespace std; int main( ) { float x; int i; x=3.6; i=(int)x; cout″x=″x″,i=″ iendl; return 0;} x=3.6,i=3 赋值符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量。如“a=3”的作用是执行一次赋值操作(或称赋值运算)。把常量3赋给变量a。也可以将一个表达式的值赋给一个变量。 2.6 赋值运算符与赋值表达式 2.6.1 赋值运算符 在赋值符“=”之前加上其他运算符,可以构成复合的运算符。 a+=3 等价于 a=a+3 x*=y+8 等价于 x=x*(y+8) x%=3 等价于 x=x%3 2.6.2 复合的赋值运算符 由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”。 它的一般形式为 变量 赋值运算符 表达式 如“a=5”是一个赋值表达式。对赋值表达式求解的过程是:先求赋值运算符右侧的“表达式”的值,然后赋给赋值运算符左侧的变量。一个表达式应该有一个值。 注:左值只能是变量。 2.6.4 赋值表达式 下面是赋值表达式的例子: a=b=c=5 (赋值表达式值为5,a,b,c值均为5) a=5+(c=6) (表达式值为11,a值为11,c值为6) a=(b=4)+(c=6) (表达式值为10,a值为10,b等于4,c等于6)
显示全部
相似文档