第二章基本数据类型 21程序设计概述 22C语言的数据类型 23常量和变量 24整型数据 25实型数据 26字符型数据 2.7各类数值数据之间的混合运算
第二章 基本数据类型 2.1 程序设计概述 2.2 C语言的数据类型 2.3 常量和变量 2.4 整型数据 2.5 实型数据 2.6 字符型数据 2.7 各类数值数据之间的混合运算
2.1程序设计概述 个程序应包括对数据的描述和对数据处理的描述。 对数据的描述,即数据结构。数据结构是计算机学 科的核心课程之一,有许多专门著作论述,本课程就不再 赘述。 在C语言中,系统提供的数据结构,是以数据类型的形 式出现的。 2.对数据处理的描述,即计算机算法。算法是为解决 个问题而采取的方法和步骤,是程序的灵魂。为此,著 名计算机科学家沃思( Nikiklaus wirth)提出一个公式: 数据结构+算法=程序 实际上,一个程序除了数据结构和算法外,还必须使 用一种计算机语言,并采用结构化方法来表示
2.1 程序设计概述 一个程序应包括对数据的描述和对数据处理的描述。 1.对数据的描述,即数据结构。数据结构是计算机学 科的核心课程之一,有许多专门著作论述,本课程就不再 赘述。 在C语言中,系统提供的数据结构,是以数据类型的形 式出现的。 2.对数据处理的描述,即计算机算法。算法是为解决 一个问题而采取的方法和步骤,是程序的灵魂。为此,著 名计算机科学家沃思(Nikiklaus Wirth)提出一个公式: 数据结构 + 算法 = 程序 实际上,一个程序除了数据结构和算法外,还必须使 用一种计算机语言,并采用结构化方法来表示
22C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体 分类如下: 1基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。 2构造类型 分为数组类型、结构类型和共用类型三种。 3指针类型。在第10章中介绍。 4空类型 C语言中的数据,有常量和变量之分,它们分别属于上述 这些类型。 本章将介绍基本类型中的整型、实型和字符型三种数据
2.2 C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体 分类如下: 1.基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。 2.构造类型 分为数组类型、结构类型和共用类型三种。 3.指针类型。在第10章中介绍。 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述 这些类型。 本章将介绍基本类型中的整型、实型和字符型三种数据
23常量与变量 23.1常量 1常量的概念 在程序运行过程中,其值不能被改变的量称为常量 常量可以从字面形式即可判断字面常量或直接常量。 2常量的分类 (1)整型常量(如12、0、-3为整型常量) (2)实型常量(46、-1.23为实型常量) (3)字符常量(’a'’、’d字符常量) (4)符号常量。 符号常量:有时为了使程序更加清晰和便于修改,用一个标识符 来代表常量,即给某个常量取个有意义的名字,这种常量称为符号常量。 #define pi 3.1416 使用符号常量的好处: (1)含义清楚、见名知意 (2)修改方便、一改全改。 例:符号常量应用
2.3 常量与变量 2.3.1 常量 1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。 常量可以从字面形式即可判断-字面常量或直接常量。 2.常量的分类 (1)整型常量(如12、0、-3为整型常量) (2)实型常量(4.6、-1.23为实型常 量) (3)字符常量(’a’、’d’字符常量) (4)符号常量。 1、 符号常量:有时为了使程序更加清晰和便于修改,用一个标识符 来代表常量,即给某个常量取个有意义的名字,这种常量称为符号常量。 #define PI 3.1416 使用符号常量的好处: ( 1)含义清楚、见名知意。 ( 2)修改方便、一改全改。 例:符号常量应用
+define ri 3. 14 main O float area area=10米10*P工 printf( area=%f\n", area 结果:area=31400000 232变量 1变量的概念 在程序运行过程中,其值可以被改变的量称为变量。 2变量的两个要素
#define PI 3.14 main() { float area; area=10*10*PI; printf("area=%f\n",area); } 结果:area=314.000000 2.3.2 变量 1.变量的概念 在程序运行过程中,其值可以被改变的量称为变量。 2.变量的两个要素
(1)变量名。每个变量都必须有一个名字一变量名,变量命 名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存中。在 程序中,通过变量名来引用变量的值。 C语言中变量:“先定义,后使用”。即就是说,C要求对所有 用到的变量做强制定义。 3标识符命名规则(再次复习一下上一节课的内容) 1)有效字符:只能由字母、数字和下划线组成,且以字母 或下划线开头。 (2)有效长度:随系统而异,但至少前8个字符有效。如果 超长,则超长部分被舍弃。 例如,由于 student name和 student number的前8个字符相同, 有的系统认为这两个变量,是一回事而不加区别。 在TCV20中,变量名(标识符)的有效长度为1~32个字 符,缺省值为32
(1)变量名。每个变量都必须有一个名字──变量名,变量命 名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存中。在 程序中,通过变量名来引用变量的值。 C语言中变量:“先定义,后使用” 。即就是说,C要求对所有 用到的变量做强制定义。 3.标识符命名规则(再次复习一下上一节课的内容) (1)有效字符:只能由字母、数字和下划线组成,且以字母 或下划线开头。 (2)有效长度:随系统而异,但至少前8个字符有效。如果 超长,则超长部分被舍弃。 例如,由于student_name和student_number的前8个字符相同, 有的系统认为这两个变量,是一回事而不加区别。 在TC V2.0中,变量名(标识符)的有效长度为1~32个字 符,缺省值为32
(3)C语言的关键字不能用作变量名 注意:C语言对英文字母的大小敏感,即同一字母的大 小写,被认为是两个不同的字符。 习惯上,变量名和函数名中的英文字母用小写,以增加 可读性。 思考题:在C语言中,变量名 total与变量名 TOTAL ToaL、 totAl等是同一个变量吗? 粝识符命名的良好惯一见名知意: 所谓“见名知意”是指,通过变量名就知道变量值的含 义。通常应选择能表示数据含义的英文单词(或缩写)作变 量名,或汉语拼音字头作变量名。 例如,name/xm(姓名)、sex/xb(性别)、age/ml(年 龄)、 salary/gz(工资)
(3)C语言的关键字不能用作变量名。 注意:C语言对英文字母的大小敏感,即同一字母的大 小写,被认为是两个不同的字符。 习惯上,变量名和函数名中的英文字母用小写,以增加 可读性。 思考题:在C语言中,变量名total与变量名TOTAL、 ToTaL、tOtAl等是同一个变量吗? 标识符命名的良好习惯──见名知意: 所谓“见名知意”是指,通过变量名就知道变量值的含 义。通常应选择能表示数据含义的英文单词(或缩写)作变 量名,或汉语拼音字头作变量名。 例如,name/xm(姓名)、sex/xb(性别)、age/nl(年 龄)、salary/gz(工资)
2.4整型数据 24.1整型变量 1分类 根据占用内存字节数的不同,整型变量又分为4类 (1)基本整型(类型关键字为int) (2)短整型(类型关键字为 short[int)。 (3)长整型(类型关键字为ong[int)。 (4)无符号整型。无符号型又分为无符号基本整型 ( unsigned[int)、无符号短整型( unsigned short)和无 符号长整型( unsigned long)三种,只能用来存储无符号 整数 2占用内存字节数与值域 上述各类型整型变量占用的内存字节数,随系统而异。 在16位操作系统中,一般用2字节表示一个int型变量,且 long型(4字节)>int型(2字节)≥ short型(2字节)
2.4 整型数据 2.4.1 整型变量 1.分类 根据占用内存字节数的不同,整型变量又分为4类: (1)基本整型(类型关键字为int)。 (2)短整型(类型关键字为short [int])。 (3)长整型(类型关键字为long [int])。 (4)无符号整型。无符号型又分为无符号基本整型 (unsigned [int])、无符号短整型(unsigned short)和无 符号长整型(unsigned long)三种,只能用来存储无符号 整数。 2.占用内存字节数与值域 上述各类型整型变量占用的内存字节数,随系统而异。 在16位操作系统中,一般用2字节表示一个int型变量,且 long型(4字节)>int型(2字节)≥short型(2字节)
显然,不同类型的整型变量,其值域不同。占用内存字 节数为n的(有符号)整型变量,其值域为:-2n81~(2n8-1 );无符号整型变量的值域为:0~(2n8-1) 例如,PC机中的一个in型变量,其值域为22*8-1~(228 ),即-32768-32767;一个 unsigned型变量的值域为:0 (22*8-1),即0-65535。(看书上p12表2-1) 2整型变量的说明 变量说明的一般形式为: 类型说明符变量名标识符,变量名标识符,…;例如: inta,b,c;(a,b,c为整型变量) long x,y;(x,y为长整型变量) unsigned p, q;(P,q为无符号整型变量) 在书写变量说明时,应注意以下几点(看p12) 看书上例题p13
显然,不同类型的整型变量,其值域不同。占用内存字 节数为n的(有符号)整型变量,其值域为:-2 n*8-1~(2 n*8-1 - 1);无符号整型变量的值域为:0~(2 n*8 -1)。 例如,PC机中的一个int型变量,其值域为-2 2*8-1~(2 2*8- 1 -1),即-32768~32767;一个unsigned型变量的值域为:0~ (2 2*8 -1),即0~65535。(看书上p12表2-1) 2.整型变量的说明 变量说明的一般形式为: 类型说明符 变量名标识符,变量名标识符,...; 例如: int a,b,c; (a,b,c为整型变量) long x,y; (x,y为长整型变量) unsigned p,q; (p,q为无符号整型变量) 在书写变量说明时,应注意以下几点(看p12) 看书上例题p13
324,2整型常量 1.三种表示形式 整型常量即整常数,在C语言中可用三种形式表示 (1)十进制(数码取值:0~9)。例如10、36。 (2)八进制(以数字0开头,数码取值:0~7)。 例如012。 (3)十六进制(以数字0+小大写字母x开头,数码取 值:A~F或a-f。例如0x36,0X5A 课堂练习:判断以下常量是否合法? 9A、0X6G、029,等等 整型常数的后缀(看书上pl1) 类型匹配规则为:一个整型常量,可以赋给能容纳下 其值的整型变量。 例如,其值在-215-(215-1)的整型常量,可以 赋给n型变量和 long int型变量;其值在-231--(231-1) 的整型常量,就只能赋给 ong in型变量
2.4.2 整型常量 1.三种表示形式 整型常量即整常数,在C语言中可用三种形式表示: (1)十进制(数码取值:0~9)。例如10、36。 (2)八进制(以数字0开头,数码取值:0~7)。 例如012。 (3)十六进制(以数字0+小/大写字母x开头,数码取 值:A~F或a~f)。例如0x36,0X5A。 课堂练习:判断以下常量是否合法? 9A、0X6G、029,等等 整型常数的后缀(看书上p11) 类型匹配规则为:一个整型常量,可以赋给能容纳下 其值的整型变量。 例如,其值在-215--(215-1)的整型常量,可以 赋给int型变量和long int型变量;其值在-231--(231-1) 的整型常量,就只能赋给long int型变量