当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《C++语言》课程教学资源(PPT课件讲稿)第二章(2-6)赋值表达式和类型转换

资源类别:文库,文档格式:PPS,文档页数:36,文件大小:94KB,团购合买
含有赋值运算符的表达式叫做赋值表达式。其一般形式为: variable s expression 可以看出,在赋值表达式中,赋值运算符的左操作数必须是 个变量,而右操作数可以是任一合法的表达式。赋值表达 式的值就是其右操作数的值 由于赋值运算符要求其右操作数为一个表达式,而赋值表达 式是一个合法的表达式,所以可以将赋值表达式用做赋值运 算符的右操作数,从而构成所谓的“串连”赋值表达式。
点击下载完整版文档(PPS)

2.6赋值表达式和类型转换 261赋值表达式 含有赋值运算符的表达式叫做赋值表达式。其一般形式为 variable expression 可以看出,在赋值表达式中,赋值运算符的左操作数必须是 个变量,而右操作数可以是任一合法的表达式。赋值表达 式的值就是其右操作数的值。 由于赋值运算符要求其右操作数为一个表达式,而赋值表达 式是一个合法的表达式,所以可以将赋值表达式用做赋值运 算符的右操作数,从而构成所谓的“串连”赋值表达式。如: j=3*5

2.6 赋值表达式和类型转换 2.6.1 赋值表达式 含有赋值运算符的表达式叫做赋值表达式。其一般形式为: variable = expression 可以看出,在赋值表达式中,赋值运算符的左操作数必须是 一个变量,而右操作数可以是任一合法的表达式。赋值表达 式的值就是其右操作数的值。 由于赋值运算符要求其右操作数为一个表达式,而赋值表达 式是一个合法的表达式,所以可以将赋值表达式用做赋值运 算符的右操作数,从而构成所谓的“串连”赋值表达式。如: i = j = 3 * 5

2.6.2增量减量运算符 增量和减量运算符都是隐含有赋值操作的运算符,它们将其 操作数(必须是it或char型变量)的值加1或减1。这两 个运算符虽然都是一元运算符,但由于操作数即可以放在运 算符的左边(后置),又可以放在运算符的右边(前置), 从而使得它们对其他运算产生不同的影响。设i是一个int型 变量,则增量和减量运算符将有以下4种使用形式: 十 ∥前置增量 ∥前置减量 1+ ∥后置增量 ∥后置减量

2.6.2 增量减量运算符 ++ -- 增量和减量运算符都是隐含有赋值操作的运算符,它们将其 操作数(必须是 int 或 char 型变量)的值加 1 或减 1。这两 个运算符虽然都是一元运算符,但由于操作数即可以放在运 算符的左边(后置),又可以放在运算符的右边(前置), 从而使得它们对其他运算产生不同的影响。设 i 是一个 int 型 变量,则增量和减量运算符将有以下 4 种使用形式: ++ i // 前置增量 -- i // 前置减量 i ++ // 后置增量 i -- // 后置减量

对于单个增减量表达式所构成的语句来说,前置和后置的运算 结果是没有什么区别的。而对于还包含有其他运算的表达式来 讲,前置和后置的运算结果将会产生不同的效果。 例 3 j=i+;/j的值为3,i的值为4 k=++i;∥k的值为5,i的值为5 注意:由于不同的编译器对增减量运算符处理的不同,所以类 似以下的用法将存在移植性问题。 cout <<i ++< 't' <<i++<< endl

对于单个增减量表达式所构成的语句来说,前置和后置的运算 结果是没有什么区别的。而对于还包含有其他运算的表达式来 讲,前置和后置的运算结果将会产生不同的效果。 例: //… i = 3; j = i ++; // j 的值为 3,i 的值为 4 k = ++ i; // k 的值为 5,i 的值为 5 注意:由于不同的编译器对增减量运算符处理的不同,所以类 似以下的用法将存在移植性问题。 cout << i ++ << '\t' << i ++ << endl;

2.6.3复合赋值运算符 / = > 复合赋值运算符均是二元运算符,它们的运算过程为:先将运 算符左右操作数的值进行运算符所规定的算术或位运算,然后 将运算的结果赋给左操作数 例 +=2;∥等效于:i++;i++ 1*=i+j;∥等效于:t=i+j;i=i*t

2.6.3 复合赋值运算符 += -= *= /= %= &= |= ^= >= 复合赋值运算符均是二元运算符,它们的运算过程为:先将运 算符左右操作数的值进行运算符所规定的算术或位运算,然后 将运算的结果赋给左操作数。 例: i += 2; // 等效于:i ++; i ++ i *= i + j; // 等效于:t = i + j; i = i * t;

