第二章数据类型与表达式.ppt
《第二章数据类型与表达式.ppt》由会员分享,可在线阅读,更多相关《第二章数据类型与表达式.ppt(64页珍藏版)》请在三一文库上搜索。
1、第二章 数据类型与表达式,C+开发实例教程刘畅主编 电子工业出版社,本章学习内容,掌握各种基本数据类型的关键字、数据长度和表示范围; 掌握各种类型的数值表示; 弄清变量以及变量赋值的实质、标识符的构成规则; 弄清常量与变量之间的区别; 掌握常用的运算符的含义、优先级和使用方法; 掌握隐式和显式类型转换的概念和使用方式。,本章目录,第二讲 C+的数据类型、常量与变量 第三讲 运算符与表达式 本章小结,结 束,第二讲 C+的数据类型、常量与变量,一、C+的数据类型 二、变量和常量 练一练,返回本章目录,一、C+的数据类型,数据是程序处理的对象,为了描述现实世界中不同特点的事物,C+设计了多种数据类
2、型。C+提供了多种数据类型用于表示和存储数据,以满足程序处理的需要。右图列出了C+的各种数据类型。,返回本讲目录,1字符集,字符集是构成C+程序语句的最小元素。C+程序语句(字符串除外)只能由字符集中的字符构成。字符集中的字符都能由键盘输入,字符集由下列各类字符构成: 数字:0,1,2,3,4,5,6,7,8,9。 英文字母:az,AZ。 特殊字符: 空格 ! # % () 从字符集构成可看出,C+字符集由除符号外的所有能由键盘输入的英文字符构成。这些字符组合起来使用,如作为标识符、数据;有的可单独使用,如+、-、*、/分别表示加、减、乘、除。,返回本讲目录,2.标识符与关键字,标识符是用来标
3、识程序中的一些实体,是这些实体的名字,包括函数名、变量名、类名、对象名等。日常生活中,人名就是一个人的标识符。 标识符的构成应遵循如下规则: (1)由英文大、小写字母、下画线和数字组成。 (2)第一个字符必须为英文大、小写字母或下画线。 (3)英文大写字母与小写字母分别代表不同标识符。 (4)不能是C+关键字。,返回本讲目录,C+的关键字是C+预定义的单词,也叫保留字。只能为C+保留,不能用做标识符。当程序员将关键字作为标识符时,一般编译系统会警告。 在符合构成规则的前提下,如何来设定一个好的标识符呢?一般而言,标识符要有意义、简洁、易区分,以便程序易读,编程时不易犯错误。,返回本讲目录,3.
4、基本数据类型,C+的数据类型大体分为五大类:整型(int)、实型(又称浮点型,float和double)、字符型(char)、布尔型(bool)和空值型(void)。其中,布尔型也称为逻辑型。 表2-1列出了C+的基本数据类型。,返回本讲目录,表2-1 C+的基本数据类型,返回本讲目录,二、变量和常量,【实例2-1】 阅读下面程序,注意观察程序的运行结果。 点击【实例2-1】 源程序 程序分析: 这是一个已知圆的半径r,求圆的周长l与面积s的数学题。程序用double定义了3个双精度浮点型变量r、l、s,令r的初值为1,且根据圆的周长公式(2r)与面积公式( r2)求出l和s的值。 然后用输出
5、流cout分别输出该圆的半径r、周长l和面积s的值。 因为输出时要进行换行,所以在输出流中使用转义字符n进行换行。 程序运行结果如下:,返回本讲目录,4.变量概述,要区分变量名和变量值是两个不同的概念。例如,整型变量a的值为3,则该变量名为a,变量的值为3。,所谓变量,是指在程序运行过程中其值可以改变的量。一个变量应该有名字(即变量名),有值(变量值),并在内存中占据一定的存储单元。,返回本讲目录,5.变量的定义与初始化,变量定义的一般格式为:,数据类型 变量名1,变量名2,变量名n;,在定义一个变量的同时,也可以用赋值运算符给它赋以初值,称为变量初始化。 变量初始化的格式如下:,数据类型 变
6、量名1=初值1 , 变量名2=初值2 , , 变量名n=初值n;,“=”在C+中不是数学中的“等于号”,而是赋值号,它表示把“=”右边的数据存放在左边的变量表示的存储单元中。,返回本讲目录,例如,在【实例2-1】中语句: double r=1,l,s; 表示定义了3个double型的变量,且将变量r赋初值为1。 在定义变量的同时赋初值还有一种方法,就是在变量后面将初值放在括号中,格式如下:,例如,【实例2-1】的第6行赋初值语句也可改为: double r(1),l,s;,数据类型 变量名1(初值1) , 变量名2(初值2) , , 变量名n(初值n);,返回本讲目录,6.常量,常量又称常数,
7、是指在程序运行过程中其值不能改变的量。C+中的常量又分字面常量和符号常量。字面常量又称直接常量,就是常说的常数。 与数据类型相对应,C+中的字面常量主要有整型常量、浮点型常量、字符常量、字符串常量与布尔型常量。,返回本讲目录,1)整型常量 整型常量又称整数,在C+中,整数可以用三种数制来表示,采用十进制、八进制和十六进制的表示形式,其方法是在数字前面加上进制前缀。各种进制的表示形式如下: (1)十进制整数。十进制整常数没有前缀,其数字取值范围为09。例如:123、-38、256等。 (2)八进制整数。八进制整常数必须以数字0开头,即以0作为八进制数的前缀。数字取值范围为07。八进制数通常是无符
8、号数。例如:023、046等。 (3)十六进制整数。十六进制整常数的前缀为0X或0x,其数字取值范围为09、AF或af。例如:0X1C、0XFFFF等。 (4)整型常数的后缀。如果使用的数值超过了基本整型数据的取值范围,就必须用长整型数来表示。长整型数是用后缀“L”或“l”来表示的。例如:158L、077L和0XA5L等。 无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”。例如:358u,0x38Au,235Lu均为无符号数。,返回本讲目录,2)浮点型常量 浮点型常量也称为实数或者浮点数。在C+中,实数只采用十进制。它有两种形式:十进制小数形式和指数形式。 (1)十进制小数形式
9、。由数字09和小数点(注意:必须有小数点)组成,小数点前后如果有单独的0可以省略。如:123.45、-256.7、0.0、.25、12.都是合法的小数。 (2)指数形式。指数形式又称科学计数法。由十进制小数加上阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为:,a E n,返回本讲目录,其中a为十进制数,n为十进制整数,其值为a10n。 指数形式的表示法有两点要求:e或E前、后必须有数字,e或E后的数字必须是整数。 例如,合法的实数:1.5E3、2.7E-6等。不合法的实数:E-3、2.7E等。,返回本讲目录,3)字符型常量 字符型常量是用英文单引号括起来的一个字符,
10、如:A,a,+等。单引号只是字符与其他符号的分隔符,不是字符常量的一部分,当输出一个字符常量时不输出此单引号。 每个字符变量被分配1个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的,所以也可以把它们看成整型量。有些ASCII码字符如回车、换行、退格等不能直接在单引号中引用,这些数据可用转义序列来表示。所谓的转义序列是以称为转义符的反斜杠“”开头的字符或数字序列。,返回本讲目录,转义字符有两种表式方法: 其中字符助记符为一个字母,字符的ASCII码值为ooo与xhh,其中ooo表示为3位八进制数,xhh表示为2位十六进制数,字符助记符 或 字符的AS
11、CII码值,返回本讲目录,4)字符串常量 字符串常量简称字符串,是使用一对双引号括起来的字符序列。从该字符串可以看出,转义序列可以用在字符串中。 字符串与字符比较有如下区别: (1)字符由单引号括起来,字符串由双引号括起来。 (2)字符只能是单个字符,字符串可以是零个或多个字符 (3)字符占1个字节的内存空间,字符串占内存字节数等于字符串长度加1。系统自动在字符串末尾添加0作为结束标记,返回本讲目录,例如:字符串 “Hello,boy!”在内存中所占的字节形式如下,该字符串的长度为10,所占的内存空间字节数为11。 5)布尔型常量 布尔型常量只有两个:true与false。它主要用于表达式的计
12、算结果。在C+的算术运算式中,把布尔型数据当做整型数据,true与false分别当做1与0。在逻辑运算中则把非0的数据当做true,把0当成false。,返回本讲目录,7.符号常量,当程序中多次出现同一个常数时就可以把具体的数值符号化。一个符号化的数值称为符号常量,也就是我们常说的有名字的常量。 C+符号常量的定义形式:,#define 符号常量名 数值,点击打开使用符号常量的【实例2-1】源程序x2_1_2.cpp 本程序的运行结果同【实例2-1】。,返回本讲目录,符号常量的特点是: 习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别; 符号常量与变量不同,它的值在其作用域内不
13、能改变,也不能再被赋值。 使用符号常量的好处是:含义清楚,并且能做到“一改全改”。 例如,下面的语句是错误的: #define PI=3.14; /不能使用赋值运算符“=”,且命令结尾不能加分号,返回本讲目录,8.常变量,其中,const可以与数据类型说明位置互换。对比变量的定义格式,发现就是在变量初始定义的基础上加上了const修饰。const的意思是“常,不可改变”的意思。用const修饰后,变量的值就不可改变了,因此这一种形式又称常变量。,const 数据类型 符号常量名=数值;,C+为符号常量还提供了一种新的方法,格式如下:,返回本讲目录,所以【实例2-1】又可改为下面这种形式: 点击
14、查看使用常变量的【实例2-1】源程序x2_1_3.cpp 本程序的运行结果同【实例2-1】。 需要注意的是,下面的这两种形式是错误的: const double PI; /错误,定义时没有给出初值 PI=3.14159; /错误,常量不能被改变,返回本讲目录,同符号常量相比,常变量有如下好处: (1)常变量与变量定义相似,可使程序保持良好风格; (2)常变量可以按不同的需要选择合适的数据类型,节省内存空间,在运算式中有明确的类型。 因此,在C+程序中,一般使用常变量而不使用符号常量。虽然文字常量、符号常量、常变量统称为常量,但前两者与常变量有着本质的差别。文字常量与符号常量代表的数值在程序的指
15、令中不占数据空间,而常变量的值与其他变量一样,保存在专门的内存空间中。,返回本讲目录,练一练,【练习2-1】 设有一个半径值为2的圆,求出该半径所在圆的周长、面积与所在球体的体积,并按照一定格式输出(p值用常变量定义)。 解:(1)程序分析如下: 在这里首先要了解圆的周长、面积与体积的数学公式,以及注意输出的格式,另外涉及到圆周率作为一个常量如何应用。,返回本讲目录, 定义圆的周半径并赋初值,定义圆的周长、面积和体积变量; 将圆周率作为常变量进行定义; 计算并按一定格式显示结果。 点击【练习2-1】源程序 运行结果如下:,返回本讲目录,第三讲 运算符与表达式,一、算术、关系、逻辑及赋值运算符及
16、其表达式 二、其它运算符 三、类型转换 练一练,返回本章目录,一、算术、关系、逻辑及赋值运算符及其表达式,【实例2-2】 阅读程序,分析并写出程序运行结果。 点击打开【实例2-2】 源程序 程序分析: 这个程序主要就是考查算术运算、关系运算、逻辑运算和复合的赋值运算。要弄清这些问题,我们就要搞清楚C+中的各类运算的规则。,返回本讲目录,程序运行结果如下:,1.算术运算符,算术运算符是C+中最常用的一种运算符 ,基本算术运算符如下表所示。说明:表中优先级数字越小,优先级越高,同级的按结合性顺序,多数自左向右运算。正号与负号为一元目运算符,其余均为二元目运算符。,返回本讲目录,(1)算术运算符的意
17、义与数学中相应符号的意义是一致的,它们之间的相对优先级关系与数学中也是一致的。 (2)“%”运算符也被称为取余运算符,要求它的两个操作数的值必须是整数或字符型数。它是前一个操作数被后一个操作数除的余数。当两个操作数都是正数时,结果为正,如果一个(或两个)操作数为负数时,余数的符号取决于机器,因此,移植性无法保证。,返回本讲目录,(3)当“/”运算符用两个整数相除时,如果商含有小数部分,将被截掉。因此,如果要进行通常意义的除运算,则至少应保证除数或被除数中有一个是浮点数或双精度数。 (4)在使用算术运算符时,需要注意有关算术表达式求值溢出的处理问题。在做除法运算时若除数为零或实数的运算结果溢出,
18、系统会认为是一个严重的错误而终止程序的运行并进行提示,而整数运算产生溢出时则不认为是一个错误,但这时运行结果已不正确了,所以对整数溢出的处理是程序设计者要注意的问题。,2.关系运算符,在解决许多问题时都要进行情况判断,C+提供了关系运算符用于比较运算符两边的值。比较后返回的结果为bool值true或false(0或1)。若关系运算符的计算结果继续用在表达式中,true与false分别当成了1与0。关系运算符都是二元目运算符。关系运算符如下表所示。,返回本讲目录,3.逻辑运算符,逻辑运算符实现逻辑运算,用于复杂的逻辑判断,一般以关系运算的结果作为操作数,操作数类型为bool型,返回类型亦为boo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 数据类型 表达式
链接地址:https://www.31doc.com/p-2260233.html