第二章基本数据类型与表达式.ppt
《第二章基本数据类型与表达式.ppt》由会员分享,可在线阅读,更多相关《第二章基本数据类型与表达式.ppt(51页珍藏版)》请在三一文库上搜索。
1、第二章,基本数据类型与表达式,第二章 基本数据类型与表达式,本章内容主要有: C+数据类型 符号常量与常值变量 数值、逻辑表达式 自定义类型修饰符 表达式的副作用与表达式语句,学习的目标 了解C+基本数据类型 了解符号常量与常值变量 了解自定义类型修饰符 掌握数值、逻辑表达式 掌握表达式的副作用与表达式语句,第二章 基本数据类型与表达式,2.1 C+数据类型概述,数据类型是指定义了一组数据以及定义在这一组数据的操作,它是程序中最基本的元素。 在程序设计中类型具有重要的意义。C+预定义了丰富的数据类型,也允许用户自定义数据类型。 C+数据类型分为:基本数据类型和构造数据类型。,2.1 C+数据类
2、型概述,基本数据类型: 1、整型类包括整型(int)、短整型(short)、长整型(long)还有与整数兼容的数据类型,包括字符型(char)、枚举型(enum)和逻辑型(布尔型bool)。 2、实型类(浮点型)包括单精度(float)、双精度(double)和长双精度 (long double)。,2.1 C+数据类型概述,构造数据类型: 1、指针类包括指针和应用 2、数组。 3、记录类包括结构struct和联合(union)。,2.1 C+数据类型概述,为什么要区分数据类型? 1、规定了不同数据类型在内存中的存储格式不同。C+语言中的整型数和实型数与数学中的整数和实数有区别。 2、对不同的
3、类型数据所能实施的操作不同。如两个整型数据可以相加,而两个记录数据不能相加。,2.1 C+数据类型概述,数据最常用的表现形式: 1、常量在程序运行中不变,其数据类型可分为整型(123)、实型(12.4)、字符型(s)和字符串型(“Hello,你们好!“)。 2、变量在程序运行中可变,变量名必须实合法的标识符(区分大小些),即只能是数字、字母和下划线,而且第一个字符不能是数字。,2.2.1.各种整型数据的基本情况(课本表2-1) 整型前面可以加上signed(有符号型)或unsigned(无符号型)、long(长整型)或short(短整型)来修饰。 其中signed和unsigned不能同时出现
4、,long和short也不能同时出现。 在三种不同的规格中短整型(short、unsigned short)中用空间最少,表示的范围也最少;长整型(long,unsigned long)表示的范围最大,占用的空间也最大。,2.2 整型数据,2.2 整型数据,2.2.2.短整型常量表示方法 短整型常量是借助整型常量来表示的,短整 型无条件的转换为整型。 2.整型常量表示方法: 1)十进制。 2)八进制整型常量必须以0打头,其后有07之间的数字组成。如012 3)十六进制整型常量以0x或0X打头,其后09之间的数和英文字母af(或AF组成)。如0X32,0xA8等。,3、整型常量加后缀,以区分各种
5、不同类型的整数 1) 后缀L(或l)。表示长整型常量(long int型)如-56L,4562l; 2) 后缀U(或u)。表示无符号整型常量(unsigned int型)如85U,20u; 3) 后缀L(或l)和U(或l)组合,表示无符号长整型常量(unsigned long int型)如464LU,586Lu,4645lU,123lu。,2.2 整型数据,2.2.3 整型变量的定义和初始化。 变量是用来存放数据的,因此应具有相应的类型,C+中每个变量都属于一个特定的类型,变量类型决定了它在内存中的存储形式及取值范围。 引用一个变量名之前必须先声明变量的类型,限定用法和操作,保证不会进行非法的
6、操作。,2.2 整型数据,2.2 整型数据,C+中,变量必须先定义,后使用。不一定先定义,随定随用。变量定义使用一个声明语句。 格式:类型 变量名; 或 类型 变量名1,变量2,-变量n;,变量名的命名要遵守以下规则: 不能是C+关键字。C+的关键字如下表所所示。 第一个字符必须是字母或下划线,中间不能有空格。 变量名除了使用26个英文大小写字母和数字外,只能 使用下划线。 一般不要超过31个字符。 变量名不要与C+中的库函数名、类名和对象名相同。 例如,下列变量名是合法的变量名: a123 c3b file_1,例如: 语句 int x,y; / 定义了一个整型变量 char ch; /定义
7、了一个字符型变量,2.2 整型数据,表2-1 C+的标准关键字,变量声明后类型就确定了。编译器就为该变量在内存中开辟了存储单元。变量可以在定义时初始化,也即个变量赋一个初值。 例如:int a=3,b=-7; /也可以先定义,后赋值 int a,b; a=3,b=-7; double area=67.31; 则变量a、b、area分别被赋予初值,3、-7、67.31,并一直保留改值直到被修改为止。,2.2 整型数据,注意: 1、若一个变量没有被初始化,则系统会为该变量规定一个默认值或无效值,直到被修改。 2、 初始化数据的类型与所规定的类型不一致,自动进行隐含转换,数据将转换成变量类型。如 i
8、nt a=3.14(允许)。但会丢失小数部分。 3、 在同一个块中或复合语句中,不允许定义同名变量,而在不同的块中可以。 如: int k; -/ 块1 int k; -/ 块2 是合法的。,2.2 整型数据,2.3 字符型数据,2.3.1 字符型数据的基本情况(课本表2-2) 类型修饰符char有可能表示有符号字符,也可能表示无符号字符。 2.3.2 字符型常量的表示 字符又分为可显示的和不能显示的。 可显示的用符号图形来表示,即用引号括起来的单个字符,如k,等。,不能显示的(产生某些控制)用转义序列来表示(两种形式): 1.用反斜杠加上该字符的ASCII码来构成。ASCII码可采用八进制、
9、十六进制。 2.另一种称为转义字符,由一个反斜杠后跟一个字符来表示。如下表所示: 3.转义字符只代表一个字符,可显示字符也可 以用转义字符来表示。,2.3 字符型数据,2.3.3 字符型变量的定义和初始化 与整型类似,如char c1,c2=A; 上面定义了两个字符型变量,其中c2被初始化为字符A。 2.3.4 字符型与整型的关系 字符用代码表示,代码就是一个整数。在表达式求值中,字符被转换成与其代码等值的整数,因此能对字符实施算术运算。 如,char ch1=A,ch2=a; 也可以写成 char ch1=65,ch2=97;,2.3 字符型数据,2.4.1 枚举型数据的基本情况(课本表2-
10、3) 不是系统预定义的,而是用enum关键字(保留字,是系统预定义有的特殊含义的单词)自定义的数据类型。它的值域由用户定义的一组符号常量限定的。目的是提高程序的可读性。,2.4 枚举型数据,2.4.2 枚举类型的定义和枚举变量的定义 格式: enum 枚举类型名 枚举常量名1; 枚举常量名2; - ; 枚举变量;/ 在定义枚举类型的同时定义枚举变量。 例如: enum WeekDay Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday today;,2.4 枚举型数据,也可以在枚举类型定义后,再定义枚举变量格式. 如:W
11、eekDay today= Monday, tomorrow= Tuesday; 并赋初值。 枚举变量只能在枚举常量集合中取值。不能进行算术运算,只能赋值,比较和输出。,2.4 枚举型数据,2.4.3 枚举型与整型的关系 C+编译程序为每个枚举常量分配一个整数型数值,默认时第一个枚举元素的值为0,依次类推,第n个为n-1。也可以显示的指定枚举常量的值,后面逐个增1取值。如重新定义WeekDay如下; enum Week Sunday=1, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday=0; Week 和WeekDay枚举常量有相同
12、的取值。C+语言不允许枚举类型有相同的枚举常量。 C+不识别枚举符号。,2.4 枚举型数据,2.5.1 各种实型数据的基本情况(课本表2-4) 实数又称浮点数,与数学中的浮点数的区别: 1、数学中的实数值域从无穷小到无穷大,计算机中实数的值域有限。 2、数学中的实数精度是任意的,计算机中精度有限,C+提供了单精度、双精度、长双精度3种实型类型。,2.5 实型数据,2.5.2实型常量的表示 浮点数只能以十进制表示,可以采用科学记数法和一般表示方法。科学记数法常用于表示很大或很小的浮点数。如1.2E8(即1.2108)、-5.731E-9(即-5.73110-9)。 浮点数的整数部分和小数部分如果
13、为零可以省去,但不能两者都省去。例如 .34 456. 5.E3 .89E2(都合法)。,2.5 实型数据,浮点数还可以带后缀,以区分不同的类型的实数。 1、没有后缀,表示双精度(double型)。如73.23。 2、后缀为F(或f),表示单精度的(float)。如4.266F。或-1.2f。 3、后缀为L(或l),表示长双精度(long double)。如8.5l、2.07L。 2.5.3 实型变量的定义和初始化 与整型类似,2.5 实型数据,符号常量的定义: 如define PI 3.1416 表在程序中用PI表示3.1416。 好处: 1、提高程序的可读性。有意义的名词作为符号常量。 2
14、、提高数据的一致性 3、提高数据的可维护性。达不到预期的精度,只需重新 定义。 常值变量的定义格式: const 数据类型 常量标识符 表达式 如,const double PI=3.1416; 常值变量定义时必须初始化,在程序中不允许改变。上 述两者等价。,2.6 符号常量和常值变量,2.7.1 无操作符的表达式简单表达式 常量、变量和函数调用是三种最简单的表达式。 简单表达式依据数据类型可分整型、长整型、双精度表达式等。数值表达式是整型类表达式和实型类表达式的统称。,2.7 数值表达式,2.7 数值表达式,2.7.2 算术运算 C+算术运算符包括一元运算符 (取负值)、+(取正值)和二元运
15、算符+(加)、(减)、*(乘)、/(除)、(取余数)。 其中只用于int整型,如1031(int)。其余可以用于既可以用于int又可以用于float 和double类型数据。用算术符号联起来的表达式称算术表达式。 除法运算用于整型和实型是不同的。用于整数,/表示整除。如5/2=2(int)、10/3=3(int)。而用于浮点数,5.0/2.02.5(float)、8.0/5.0=1.6(float)。,2.7 数值表达式,2.7.3 位操作符(看书本) 2.7.4 赋值操作符 (1)赋值运算符“=”的一般格式为: 变量=表达式; 表示将其右侧的表达式求出结果,赋给其左 侧的变量。例如: int
16、 i; i=3*(4+5); /i的值变为27 (2)赋值表达式本身的运算结果是右侧表达式的 值,而结果类型是左侧变量的数据类型。例 如: int i=1.2*3; /结果为3,而不是3.6,(3)赋值运算符的结合性是从右至左的,因 此,C+程序中可以出现连续赋值的情 况。例如,下面的赋值是合法的: int i,j,k; i=j=k=10; /i,j,k都赋值为10,2.7 数值表达式,2.7.5 复合赋值操作符 复合操作符如书本P.28所示(从左到右结合)。它们的含义如下:,a+=b 等价于 a=a+b a-=b 等价于 a=a-b a*=b 等价于 a=a*b a/=b 等价于 a=a/b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 基本 数据类型 表达式
链接地址:https://www.31doc.com/p-2260119.html