面向对象程序设计C++第2章-数据类型和表达式.ppt

上传人(卖家):三亚风情 文档编号:3385537 上传时间:2022-08-26 格式:PPT 页数:44 大小:3.78MB
下载 相关 举报
面向对象程序设计C++第2章-数据类型和表达式.ppt_第1页
第1页 / 共44页
面向对象程序设计C++第2章-数据类型和表达式.ppt_第2页
第2页 / 共44页
面向对象程序设计C++第2章-数据类型和表达式.ppt_第3页
第3页 / 共44页
面向对象程序设计C++第2章-数据类型和表达式.ppt_第4页
第4页 / 共44页
面向对象程序设计C++第2章-数据类型和表达式.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、 第7章 继承与派生 第8章 多态和虚函数 第9章 模板和异常处理 第10章 文件的输入输出 第11章 Visual C+编程基础目录页目录页 Contents page 第1章 绪论 第2章 数据类型和表达式 第3章 控制结构 第4章 复合数据类型 第5章 函数 第12章 MFC应用程序实例 第6章 类与对象 目 录 页第第2 2章章数据类型和表达式数据类型和表达式学习目标学习目标u 了解C+语言的基本字符、标识符和关键字u 了解C+语言的编程规范u 掌握C+语言的基本数据类型、常量和变量u 掌握C+语言的运算符、表达式及使用方法 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.

2、1 关键字和标识符2.1.1 关键字关键字关键字也称保留字,是一种有特殊用途的标识符。是由系统预先定义好的字符序列,具关键字也称保留字,是一种有特殊用途的标识符。是由系统预先定义好的字符序列,具有特殊的含义及用法,不能用于变量名或函数名等。有特殊的含义及用法,不能用于变量名或函数名等。C+的常见关键字如表的常见关键字如表2-1所示。所示。表表2-1 C+关键字关键字 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.2 基本数据类型C+语言的数据类型分为基本数据语言的数据类型分为基本数据类型、构造数据类型和引用类型,如图类型、构造数据类型和引用类型,如图2-1所示。基本数据类型是所示

3、。基本数据类型是C+系统内部系统内部的数据类型,构造类型和引用类型都是的数据类型,构造类型和引用类型都是由基本数据类型建立起来的。由基本数据类型建立起来的。图图2-1 C+的数据类型的数据类型 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.2 基本数据类型2.2.1 整型数据整型数据1整型的类别整型的类别在在C+语言中,整型数据分为基本整型、短整型、长整型语言中,整型数据分为基本整型、短整型、长整型3大类。其中每一类又大类。其中每一类又分为无符号分为无符号和有符和有符号号2种,如种,如表所表所示。示。表表2-2 整型整型数据的分类数据的分类 目 录 页第第2 2章章数据类型和表达

4、式数据类型和表达式2.2 基本数据类型2整型数据在内存中的存储形式整型数据在内存中的存储形式整型数据是以二进制数补码的形式存储的。对有符号数据,则存储单元的最高位为符号位,整型数据是以二进制数补码的形式存储的。对有符号数据,则存储单元的最高位为符号位,1表表示负数,示负数,0 表示正数。对无符号数据,则没有符号位,所有的存储单元均为数据位。假设用表示正数。对无符号数据,则没有符号位,所有的存储单元均为数据位。假设用32个二进个二进制位(制位(bit)存放一个)存放一个int型数据,则有符号数据和无符号数据在内存中占用存储单元的情况如图型数据,则有符号数据和无符号数据在内存中占用存储单元的情况如

5、图2-2所所示。示。图图2-2 整型数的存储形式整型数的存储形式 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.2 基本数据类型3求补码的方法求补码的方法在计算机中,整数有原码、反码和补码在计算机中,整数有原码、反码和补码3种表示方法:种表示方法:(1)一个正数的反码和补码与原码相同一个正数的反码和补码与原码相同(2)负数的原码就是把符号位数值化负数的原码就是把符号位数值化(3)负数的反码,其原码的符号位不变,其它位按位取反负数的反码,其原码的符号位不变,其它位按位取反(4)负数的补码是反码末位(最右端位)加负数的补码是反码末位(最右端位)加1。目 录 页第第2 2章章数据类型和