2.64表达式中的类型转换 C++语言支持不同数据类型的混合运算。当一个表达式中存 在不同类型的数据时,编译器会自动地对数据进行转换,以 使所有参加运算的数据之类型趋于相同,从而保证运算的精 度。自动转换的一般原则是短数据被转换成长数据。 例 应当说明的是,类型转换都是临时性 f=i+j*0.5 的,转换并不改变变量的数据类型, 仅改变变量的值。因此,使用不当有 double 可能导致数据精度的丧失。例如:设 ,j是int型变量,j的值为3,则 1=j*0.3 double 后,i的值为0

2.6.4 表达式中的类型转换 C++ 语言支持不同数据类型的混合运算。当一个表达式中存 在不同类型的数据时,编译器会自动地对数据进行转换,以 使所有参加运算的数据之类型趋于相同,从而保证运算的精 度。自动转换的一般原则是短数据被转换成长数据。 例: f = i + j * 0.5 double double 应当说明的是,类型转换都是临时性 的,转换并不改变变量的数据类型, 仅改变变量的值。因此,使用不当有 可能导致数据精度的丧失。例如:设 i,j 是 int 型变量,j 的值为 3,则: i = j * 0.3 后,i 的值为 0

2.65强制类型转换 编译器的自动类型转换可控性较差,有时甚至不能满足程序 的需要。比如:设i为int型变量,其值为5;f为foat型变 f=i/4+20.3 后,f的值为213而不是预期的2155 强制类型转换(cast)是解决这一类问题的有效手段,其 般形式为: (type)expression t type(expression) 例 f=foat()/4+20.3 f=i/4.0+20.3

2.6.5 强制类型转换 编译器的自动类型转换可控性较差,有时甚至不能满足程序 的需要。比如:设 i 为 int 型变量,其值为 5;f 为 float 型变 量。则 f = i / 4 + 20.3 后,f 的值为 21.3 而不是预期的 21.55。 强制类型转换(cast)是解决这一类问题的有效手段,其一 般形式为: (type)expression 或 type(expression) 例: f = float(i) / 4 + 20.3 f = i / 4.0 + 20.3

27简单变量的初始化 2.7.1变量的初始化 初始化就是指在说明变量的同时为它指定一个初值,其一般 形式为: storage type var- name=expression, 例 int i=3,J=5 C+语言还允许采用以下的形式来初始化变量 storage type var_ name(expression); 例 inti(3),j(5);

2.7 简单变量的初始化 2.7.1 变量的初始化 初始化就是指在说明变量的同时为它指定一个初值,其一般 形式为: type var_name = expression; 例: int i = 3, j = 5; C++ 语言还允许采用以下的形式来初始化变量: type var_name(expression); 例: int i(3), j(5);

2.7.2 const和 volatile修饰 关键字 const和 volatile是C++语言的两个类型修饰符,他 们均可以用来修饰变量,前者还可以修饰函数。 被 const修饰的变量叫做常量标识符,即该变量虽然具有变 量的形式,但其值是不允许修改的。因此,必须对常量标识 符进行初始化。 例 const int i= 5: i=3 ∥非法操作 volatile修饰符由于涉及底层操作,且极少使用,这里就不做 进一步介绍

2.7.2 const 和 volatile 修饰符 关键字 const 和 volatile 是 C++ 语言的两个类型修饰符,他 们均可以用来修饰变量,前者还可以修饰函数。 被 const 修饰的变量叫做常量标识符,即该变量虽然具有变 量的形式,但其值是不允许修改的。因此,必须对常量标识 符进行初始化。 例: const int i = 5; //… i = 3; // 非法操作 volatile 修饰符由于涉及底层操作,且极少使用,这里就不做 进一步介绍

第3章程序控制语句 3.1C++语言的语句 3.1.1C++语句的基本形式 C++语句的基本形式就是一个表达式后跟一个分号(“;”) 例 a=b+c ∥典型语句 ∥合法语句,但无实用价值 空语句 C+语言中,变量说明也是语句,因此它可以出现在任何语 句可以出现的地方

第3章 程序控制语句 3.1 C++ 语言的语句 3.1.1 C++ 语句的基本形式 C++ 语句的基本形式就是一个表达式后跟一个分号(“;”)。 例: a = b + c; // 典型语句 i + j; // 合法语句,但无实用价值 ; // 空语句 C++ 语言中,变量说明也是语句,因此它可以出现在任何语 句可以出现的地方

3.1.2块语句 块语句也叫复合语句,它是用一对花括号括起来的多条语句, 而在语法上却等效于一条语句。 int t= a a = b b= t

3.1.2 块语句 块语句也叫复合语句,它是用一对花括号括起来的多条语句, 而在语法上却等效于一条语句。 例: //… { int t = a; a = b; b = t; }

点击下载完整版文档(PPS)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共36页,可试读12页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有