第一章 C++语言编程入门.ppt
文本预览下载声明
在声明一个结构变量时,也可以同时对其进行初始化。 例 1-9 (续) 联合变量声明的一般形式如下: 例 1-10 【 1.8 控制语句 】 【 1.8.1 选择语句】 例 1-15 (续) 例 1-16 例 1-17 (续) 例 1-18 改写成 2. switch 语句 例 1-19 (续) 例 1-20 (续) (续) 【 1.8.2 循环语句】 例 1-21 例 1-22 (续) 例 1-23 例 1-24 (续) 例 1-25 例 1-26 (续) 【 1.8.3 转移语句】 例 1-28 goto语句的使用形式如下: 例 1-29 计算逗号表达式的值时,从左到右先计算第1个表达式的值,再计算第2个表达式的值,…,最后计算的表达式的值和数据类型便是整个表达式的值和类型。 例如: int i; i=(10-2,8/2); 4 i的值 5. 赋值表达式 分类 基本赋值运算符: 复合赋值运算符 += -= *= /+ %= = = = ^= |= = 由赋值运算符与操作数组成的表达式就叫赋值表达式。 4. 逗号运算符 在C++中还可以连续赋值。 变量=表达式 说明:可以是C++语言中任一合法的表达式。 赋值表达式的作用就是把赋值运算符右边表达式的值赋给左边的变量。 赋值表达式的类型为左边变量的类型,其值为值后左边变量的值。 例如: X=2.6 //表达式的值为2.6 例如: X=Y=Z=2.6 说明:首先将Z赋值为2.6,表达式Z=2.6的值也为2.6,接着表达式Z=2.6的值赋给Y,使Y的值为2.6,最后X被赋值为2.6,整个表达式的值也为2.6。 复合赋值运算符是由基本赋值运算符和二元算术运算符或位运算符结合在一起构成的。 对于基本赋值运算符组成的表达式,它的一般形式是: 这些复合运算符组成表达式的一般形式为: 变量 复合赋值运算符 表达式 等价 变量 = 变量 算术运算符(或位运算符) 表达式 分解为 变量 算术运算符(或位运算符)= 表达式 例如: X*=2 //等价于X=X*2 X*=X+2//等价于X=X*(X+2) 允许在一个表达式中参与运算的操作数的数据类型不一致,即C++语言支持不同数据类型的数据之间的混合运算。在对这样的表达式求值时,需要对其中的一些操作数进行类型转换。 【 1.7.3 表达式中数据类型的转换】 如果两个操作数的类型不同,系统将自动地把其中操作数类型低的转换成和另一个相同。 表达式中的类型转换方式 隐含转换 强制转换 各种类型的高低顺序如下: int unsigned long unsigned long double char、short float 隐含转换的具体规则如下: ● char、short类型自动转换成int,float类型自动转换成double型。 ● 两个操作数中有一个为long double类型,另一个将也转换成long double类型;否则,如果其中有一个为double类型,另一个将也转换成double型;…,如上顺序从低向高转换。 1. 隐含转换 隐式转换的方向就是将一个取值范围较小的类型向取值范围较大的类型转换。它能确保在转换过程中数据不受损失。 注 类型的转换并不实际改变操作数的数据类型。它只是在计算表达式值的时候,将操作数的值临时做了转换。计算后,操作数仍保持原有的数据类型。 强制类型转换的作用是将某种类型强制地转换成指定的类型。 强制类型转换是通过强制转换运算符来实现的,具体表示形式如下: 类型说明符(表达式) 或 (类型说明符)表达式 说明:第2种是C语言所采用的风格,在C++中一般选用第1种方式。 意义为把表达式的数据类型强制转换成类型说明符所指定的类型。 2. 强制类型转换 例如: int i; float x(4.5f),y; y=x-int(x); //将float类型转换成int类型,int(x)值为4,后隐式转 换继续计算得y值为0.5 i=int(x); //将float类型转换成int类型,i的值取整数部分,为4 强制类型转换并不改变操作数的数据类型。 在表达式的类型转换中,赋值表达式是一个特例。 当出现把高类型转换成低类型时有可能造成数据精度的损失,是一种不安全的转换。 注 (续) 语句可用于计算表达式的值、控制程序执行的顺序,有时语句也可能不作任何操作(空语句)。 分类 ● 表达式语句 ● 块语句 ●
显示全部