6、表达式数据类型和表达式2.2 基本数据类型2.2.2 实型数据实型数据1实型数据的类别实型数据的类别实型也称之为浮点型。在实型也称之为浮点型。在C+语言中,实型数据分为单精度(语言中,实型数据分为单精度(float)、双精度()、双精度(double)和长双)和长双精度(精度(long double)3种。实型数均为有符号数据,如表种。实型数均为有符号数据,如表2-3所示。所示。表表2-3 实型数据的分类实型数据的分类 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.2 基本数据类型2.2.2 实型数据实型数据2.实型数据的存储形式实型数据的存储形式实型数据在内存中是以指数形式存放

7、的。系统把一个实型数据分成小数部分和指数部分分别存放。实型数据在内存中是以指数形式存放的。系统把一个实型数据分成小数部分和指数部分分别存放。其中,指数部分采用规范化的指数形式其中,指数部分采用规范化的指数形式。例如例如,实型数据,实型数据3.14159=+0.314159X101在内存中的存放形式如图在内存中的存放形式如图2-5所示。所示。图图2-5 实型数据的存储形式实型数据的存储形式 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.2 基本数据类型2.2.2 实型数据实型数据.字符型数据的存储形式字符型数据的存储形式在内存中,一个字符型数据占用一个字节(在内存中,一个字符型数据

8、占用一个字节(8 8位),以位),以ASCIIASCII码(的二进制)形式存放码(的二进制)形式存放。2 2字符数据与整数通用字符数据与整数通用char char 型数据的型数据的ASCIIASCII码的取值范围为码的取值范围为-128-128127127,其最高位是符号位。如果使用,其最高位是符号位。如果使用ASCIIASCII码为码为0 0127127之间的字符,因为最高位为之间的字符,因为最高位为0 0,所以在用整数格式,所以在用整数格式%d%d输出时,输出一个正整数。如果使用输出时,输出一个正整数。如果使用128128255255之之间的字符,因为最高位为间的字符,因为最高位为1 1,

9、所以在用整数格式,所以在用整数格式%d%d输出时,输出一个负整数。输出时,输出一个负整数。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.3 常量与变量2.2.2 实型数据实型数据(2)(2)整型常量的表示整型常量的表示整型常量可以用十进制数、八进制数、十六进制三种形式书写。整型常量可以用十进制数、八进制数、十六进制三种形式书写。八进制整数八进制整数八进制数使用八进制数使用0(0(零零)作前缀修饰。八进制所含的数字是作前缀修饰。八进制所含的数字是0 07 7。例如例如:OctaNum2=0571;/OctaNum2=0571;/正确,在常量前面加上正确,在常量前面加上0 0进行修饰

10、进行修饰OctaNum4=0591;/OctaNum4=0591;/错误,含有非八进制数错误,含有非八进制数9 9 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.3 常量与变量2.2.2 实型数据实型数据(2)(2)整型常量的表示整型常量的表示整型常量可以用十进制数、八进制数、十六进制三种形式书写。整型常量可以用十进制数、八进制数、十六进制三种形式书写。十六进制整数十六进制整数十六进制使用十六进制使用0 x0 x或或0X0X作前缀。十六进制所含的数字是作前缀。十六进制所含的数字是0 09 9以及字母以及字母A AF(F(或或a af)f)。例如:。例如:HexNum2=0 x59

11、af;/HexNum2=0 x59af;/正确,在常量前面加上正确,在常量前面加上0 x0 x进行修饰进行修饰HexNum4=0 x59ak;/HexNum4=0 x59ak;/错误,含有非十六进制数的字母错误,含有非十六进制数的字母k k 十进制整数十进制整数十进制常量是不需要在前面添加前缀的。十进制所含的数字是十进制常量是不需要在前面添加前缀的。十进制所含的数字是0 09 9。例如:。例如:AlgorismNum1=123;AlgorismNum1=123;目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.3 常量与变量【例例2.3】三种进制表示方法的转换。三种进制表示方法的转换

12、。#include iostream.hvoid main()int x=1234,y=01234,z=0 x1234;cout 十进制十进制:decx=x,y=y,z=zendl;/dec:十进制格式符输出十进制格式符输出 cout 八进制八进制:octx=x,y=y,z=zendl;/oct:八进制格式符输出八进制格式符输出 cout十六进制十六进制:hexx=x,y=y,z=zendl;/hex:十六进制格式符输出十六进制格式符输出运行结果如图运行结果如图2-7所示。所示。图图2-7 三种进制格式的输出三种进制格式的输出 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.3 常

13、量与变量3.字符常量字符常量字符型常量是用一对单引号(即撇号)括起来的单个字符,在内存中占一个字节字符型常量是用一对单引号(即撇号)括起来的单个字符,在内存中占一个字节。例如例如:a,b,1,$,A、#/正确的字符常量正确的字符常量 AB、AB、a /错误的字符常量错误的字符常量 一个字符常量的值是该字符对应的一个字符常量的值是该字符对应的ASCII码值。码值。例如,字符常量例如,字符常量a z 对应的对应的ASCII编码值是编码值是97123;字符常量;字符常量09 对应的对应的ASCII编码值是编码值是4857。显然。显然0与数字与数字0是不同的。是不同的。C+语言中还允许一种特殊形式的字

14、符常量,即以反斜线语言中还允许一种特殊形式的字符常量,即以反斜线“”开头的字符序列,称为转义字符。开头的字符序列,称为转义字符。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.3 常量与变量常用的转义字符见表常用的转义字符见表 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.3 常量与变量4符号常量符号常量使用使用符号常量可以使数据含义清楚,同时也便于该数据的修改。符号常量的定义形式:符号常量可以使数据含义清楚,同时也便于该数据的修改。符号常量的定义形式:#define 符号常量标识符符号常量标识符 常量值常量值例如例如:#define NULL 0 /定义符号常量定义

15、符号常量NULL代表代表0#define PI 3.14159 /定义符号常量定义符号常量PI代表代表3.141595.布尔型常量布尔型常量布尔布尔型常量只有型常量只有2个,即个,即true和和false,分别代表分别代表“真真”和和“假假”。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.3 常量与变量6.字符串常量字符串常量字符串常量是用双引号括起来的字符序列。比如:字符串常量是用双引号括起来的字符序列。比如:CHINA,teacher and student,12345.456,a等都是字符串常量。等都是字符串常量。字符串常量一般用一个字符数组(参见第字符串常量一般用一个字符

16、数组(参见第4章)来存储,每个字符占一个字节,存放其对应的章)来存储,每个字符占一个字节,存放其对应的ASCII码。字符串常量在内存中存储时,系统自动加上串尾标志码。字符串常量在内存中存储时,系统自动加上串尾标志0。每个字符串常量在内存中占用的存储单元每个字符串常量在内存中占用的存储单元数目数目应应为该字符串长度(字符个数)加为该字符串长度(字符个数)加1。例如例如,CHINA的存储形式如图的存储形式如图2-8所示。所示。图图2-8 字符串字符串CHINA存储形式存储形式 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.3 常量与变量2.3.2 变量变量变量是指在程序运行过程中,其

17、值可以改变的量。使用变量前必须先定义(声明),变量是用来变量是指在程序运行过程中,其值可以改变的量。使用变量前必须先定义(声明),变量是用来保存常量的。变量有三个要素:名称、类型和值。保存常量的。变量有三个要素:名称、类型和值。1变量的名字变量的名字变量名字是一个标识符,所以必须符合标识符的命名规则。变量名字是一个标识符,所以必须符合标识符的命名规则。例如:例如:a,_abc,、AREA、x1、x2 /合法的变量名合法的变量名4ac、#g、a+1、fn!a、a$/不合法的变量名不合法的变量名 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.3 常量与变量2变量的定义变量的定义变量在

18、使用之前必须先定义,要声明自己的数据类型、存储类型。变量在使用之前必须先定义,要声明自己的数据类型、存储类型。变量的定义格式为:变量的定义格式为:例如:例如:int iSum,iLength,x,y;/定义定义4个整型变量个整型变量iSum,iLength,x,ychar ch;/定义定义1个字符型变量个字符型变量chfloat fSum,fWidth;/定义定义2个实型(单精度)变量个实型(单精度)变量fSum,fWidthdouble u,v;/定义定义2个实型(双精度)变量个实型(双精度)变量u,v 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.3 常量与变量3变量赋初值变

19、量赋初值当使用变量时,变量必须有值。当使用变量时,变量必须有值。C+语言允许在定义变量的同时使变量初始化语言允许在定义变量的同时使变量初始化。如如:int a=2;/定义定义a为整型变量,初值为为整型变量,初值为2char b=A;/定义定义b为字符型变量,初值为为字符型变量,初值为Afloat x=2.1234F;/定义定义x为实型变量,初值为为实型变量,初值为2.1234F也可对定义的部分变量进行初始化也可对定义的部分变量进行初始化。如如int u,v=100,w;/定义定义u,v,w为整型变量,为整型变量,v的初值为的初值为100 目 录 页第第2 2章章数据类型和表达式数据类型和表达式

20、2.3 常量与变量4const型变量型变量变量的值可以随时变化,即按需要给变量重新赋值。但有时为了保护变量的值,不允许对变量作变量的值可以随时变化,即按需要给变量重新赋值。但有时为了保护变量的值,不允许对变量作修改,则需要将变量说明成常量,具体方法是在变量定义语句前面修改,则需要将变量说明成常量,具体方法是在变量定义语句前面(或类型与变量之间或类型与变量之间)加说明符加说明符const。例如:例如:const float PI=3.14;int const MaxCout=100;常变量定义时必须初始化。在使用常变量定义时必须初始化。在使用const型变量时,除了不可以给它赋值外,其他均与使用

21、一般变型变量时,除了不可以给它赋值外,其他均与使用一般变量一样。量一样。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4.1 算术运算符和算术表达式算术运算符和算术表达式C+语言的算术运算符包括基本算术运算符、强制类型转换运算符和自增、自减运算符。语言的算术运算符包括基本算术运算符、强制类型转换运算符和自增、自减运算符。1.基本算术运算符基本算术运算符 基本算术运算符及其功能如表基本算术运算符及其功能如表2-6所所示。示。表表 2-6 基本算术运算符基本算术运算符 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.自增、自减运

22、算符自增、自减运算符自增、自减运算符是单目运算符,即对一个运算对象施加运算,运算结果仍赋予该对象。如表自增、自减运算符是单目运算符,即对一个运算对象施加运算,运算结果仍赋予该对象。如表2-7所示。所示。表表2-7 自增、自减运算符自增、自减运算符 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式3.算术表达式算术表达式用算术运算符和括号将运算对象(也称操作数)连接起来的式子,称为算术表达式。运算对象可用算术运算符和括号将运算对象(也称操作数)连接起来的式子,称为算术表达式。运算对象可以是常量、变量、函数等以是常量、变量、函数等。4.运算优先级和结合性运算优先级和结

23、合性在在表达式求值时,先按运算符的优先级别高低次序执行,再按运算符的结合方向结合(相同优先表达式求值时,先按运算符的优先级别高低次序执行,再按运算符的结合方向结合(相同优先级时),例如,先乘除后加减。算术运算符的优先级和结合性如表级时),例如,先乘除后加减。算术运算符的优先级和结合性如表2-8所所示。示。表表2-8 算术运算算术运算符的优先级和结合性符的优先级和结合性 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4.2 关系运算符与关系表达式关系运算符与关系表达式1关系运算符关系运算符“关系运算符关系运算符”实际上就是实际上就是“比较运算符比较运算符”。关

24、系运算的结果为逻辑值(。关系运算的结果为逻辑值(true或或false)。如表)。如表2-910所示,所示,C+语言中提供语言中提供6种关系运算符:种关系运算符:,=,=,!=。(1)优先级别顺序是:自上而下,优先级由高到低。优先级别顺序是:自上而下,优先级由高到低。(2)同级运算符的结合性是同级运算符的结合性是“左结合性左结合性”,即,即“自左向右自左向右”顺序进行。顺序进行。关系运算的优先级都低于关系运算的优先级都低于算术类,高于赋值类。例如:算术类,高于赋值类。例如:a b+c 等效于等效于 a (b+c)a=b+c 等效于等效于 a=(b+c)(3)关系运算符关系运算符=,=,!=在书

25、写时,不要空格将其分开,否则会产生语法错误。在书写时,不要空格将其分开,否则会产生语法错误。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4.2 关系运算符与关系表达式关系运算符与关系表达式1关系关系运算符运算符表表2-9 关系运算符关系运算符 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2关系表达式关系表达式关系表达式是用关系运算符连接两个表达式构成关系表达式是用关系运算符连接两个表达式构成。一般一般形式为:形式为:该表达式执行时,先计算该表达式执行时,先计算“表达式表达式1”和和“表达式表达式2”的值,然后进行比较,运算

26、结果为的值,然后进行比较,运算结果为true(真)(真)或为或为false(假),分别用非(假),分别用非0(true)或)或0(false)表示。表示。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式1逻辑运算符逻辑运算符逻辑运算可以表示运算对象的逻辑关系。表逻辑运算可以表示运算对象的逻辑关系。表2-10给给出了出了C+语言中语言中3种逻辑运算符、功能及运算规种逻辑运算符、功能及运算规则。则。表表2-10 辑运算符辑运算符 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4

