
C语言程序设计 赵晓阳
赵晓阳

第2章数据类型、运算苻和表达 式 2.1数据类型 2.2C语言的基本符号 2.3常量与变量 ·2.4运算符与表达式
第2章 数据类型、运算符和表达 式 2.1 数据类型 2.2 C语言的基本符号 2.3 常量与变量 2.4 运算符与表达式

2.1数据类型 数据是程序处理的对象。C语言在程序处理数据之前,要求数据具有 明确的数据类型。数据类型是指数据的内部表示形式,体现的是数据 的操作属性,对具有不同数据类型的数据可进行不同的操作。用户在 程序设计过程中所使用的每个数据都要根据其不同的用途赋以不同的 类型,一个数据只能有一种类型。每种数据类型都由两方面组成,即 数据的存储方式和对该类型的数据的运算方式。 ● 数据类型一般具有以下基本含义: ①数据类型规定了一个以值为其元素的集合,即规定该类型中数据的 定义域。例如double表明计算机能够计算的所有实数;逻辑类型的数 据取值范围是非“真”即“假”。 下一页返回
2.1 数据类型 数据是程序处理的对象。C语言在程序处理数据之前,要求数据具有 明确的数据类型。数据类型是指数据的内部表示形式,体现的是数据 的操作属性,对具有不同数据类型的数据可进行不同的操作。用户在 程序设计过程中所使用的每个数据都要根据其不同的用途赋以不同的 类型,一个数据只能有一种类型。每种数据类型都由两方面组成,即 数据的存储方式和对该类型的数据的运算方式。 数据类型一般具有以下基本含义: ①数据类型规定了一个以值为其元素的集合,即规定该类型中数据的 定义域。例如double表明计算机能够计算的所有实数;逻辑类型的数 据取值范围是非“真”即“假” 。 下一页 返回

2.1数据类型 ②数据类型定义了一个运算集,即不同类型的数据拥有不同的运算关 系。例如,对数值类型数据可进行算术运算,对逻辑类型数据可进行 逻辑关系运算。 ③数据类型定义了数据在计算机内的存储以及在书写中的表示方式。 例如整型占用计算机一个字长,而空类型的长度为零。 ● C语言规定任何数据都必须有明确的数据类型。C语言提供了5种基本 数据类型:字符型(char)、整型(int)、单精度实型(float)、双 精度实型(double)和空类型(void),以及6种聚合类型:数组、指针、 结构体、公用体(联合)、位域和枚举类型。实际上较为复杂的数据结 构或类型是由基本数据类型按照某种方式组合而成的。 上一页 返回
2.1 数据类型 ②数据类型定义了一个运算集,即不同类型的数据拥有不同的运算关 系。例如,对数值类型数据可进行算术运算,对逻辑类型数据可进行 逻辑关系运算。 ③数据类型定义了数据在计算机内的存储以及在书写中的表示方式。 例如整型占用计算机一个字长,而空类型的长度为零。 C语言规定任何数据都必须有明确的数据类型。C语言提供了5种基本 数据类型:字符型(char)、整型(int)、单精度实型(float)、双 精度实型(double)和空类型(void),以及6种聚合类型:数组、指针、 结构体、公用体(联合)、位域和枚举类型。实际上较为复杂的数据结 构或类型是由基本数据类型按照某种方式组合而成的。 上一页 返回

2.2C语言的基本符号 ● 2.21基本符号集 C语言的基本符号集是ASCII字符集,参见本书的附录1。它由以下几 部分组成: ● ①阿拉伯数字10个:0、1、2、3、、8和9 ● ②大小写英文字母各26个:A、B、C、.、Z、a、b、c、、y和z。 ● ③下划线:。 ④特殊符号,主要是指运算符和操作符。相关内容我们将在以后介绍。 下一页返回
2.2 C语言的基本符号 2.2.1 基本符号集 C语言的基本符号集是ASCII字符集,参见本书的附录1。它由以下几 部分组成: ①阿拉伯数字10个:0、1、2、3、…、8和9。 ②大小写英文字母各26个:A、B、C、…、Z、a、b、c、…、y和z。 ③下划线:_。 ④特殊符号,主要是指运算符和操作符。相关内容我们将在以后介绍。 下一页 返回

2.2C语言的基本符号 ● 2.2.2标识符 标识符是一个字符序列。C语言的标识符可分为用户标识符、 保留字和预定义标识符3类,有些教材称保留字为“关键字” 。 标识符的作用是作为常量、变量、函数和类型的名称。 。1.用户标识符 ● 用户可以根据需要对℃程序中用到的变量、符号常量、用户函 数或文件指针进行命名,形成用户标识符,这类标识符的构 成规则如下: ● ①由英文字母、数字和下划线组成,且第1个字符不能是数字, 必须是字母或下划线。 ● 例如:a、A、aBc、xz和y_3都是合法的标识符,而123、 3_ab、#abc、!45和a*bc都是非法标识符。 上一页下一页返回
2.2 2.2.2 标识符 C语言的基本符号 标识符是一个字符序列。C语言的标识符可分为用户标识符、 保留字和预定义标识符3类,有些教材称保留字为“关键字” 。 标识符的作用是作为常量、变量、函数和类型的名称。 1.用户标识符 用户可以根据需要对C程序中用到的变量、符号常量、用户函 数或文件指针进行命名,形成用户标识符,这类标识符的构 成规则如下: ①由英文字母、数字和下划线组成,且第1个字符不能是数字, 必须是字母或下划线。 例如:a、_A、aBc、xlz和y_3都是合法的标识符,而123、 3_ab、#abc、!45和a*bc都是非法标识符。 上一页 下一页 返回

