第二章 基本数据类型

32
第第第 第第第第第第 —— 第第第第第

Upload: kameko-best

Post on 31-Dec-2015

65 views

Category:

Documents


6 download

DESCRIPTION

第二章 基本数据类型. —— 数据的表示. 本章主要内容. 数据类型的概念 常量和变量 整型、实型、字符型数据的表示. 数据类型. 教学要求: 1. 掌握 C 语言数据类型分类。 2. 掌握整型数据、实型数据、字符数据使用规则。 3. 掌握 C 语言常量、变量的使用。. 2.1 数据( Data )和数据类型( Data Type ). 是对认识的事实性记载 是用来表示客观事物的符号 是指能够由计算机处理的数字、字母、符号、声音、图象、影视信息等。 是程序的必要组成部分和程序处理的对象。. 1 、数据( Data ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第二章 基本数据类型

第二章 基本数据类型—— 数据的表示

Page 2: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

本章主要内容

1. 数据类型的概念

2. 常量和变量

3. 整型、实型、字符型数据的表示

Page 3: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

数据类型

教学要求:

1.掌握 C语言数据类型分类。

2.掌握整型数据、实型数据、字符数据使用规则。

3.掌握 C语言常量、变量的使用。

Page 4: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

2.1 数据( Data )和数据类型( Data Type )

是对认识的事实性记载 是用来表示客观事物的符号 是指能够由计算机处理的数字、字母、

符号、声音、图象、影视信息等。 是程序的必要组成部分和程序处理的

对象。

1 、数据( Data )

1 、数据( Data )

Page 5: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

2 、数据类型( Data Type )

计算机只能存放二进制数据。不同类型的事物如何区分和描述?由此产生数据类型。

不同类型的数据占据不同长度的存储单元。 不同类型的数据对应不同的值域范围。 不同类型的数据对应不同的操作(运算)及规则。 数据类型越丰富,求解能力越强大。

Page 6: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

3、数据基本形式

在实际数据处理过程中,有些数据经常变化(大批量),而有些数据不变化(个别)。

变化的量称变量,不变化的量称常量。常量和变量是计算机语言中数据的两种基本形式。

常量和变量的运算规则是有区别的。

Page 7: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

4 、 C 语言的数据类型

1. 基本类型 整型 、 实型(又称浮点型)、 字符型 、 枚举型、 空类型

2. 构造类型 数组类型 、结构类型 、共用类型

3. 指针类型 C 语言中的数据,有常量和变量之分,它们分别属于上

述这些类型。

Page 8: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

2.2 常量与变量

变化的量称变量; 不变化的量称常量; 常量和变量是计算机语言中数

据的两种基本形式。

Page 9: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

2.2.1 常量的分类

( 1 )整型常量,如 5, 10, 20 ( 2 )实型常量,如 3.5 ( 3 )字符常量 , 如‘ A’, ‘a’ ( 4 )字符串常量,如“ china” ( 5 )符号常量,可由用户定义

常量的类型,可通过书写形式来判别。

Page 10: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

1 、整型常量的表示

三种表现形式:

十进制形式 :与数学上的整数表示相同。 例如 : 12, -100, 0

八进制形式 :在数码前加数字 0 。

例如 : 012=1*81+2*80=10( 十进制)

十六进制形式 :在数码前加 0X(数字 0和字母 X,大小写均可)。 例如 : 0x12=1*161+2*160=18( 十进制)

Page 11: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

数据后加一个字母 1 或 L, 则认为是 long int 型常量 .

例如 :1231 , 432L, 0L 等等。

. 长整型常量的表示:

Page 12: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

2 、实型常量的表示

十进制形式 :由数字和小数点组成;

指数形式:由“十进制小数” + “ e( 或E)” + “十进制数整数” 三部分组成。

例如 : 3.4 4. .3

例如 : 12.5e-6 表示 12.5×10-6

十进制小数 e(或E)

十进制数整数

Page 13: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

3 、字符型常量的表示

二种表现形式:

用单引号括起来的一个字符;

用单引号括起来的由反斜杠 (\) 引导的转义字符。

如: 'A' 、 '1' 、 '? ' 等。

如: '\n'

'\101'

'\x41'

在统计字符个数时,只能记为一个字符

只能是英文的单引

Page 14: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

转义字符表

字符形式 功能

\n 换行\t 、 \v 横向跳格、

\b 、 \r

竖向跳格退格、

\f

回车

\\、 \'、\" 8 进制数表示的 ASCII 码对应的字

反斜杠、单引号、双引号\ddd

换页

\xhhh 16 进制数表示的 ASCII 码对应的字符

Page 15: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

转义字符的应用

例 2-1 用转义字符输出可打印字符和不可打印字符。

main(){ printf(“\x4F\x4B\x21\n”);

printf(“\x15 \xAB\n”) ; }

程序运行结果: OK! § ½

Page 16: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

一个字符的多种表示方法:

65D (十进制) =41H (十六进制) =101Q (八进制)∴字符 A可以表示为 'A' 、 '\x41' 、 '\101‘、65 、 0x41 、 0101 。要避免的错误:

表示单引号: '''

表示双引号: '"'

表示斜线: '\'

正确表示方法:表示单引号:‘ \''

表示双引号:‘ \"'

表示斜线: ‘ \\'

Page 17: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

4 、字符串常量1. 字符串常量的概念和字符串长度 字符串常量是用一对双引号括起来的若干字符序列。 字符串中字符的个数称为字符串长度。长度为 0 的字符

串(即一个字符都没有的字符串)称为空串,表示为“ ” (一对紧连的双引号)。

例如,“ How do you do.” 、“ Good morning.” 等,都是字符串常量,其长度分别为 14 和 13 (空格也是一个字符)。

Page 18: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

2. 字符串的存储 C 语言规定:在存储字符串常量时,由系统在字符串的末尾自动加一个‘ \0’ 作为字符串的结束标志。 如果有一个字符串为“ CHINA” ,则它在内存中的实际存储如下所示:

最后一个字符 '\0'是系统自动加上的,它占用6字节而非5字节内存空间。

C H I N A \0

Page 19: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

3. 字符常量与字符串常量的比较:

• 定界符不同:字符常量使用单引号,而字符串常量使用双引号;

• 长度不同:字符常量的长度固定为 1 ,而字符串常量的长度,可以是 0 ,也可以是某个整数;

• 存储要求不同:字符常量存储的是字符的 ASCII码值,而字符串常量,除了要存储有效的字符外,还要存储一个结束标志’ \0’ 。

Page 20: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

5 、符号常量

概念:是用标识符来表示一个数据。

定义形式 :

#define 标识符 常量数据

例如 : #define PI 3.14159在程序预处理时,凡是出现标识符 PI的地方都将用数据 3.14159 来替换。

如 :2*2.3*PI 就等价于 2*2.3*3.14159 。

特点:在程序中不能给它赋值。

Page 21: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

2.2.2 变量

变量应具有的要素 变量命名规则 变量使用规则 变量初始化 变量引用 类型修饰符

Page 22: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

1 变量应具有的要素

1. 变量的概念

在程序运行过程中,其值可以被改变的量称为变量。

2. 变量的两个要素

( 1 )变量名。每个变量都必须有一个名字──变量名,变量命名遵循标识符命名规则。

( 2 )变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。

Page 23: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

2 变量 ( 标识符 )命名规则

命名规则: ( 1 )变量名只能由字母、数字或下划线组成; ( 2 )变量名的第一个字符必须是字母或下划线; ( 3 )变量名长度不超过 32 个字符( TC ); ( 4 )不要用保留字定义变量名(有 32 个保留字)。

合法变量名: a 、 b1 、 _area 、 employee_name

不合法变量名 : 1-name 、 max one 、 float 、 *account

Page 24: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

见名知意

所谓“见名知意”是指,通过变量名就知道变量值的含义。通常应选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。

例如, name/xm (姓名)、 sex/xb(性别)、 age/nl (年龄)、 salary/gz(工资)。

培养好习惯

Page 25: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

3 变量的使用

变量是指在程序运行中 , 其值可以被改变的量。

变量代表计算机内存中的某一存储空间 ,该存储空间中存放的数据就是变量的值。

在同一程序块中,每个变量都有唯一的名字,不能被重复定义。

使用变量时必须“先定义,后使用”。

基本概念:

Page 26: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

int a,b,c ; float x,y; char c1,c2; 或 int c1,c2;

自己设定,满足标识符的规定。

如: int,float,char ;不可省

类型标识符 变量名 1 [, 变量名 2, 变量名 3, ...] ;

例如:

定义形式:

Page 27: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

int x;

long y;

2000

2001

2002

2005

x

y

内存

内存地址

2003

2004

Page 28: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

4 基本数据类型 C 语言中有 4 种基本数据类型:

数据类型 类型说明符 占用字节 字符型 char 1 个 整型 int 2 个 浮点型 float 4 个 双精度型 double 8个

Page 29: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

5 类型修饰符 在基本数据类型前加类型修饰符,可以改变数

据表示的范围。常用的有: unsigned —— 无符号 long —— 长型 short —— 短型

例如: unsigned char 表示范围变为 0~255 unsigned int 表示范围变为 0~65535

Page 30: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

本章主要学习基本数据类型,包括:

空类型 void

字符型 char

单精度实型 float

双精度实型 double

无符号短整型 unsigned short

有符号短整型 short

无符号整型 unsigned int

有符号整型 int

无符号长整型 unsigned long

有符号长整型 long

基本数据类型

实型

整型

数值型

Page 31: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

选择适当的数据类型

例 2-2 ,看看下面程序的输出是什么 ?

main()

{ int x;

x =10*9*8*7*6*5*4*3*2*1;

printf("%d",x);

} 运行结果: 24320

long int x;

%ld

Page 32: 第二章 基本数据类型

成都信息工程学院软件工程系

前一页

课间休息

6 变量初始化

在说明变量的同时给变量一个初始值。

•变量定义 分配存储空间

•变量初始化 分配存储空间的同时存入数据

int a,b; a

b

?

?

int a=1,b=2; a

b

1

2

值不确定