27、.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式辑运算符中,辑运算符中,“!”优先级最高,而且高于算术运算和关系运算符;其次是优先级最高,而且高于算术运算和关系运算符;其次是“&”,“|”最低。最低。“&”和和“|”都低于算术运算和关系运算符。都低于算术运算和关系运算符。表表2-11 逻辑运算逻辑运算“真值表真值表”目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2逻辑表达式逻辑表达式用逻辑运算符连接起来的式子称为逻辑表达式。一般形式为:用逻辑运算符连接起来的式子称为逻辑表达式。一般形式为:!表达式!表达式1或:或:表达式表达式1&表达式表达式2或:或:表达式表

28、达式1|表达式表达式2例如例如:!x ,x&y,x|y 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2逻辑表达式逻辑表达式(1)逻辑量的真假判定逻辑量的真假判定和非和非逻辑运算的结果是逻辑值真或假。对于逻辑表达式而言,参加运算的量可以是任何类型的量,在逻辑运算的结果是逻辑值真或假。对于逻辑表达式而言,参加运算的量可以是任何类型的量,在进行判断时系统视非零值为进行判断时系统视非零值为“真真”,零值为,零值为“假假”;而关系运算或逻辑运算的结果若为;而关系运算或逻辑运算的结果若为“真真”其值为其值为1,若为若为“假假”其值为其值为0,结果值是无符号整数,又可参与其