2.2C语言的基本符号 ②大、小写英文字母的含义不同。比如SUM、Sum和sum代表3个不 同的标识符,这一点一定要注意。 ③C语言本身并没有要求标识符的长度,不同的C编译系统允许包含的 字符个数有所不同。通常可以识别前面8个字符,但在任何机器上, 所能识别的标识符的长度总是有限的,有些系统可以识别长达31个字 符的标识符(如VAX-11VMSC),而有些系统只能识别8个字符长度 的标识符。这意味着即使第9个字符不同,只要前8个字符一样,系统 也认为是同一个标识符,如:Category和Category2表示同一个标识 符。因此,为了避免出错和增加可移植性,标识符最好前8个字符有 所区别。 上一页下一页返回
2.2 C语言的基本符号 ②大、小写英文字母的含义不同。比如SUM、Sum和sum代表3个不 同的标识符,这一点一定要注意。 ③C语言本身并没有要求标识符的长度,不同的C编译系统允许包含的 字符个数有所不同。通常可以识别前面8个字符,但在任何机器上, 所能识别的标识符的长度总是有限的,有些系统可以识别长达31个字 符的标识符(如VAX-11 VMSC),而有些系统只能识别8个字符长度 的标识符。这意味着即使第9个字符不同,只要前8个字符一样,系统 也认为是同一个标识符,如:Category1和Category2表示同一个标识 符。因此,为了避免出错和增加可移植性,标识符最好前8个字符有 所区别。 上一页 下一页 返回

2.2C语言的基本符号 ④用户定义标识符时,应当尽量遵循“简洁明了”和“见名知意”的 原则。一个写得好的程序,标识符的选择应尽量反映出所代表对象的 实际意思。如表示“年”可以用year,表示“长度”可以用length, 表示加数的“和”可以用su等,这样增加了标识符的可读性,使程 序更加清晰。 ·例21指出以下各标识符组中合法的用户标识符。 ① A.PAd与p#d B.scanf与al0 C.void与max D.a¥与temp ② A.b-b与abc B.CCP与float C.hiy与 D.-isw与INT ③ A._0123与ssiped B.del-word与signed C.list与*jer D.keep%与wind 上一页下一顶 返回
2.2 C语言的基本符号 ④用户定义标识符时,应当尽量遵循“简洁明了”和“见名知意”的 原则。一个写得好的程序,标识符的选择应尽量反映出所代表对象的 实际意思。如表示“年”可以用year,表示“长度”可以用length, 表示加数的“和”可以用sum等,这样增加了标识符的可读性,使程 序更加清晰。 例2-1 指出以下各标识符组中合法的用户标识符。 上一页 下一页 返回

2.2C语言的基本符号 分析:C语言规定用户标识符可以由26个英文字母(大写或小写)、数 字(o~9)和下划线()组成,且第1个必须是字母或下划线。对于第1组 选择项,由于A.和D.中分别包含有非法的标识符字符(#和*),而C.中 又使用了关键字void,因此都不是合法的用户标识符;答案B.中虽然 使用了预定义标识符scanf,但它不是关键字,C语言语法允许将预定 义标识符作为用户标识符使用,因此编译时并不报错,只是这样会使 其失去原来的特定含义,所以虽然合法但不提倡。故第组中B.是正确 答案。同理第2组中D.是正确答案,第3组中A是正确答案。在第2组的 D.答案中有INT为大写而不是关键字,因为C语言中大小写字母是不 一样的字符。 上一页下一页返回
2.2 C语言的基本符号 分析:C语言规定用户标识符可以由26个英文字母(大写或小写)、数 字(0~9)和下划线 (_)组成,且第1个必须是字母或下划线。对于第1组 选择项,由于A.和D.中分别包含有非法的标识符字符(#和*),而C.中 又使用了关键字void,因此都不是合法的用户标识符;答案B.中虽然 使用了预定义标识符scanf,但它不是关键字,C语言语法允许将预定 义标识符作为用户标识符使用,因此编译时并不报错,只是这样会使 其失去原来的特定含义,所以虽然合法但不提倡。故第1组中B.是正确 答案。同理第2组中D.是正确答案,第3组中A.是正确答案。在第2组的 D.答案中有INT为大写而不是关键字,因为C语言中大小写字母是不 一样的字符。 上一页 下一页 返回

2.2C语言的基本体符号 2.保留字 保留字是C语言编译系统固有的、,用作语句名和类型名的标识符。C语 言共有32个保留字,每个保留字在C程序中都代表着某一固定含义, 厅有保留字都要用小写英文字母表示,且这些保留字都不允许作为用 户标识符使用。 ● ①描述数据类型定义:typedef,void。 ②描述存储类型:auto,extern,.register,,static和volatile。 ③描述数据类型: char,const,double,float,int,long,short,signed,struct,union,unsig ned和enum。 ④描述语句: break,case,continue,default,do,else,for,goto,if,return,sizeof,swit ch和while。 上一页下一页返回
2.2 C语言的基本符号 2.保留字 保留字是C语言编译系统固有的、用作语句名和类型名的标识符。C语 言共有32个保留字,每个保留字在C程序中都代表着某一固定含义, 所有保留字都要用小写英文字母表示,且这些保留字都不允许作为用 户标识符使用。 ①描述数据类型定义:typedef,void。 ②描述存储类型:auto,extern,register,static和volatile。 ③描述数据类型: char,const,double,float,int,long,short,signed,struct,union,unsig ned和enum。 ④描述语句: break,case,continue,default,do,else,for,goto,if,return,sizeof,swit ch和while。 上一页 下一页 返回