C++程序设计大学教程 教学课件 ppt 王春玲 第2章 基本数据类型、运算符与表达式

上传人:E**** 文档编号:89345184 上传时间:2019-05-23 格式:PPT 页数:59 大小:1.10MB
返回 下载 相关 举报
C++程序设计大学教程 教学课件 ppt 王春玲 第2章 基本数据类型、运算符与表达式_第1页
第1页 / 共59页
C++程序设计大学教程 教学课件 ppt 王春玲 第2章 基本数据类型、运算符与表达式_第2页
第2页 / 共59页
C++程序设计大学教程 教学课件 ppt 王春玲 第2章 基本数据类型、运算符与表达式_第3页
第3页 / 共59页
C++程序设计大学教程 教学课件 ppt 王春玲 第2章 基本数据类型、运算符与表达式_第4页
第4页 / 共59页
C++程序设计大学教程 教学课件 ppt 王春玲 第2章 基本数据类型、运算符与表达式_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《C++程序设计大学教程 教学课件 ppt 王春玲 第2章 基本数据类型、运算符与表达式》由会员分享,可在线阅读,更多相关《C++程序设计大学教程 教学课件 ppt 王春玲 第2章 基本数据类型、运算符与表达式(59页珍藏版)》请在金锄头文库上搜索。

1、基本数据类型、运算符与表达式,第2章,2,2.1 数 据 类 型,C+提供了十分丰富的预定义数据类型,称为基本数据类型。 除了基本数据类型外,C+还提供了构造数据类型,包括数组、结构体、共用体(联合体)、枚举和类等。 C+可以使用的数据类型如图所示:,3,2.1.1 基本数据类型,每种基本数据类型各自所占的内存空间是不同的,因此所表示的数据的范围大小也不同。 在5种基本数据类型中: 布尔型用于表示的逻辑的true和false 整型用于处理整型数据 字符型用于处理ASCII码字符 浮点型用于处理带小数的实数 空类型主要用于处理函数和指针,4,2.1.2 类型修饰符,C+的类型修饰符包括: sig

2、ned 有符号型 unsigned 无符号型 short 短型 long 长型 在基本数据类型(除void类型外)前加上类型修饰符后,C+的基本数据类型为:,5,说明: (1)表中带 的部分表示是可以省略的。 (2)4种修饰符都可以用来修饰整型和字符型。 用signed修饰的类型的值可以为正数或负数,而用unsigned修饰的类型的值只能为正数。 (3)Visual C+ 6.0版本以上的编译器不支持long double类型,long double和double类型一样,都是64位基本双精度,只能用其他C/C+编译器或汇编语言。,6,2.2 常 量,C+语言中的常量有两种表示形式,即直接常量

3、和符号常量。 直接常量按照不同的数据类型可以分为 整型常量 实型常量 字符常量 字符串常量 逻辑常量等 对于这些常量可以根据其在程序中的书写格式来区分它是哪种类型的,也称为字面常量。 符号常量是一个标识符,在程序中表示常量。,7,在程序中,用户根据需要分别可以用十进制、八进制和十六进制的形式书写整型常量。 (1)十进制格式: 由数字0至9和正、负号组成 书写时直接写出数字 如0、21、2004等,2.2.1 整型常量,8,(2)八进制格式: 以0开头的数字(0至7)序列 如0111、01357、0171717等 (3)十六进制格式: 以0x或0X开头的数字(数字0至9、字母a至f)序列 如0x

4、AA、0X12BC、0xFFFF等,9,实型常量又称为浮点型常量,由整数部分和小数部分组成,只能用十进制格式来书写。 可以用小数或指数两种形式表示,指数形式又称为科学计数法,不分单精度和双精度类型。,2.2.2 实型常量,10,(1)实型常量的小数形式 由数字和小数点组成的,而且必须存在小数点。 如.12、1.06、35.、3.14等。,11,(2)实型常量的指数形式 由数字和e(或E)组成的,且 e(或E)之前必须有数字 e(或E)之后必须为整数 如12e6、1.2E7、.56e8是合法的指数形式, 而e6、8e5.6则是非法的指数形式。,12,字符型常量分为普通字符常量和转义字符常量 (1

5、)普通字符常量 用一对单引号括起来的一个字符 如s,Y等,2.2.3 字符常量,13,注意:,单引号只是字符与其他部分的分隔符,不是字符的一部分,并且不能用双引号代替单引号,如“Y“不代表字符常量。,字符常量只能包括一个字符,如ab是不合法的。,单引号中的字符不能是单引号或反斜杠, 和都是非法的字符常量。,字符常量区分大小写,如Y和y表示两个不同的字符常量。,14,(2)转义字符常量 在C+中,有一些字符用于控制输出或编译系统本身保留,无法作为字符常量来表示。 C+规定,采用反斜杠后跟一个字母来代表一个控制字符,反斜杠后的字符不再作原有的字符使用,而具有新的含义。,15,用一对双引号括起来的一