29、后的运算。,结果值是无符号整数,又可参与其后的运算。(2)逻辑运算符两侧的操作数,除可以是和非的整数外,也可以是其它任何类型的数据,如逻辑运算符两侧的操作数,除可以是和非的整数外,也可以是其它任何类型的数据,如实型、字符型等。实型、字符型等。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4.4 位运算符和位运算位运算符和位运算所谓位(所谓位(bit)运算,是指对一个数据的某些二进制位进行的运算。每个二进制位只能存放)运算,是指对一个数据的某些二进制位进行的运算。每个二进制位只能存放1位二位二进制数进制数“0”或者或者“1”。通常把组成一个数据的最右边的二进制

30、位称做第。通常把组成一个数据的最右边的二进制位称做第0位,从右到左以此称为第位,从右到左以此称为第1位,位,第第2位位最左边一位称做最高位最左边一位称做最高位。C+语言提供语言提供6种位运算符,如表种位运算符,如表2-12所所示。示。表表2-12 位运算符及含义位运算符及含义 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式1.按位与(按位与(&)运算符运算符“&”将两个运算量的对应二进制位进行将两个运算量的对应二进制位进行“逻辑与逻辑与”运算。当且仅当参加运算的两个对象的运算。当且仅当参加运算的两个对象的对应二进制位都为对应二进制位都为1时,结果的对应二进制位为

31、时,结果的对应二进制位为1,否则为,否则为0。2.按位或按位或(|)运算符运算符“”将两个运算对象按对应二进制位进行将两个运算对象按对应二进制位进行“逻辑或逻辑或”运算。即,当参加运算的两个对象运算。即,当参加运算的两个对象的对应二进制位有一个为的对应二进制位有一个为“1”时,结果的对应二进制位为时,结果的对应二进制位为“1”。3.按位异或(按位异或()运算符运算符“”将两个运算对象按对应二进制位进行将两个运算对象按对应二进制位进行“逻辑异或逻辑异或”运算,即当参加运算的两个对象的运算,即当参加运算的两个对象的相应二进制位一个为相应二进制位一个为“0”,另一个为,另一个为“1”时,结果的对应二

32、进制位为时,结果的对应二进制位为1,否则为,否则为0。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式4.按位取反按位取反()运算符运算符“”为一元运算符,它将运算对象的各位取反,即将为一元运算符,它将运算对象的各位取反,即将1变变0,0变变1。5.左移运算符左移运算符()右移运算的一般格式为:右移运算的一般格式为:右移运算符将运算对象的每个二进制位同时向右移动指定的位数,从右边移出的低位部分被丢弃。右移运算符将运算对象的每个二进制位同时向右移动指定的位数,从右边移出的低位部分被丢弃。对无符号数,左边空出的高位补对无符号数,左边空出的高位补0;对有符号数,正数的高

33、位部分补;对有符号数,正数的高位部分补0,负数高位部分补,负数高位部分补0还是还是1跟计算跟计算机系统有关。移入机系统有关。移入0的称为的称为“逻辑右移逻辑右移”,移入,移入1的称为的称为“算术右移算术右移”。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4.5 条件运算符条件运算符条件运算符条件运算符“?:?:”是是C+语言中唯一的一个具有语言中唯一的一个具有3个操作数的运算符,其与表达式格连接的式子个操作数的运算符,其与表达式格连接的式子叫条件表达式叫条件表达式。一般一般格式如下:格式如下:功能:首先计算表达式功能:首先计算表达式1的值,如果表达式的值,

34、如果表达式1的值为非的值为非0(真真),则整个条件表达式的值取表达式,则整个条件表达式的值取表达式2的的值;否则,整个条件表达式的值取表达式值;否则,整个条件表达式的值取表达式3的值。的值。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4.6 赋值运算符和赋值表达式赋值运算符和赋值表达式1.赋值运算符赋值运算符在在C/C+语言中,等号语言中,等号“=”被作为是一种运算符,称为赋值运算符。被作为是一种运算符,称为赋值运算符。一般形式:一般形式:功能:功能:将右边表达式的值赋给左边的变量将右边表达式的值赋给左边的变量。例如例如:a=13;/将右边数据将右边数据1

35、3值赋给左边的变量值赋给左边的变量a x=a+15;/将右边表达式将右边表达式(a+15)的值的值28赋给左边的变量赋给左边的变量x 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4.6 赋值运算符和赋值表达式赋值运算符和赋值表达式2.复合赋值运算符复合赋值运算符在赋值运算符的前面加上一个其它运算符后就构成复合的赋值运算符。在赋值运算符的前面加上一个其它运算符后就构成复合的赋值运算符。一般形式:一般形式:等价于:等价于:目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式3.赋值表达式赋值表达式由赋值运算符将一个变量和一个表达式连接

36、起来的式子称为赋值表达式。由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。一般形式:一般形式:例如,例如,a=12 是一个赋值表达式是一个赋值表达式。对对赋值表达式求解的过程是:将赋值运算符右侧的赋值表达式求解的过程是:将赋值运算符右侧的“表达式表达式”的值赋给左侧的变量,而赋值表达的值赋给左侧的变量,而赋值表达式的值就是被赋值的变量的值。如式的值就是被赋值的变量的值。如 a=12 这个赋值表达式的值就是变量这个赋值表达式的值就是变量a的值的值12。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4.7 逗号运算符和逗号表达式逗号运算符和逗号表

37、达式逗号运算符逗号运算符“,”作为作为C+语言的一种特殊的运算符,也称为顺序求值运算符,它的作用是把多语言的一种特殊的运算符,也称为顺序求值运算符,它的作用是把多个表达式连接起来。例如个表达式连接起来。例如:3+2,4+6x+3,y+z,s-1等都是在做逗号运算。我们把用逗号运算符连接起来的式子称为逗号表达式,其一般形式为:等都是在做逗号运算。我们把用逗号运算符连接起来的式子称为逗号表达式,其一般形式为:表达式表达式1,表达式,表达式2,表达式,表达式n 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式1.求解过程求解过程按照从左到右的顺序逐个求解表达式按照从左到

38、右的顺序逐个求解表达式1,表达式,表达式2,表达式,表达式n,而整个逗号表达式的值是,而整个逗号表达式的值是最后一个表达式(表达式最后一个表达式(表达式n)的值。例如:)的值。例如:a=3*5,a*4 /是逗号表达式,运算结束后是逗号表达式,运算结束后a=14,表达式的值是表达式的值是60 x=(a=3,6*3)/是赋值表达式,运算结束后是赋值表达式,运算结束后a=3,x=18,表达式的值是表达式的值是18x=a=3,6*3 /是逗号表达式,运算结束后是逗号表达式,运算结束后a=3,x=18,表达式的值是表达式的值是182.优先级优先级 逗号逗号运算符在所有运算符中的优先级别最低,且具有从左至

39、右的结合性。例如:运算符在所有运算符中的优先级别最低,且具有从左至右的结合性。例如:a=3*4,a*5,a+10求解过程为:先计算求解过程为:先计算3*4,将值,将值12赋给赋给a,然后计算,然后计算a*5的值为的值为60,最后计算,最后计算a+10的值为的值为22,所以,所以整个逗号表达式的值为整个逗号表达式的值为22,而,而a的值为的值为12。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.4 运算符与表达式2.4.8 运算符的优先级与结合运算符的优先级与结合顺序顺序表表2-14 运算符的优先级运算符的优先级当当表达式中包含多个运算符表达式中包含多个运算符时,哪个运算符先参加运

40、算是由时,哪个运算符先参加运算是由运算符的优先级来决定的,高优运算符的优先级来决定的,高优先级的先参加运算,低优先级的先级的先参加运算,低优先级的后参加运算。运算符的优先级详后参加运算。运算符的优先级详见表见表2-14。目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.5 类型转换2.强制类型转换强制类型转换强制强制类型转换的一般格式为:类型转换的一般格式为:功能:把表达式强制转换为指定的类型。功能:把表达式强制转换为指定的类型。例如例如:(int)(a)或或(int)a /将将a转换成整型转换成整型*/(double)(x+y)/将将x+y转换成转换成double 型型 目 录 页第第2 2章章数据类型和表达式数据类型和表达式2.6 情景应用训练项目2.6.1 项目项目1:求解求解方程方程ax2+bx+c=0(a不为不为0)【问题描述问题描述】求解求解一元二次方程一元二次方程ax2+bx+c=0,由键盘输入系数,输出方程的根,由键盘输入系数,输出方程的根。图图2-12 求一元二次方程求一元二次方程ax2+bx+c=0的根的根

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(面向对象程序设计C++第2章-数据类型和表达式.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|