6、个或多个字符的序列 字符串以双引号为定界符,双引号不作为字符串的一部分 可以将转移字符加入字符串,转义字符占用一个字节。 如: “Hello“ “ A “ “ Good Morning! “ “I sayn “,2.2.4 字符串常量,16,字符串中的字符的个数称为该字符串的长度。 字符串常量要用字符数组来存放。 在存储时,系统自动在字符串的末尾加以字符串结束标志,即转义字符“ 0 “ 。如 “ Hello “在内存中占用6个字节 “ I sayn “占用7个字节,17,常量也可用一个标识符来表示,称为符号常量。 符号常量的一般定义格式如下: #define 标识符 字符串 例如: #defi

7、ne MAX 30 /末尾不加分号 【例2-1】 根据输入的半径,计算圆的周长和面积。,2.2.5 符号常量,18,注意: 符号常量名一般用大写,而变量名用小写,以示区别。 符号常量不同于变量,在其作用域内其值不能改变和赋值。,19,2.2.6 逻辑常量,逻辑型的取值只有true和false两个,它们称为逻辑常量,分别对应着整数1和0。 逻辑常量主要用在逻辑运算中。如: int a=33,b=35; bool x; x=(a=b);,20,2.2.7 枚举常量,所谓“枚举”就是一一列举之意,当某些量仅由有限个数据组成时,通常用枚举类型来表示。 声明枚举类型用关键字enum开头。其声明形式为:

8、enum 枚举类型名 枚举值1,枚举值2,枚举值n; enum weekdaysunday,monday,tuesday,wednesday,thursday, friday,saturday; 说明: 对枚举值按常量处理,故称为枚举常量。 枚举常量是有值的,C+语言按定义时的顺序使它们的值依次为0,1,2,。 可以改变枚举常量的值,但必须在定义时由程序员指定。 enum weekdaysunday=7,monday=1,tuesday, wednesday,thursday,friday,saturday;,21,2.3 变 量,变量是指在程序的运行过程中其值可以变化的量。 变量在使用之前需

9、要先进行类型和名称的声明。 变量是用于保存程序运算过程中所需要的 原始数据 中间运算结果 最终结果,22,每一个变量就相当于一个容器,对应着计算机内存中的某一块存储单元。 变量的值具有以下两个特点: 一充即无 取之不尽,int i; i=10; i=20;,int i,j,k; i=10; j=i+10; k=i+j*5;,23,2.3.1 标识符的命名规则,标识符(Identifier)是指变量、常量、语句标号、函数、类、对象等的名称,是程序员根据程序设计的需要而命名的。 标识符的命名要符合如下规则。 (1)标识符要以字母或下划线开头。 (2)标识符可以由字母、数字和下划线组成。 (3)标识

10、符中的字母区分大小写。 (4)标识符不能与关键字同名。 (5)标识符的有效长度一般设为32个字符。,24,2.3.2 变量的定义,每一变量都要先定义、后使用; 定义变量3种格式: 修饰符 数据类型标识符 变量名列表; 修饰符 数据类型标识符 变量名=初始化值; 修饰符 数据类型标识符 变量名1=初始值1,变量名2=初始值2,; 如: float r; char sex=M; int n,sum=0;,25,2.3.3 变量的使用,变量的赋值形式 变量=表达式; 例如: char c1,c2; c1=N; /将c1的值赋为N c2=Y; /将c2的值赋为Y 变量的初始化 char c1=N,c2

11、=Y;,26,2.3.4 常变量,const 数据类型标识符 常变量名=常量值; 例如: const int a=10; 区别用#define定义的符号常量和用const定义的常变量: 符号常量使用一个字符串代替程序中出现的一个标识符,是在编译时把所有的符号常量都替换成指定的字符串,它没有数据类型,在内存中也不存在以符号常量命名的存储单元。 常变量则具有变量的特征,它有数据类型,在内存中存在以它的名字命名的存储单元,只是与一般变量所不同的是常变量的值不能够改变。,27,2.4 运算符和表达式,运算符是表示进行何种运算的符号,又称为操作符。 运算量包含常量、变量、函数等,又称为操作数。 C+语言

12、的运算符按照其在表达式中与操作数的关系(即连接的操作数的个数),可以分为: 单目运算符,如,*、+等; 双目运算符,如,+、&等; 三目运算符,如,条件运算符?:。 每个运算符都有优先级和结合性: 当一个表达式中包含多个运算符时,先进行优先级高的运算,在进行优先级低的运算; 而对于多个优先级相同的运算符,运算的顺序就要看运算符的结合性了。,28,2.4.1 算术运算符和算术表达式,算术运算符就是对数据进行算术运算的运算符。 如:加、减、乘、除等,是在程序中使用最多的一种运算符,C+的算术运算符:,29,若定义了x为int型的变量,且其初始值为10,则 5/9* (x32) (2*x3) *x+

13、2) *x 10%3 x*6,30,注意: (1)表达式中的括号不管有多少层,一律使用圆括号。 (2)在将一个数学上的运算式写成对应的C+的表达式时,要注意进行必要的转换: 乘号不能省略。 数学表达式中出现的数学运算函数要用C+提供的相应的数学运算库函数来代替。 要特别注意表达式中两个整型数相除的情况。 (3)求余运算符只能用于整型和字符型数据,字符型数据可以与整型数据通用。,31,1. 自增运算符 自增运算符“+”使操作数的值增1,其操作数必须为变量。 +运算符可以置于操作数前面,也可以放在操作数后面。例如:+n或n+。 这两个表达式产生的结果都是使n的值增1,可以说没什么区别。相当于n=n

14、+1; +前置和后置的区别: int n=1,post,pre; post=n+; pre=+n; 再如: int n=5,post=1,pre=1; pre=(+n)+pre; /运算结束后pre的值为7,n的值为6 n=5; post=(n+)+post; /运算结束后post的值为6,n的值为6,2.4.2 自增、自减运算符,32,2. 自减运算符 自减运算符“-”使操作数的值减1。 同样,其操作数也必须为变量,且可以置于操作数前面,也可以放在操作数后面。例如:-n或n-。 自减运算符和自增运算符非常相似,区别只在于自减运算符使操作数减1,而自增运算符使操作数增1。例如: int n=5

15、,post=1,pre=1; pre=(-n)+pre; /运算结束后pre的值为5,n的值为4 n=5; post=(n-)+post; /运算结束后post的值为6,n的值为4,33,2.4.3 赋值运算符和赋值表达式,1赋值运算符 变量名 = 变量、常量或表达式 说明: (1) =左边的量必须是变量,而不能是常量或表达式,也就是说,常量或表达式是不能被赋值的。 (2) =右边的量可以是变量,也可以是常量或表达式。 (3)赋值运算符的功能是将某个数据的值赋给某个变量,从而使该变量得到一个值。 (4)由赋值运算符将变量和表达式连接起来的式子称为赋值表达式。该赋值表达式的值就是被赋值的变量的值

16、。 (5)要注意区分赋值运算符“=”与数学上的“等号”间的区别。,34,例如: int x,y; x=100; x=x+20; 通常在一个表达式中,赋值运算符两边的数据类型是相同的,当两边的数据类型不同时,则在进行赋值运算前自动把赋值运算符右边的值转换为与左边变量类型相同的值,然后再把这个值赋给左边的变量。例如: int x; x=1.82; /x的值为1,35,2复合赋值运算符 复合赋值运算符的功能是将运算符右边的值同左边的变量的值进行相应的运算以后,再把这个运算结果赋给左边的变量,该复合赋值表达式的值也是运算符左边的变量的值。 例如: int x=10,y=20; y=x+5; x*=y+10 在C+中,之所以采用这种复合赋值运算符, 一方面是为了简化程序,使程序比较精练; 另一方面

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号