第2章数据类型、运算符与表达式 21程序设计概述 2,2C语言的数据类型 23常量和变量 2,4_整型数据 25实型数据 2.6字符型数据 2,7算术运算与算术表达式 2,8赋值运算与赋值表达式 29C语言特有的运算和运算符 REturn
第2章 数据类型、运算符与表达式 2.1 程序设计概述 2.2 C语言的数据类型 2.3 常量和变量 2.4 整型数据 2.5 实型数据 2.6 字符型数据 2.7 算术运算与算术表达式 2.8 赋值运算与赋值表达式 2.9 C语言特有的运算和运算符 [Return]
21程序设计概述 个程序应包括对数据的描述和对数据处理的描述。 对数据的描述,即数据结构。数据结构是计算机学 科的核心课程之一,有许多专门著作论述,本课程就不再 赘述。 在C语言中,系统提供的数据结构,是以数据类型的形 式出现的。 2.对数据处理的描述,即计算机算法。算法是为解决 个问题而采取的方法和步骤,是程序的灵魂。为此,著 名计算机科学家沃思( Nikiklaus wirth)提出一个公式: 数据结构+算法=程序 实际上,一个程序除了数据结构和算法外,还必须使 用一种计算机语言,并采用结构化方法来表示, Return
2.1 程序设计概述 一个程序应包括对数据的描述和对数据处理的描述。 1.对数据的描述,即数据结构。数据结构是计算机学 科的核心课程之一,有许多专门著作论述,本课程就不再 赘述。 在C语言中,系统提供的数据结构,是以数据类型的形 式出现的。 2.对数据处理的描述,即计算机算法。算法是为解决 一个问题而采取的方法和步骤,是程序的灵魂。为此,著 名计算机科学家沃思(Nikiklaus Wirth)提出一个公式: 数据结构 + 算法 = 程序 实际上,一个程序除了数据结构和算法外,还必须使 用一种计算机语言,并采用结构化方法来表示。 [Return]
22C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体 分类如下 1.基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种 2构造类型 分为数组类型、结构类型和共用类型三种 3指针类型。在第9章中介绍 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述 这些类型。 本章将介绍基本类型中的整型、实型和字符型三种数据 REturn
2.2 C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体 分类如下: 1.基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。 2.构造类型 分为数组类型、结构类型和共用类型三种。 3.指针类型。在第9章中介绍。 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述 这些类型。 本章将介绍基本类型中的整型、实型和字符型三种数据。 [Return]
23常量和变量 231常量 1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。 2常量的分类 (1)整型常量 (2)实型常量 (3)字符常量。 (4)符号常量。 常量的类型,可通过书写形式来判别。 232变量 1变量的概念 在程序运行过程中,其值可以被改变的量称为变量。 2变量的两个要素
2.3 常量和变量 2.3.1 常量 1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。 2.常量的分类 (1)整型常量 (2)实型常量 (3)字符常量。 (4)符号常量。 常量的类型,可通过书写形式来判别。 2.3.2 变量 1.变量的概念 在程序运行过程中,其值可以被改变的量称为变量。 2.变量的两个要素
(1)变量名。每个变量都必须有一个名字—变量名, 变量命名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内 存中。在程序中,通过变量名来引用变量的值。 3标识符命名规则 (1)有效字符:只能由字母、数字和下划线组成, 且以字母或下划线开头。 (2)有效长度:随系统而异,但至少前8个字符有 效。如果超长,则超长部分被舍弃 例如,由于 student name和 student number的前8个字 符相同,有的系统认为这两个变量,是一回事而不加区 别 在TCV2.0中,变量名(标识符)的有效长度为1 32个字符,缺省值为32
(1)变量名。每个变量都必须有一个名字──变量名, 变量命名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内 存中。在程序中,通过变量名来引用变量的值。 3.标识符命名规则 (1)有效字符:只能由字母、数字和下划线组成, 且以字母或下划线开头。 (2)有效长度:随系统而异,但至少前8个字符有 效。如果超长,则超长部分被舍弃。 例如,由于student_name和student_number的前8个字 符相同,有的系统认为这两个变量,是一回事而不加区 别。 在TC V2.0中,变量名(标识符)的有效长度为1~ 32个字符,缺省值为32
(3)C语言的关键字不能用作变量名。 注意:C语言对英文字母的大小敏感,即同一字母的大 小写,被认为是两个不同的字符。 习惯上,变量名和函数名中的英文字母用小写,以增加 读性。 思考题:在C语言中,变量名 total与变量名 TOTAL ToTaL、tOtA等是同一个变量吗? 粝识符命名的良好又惯一见名知意: 所谓“见名知意”是指,通过变量名就知道变量值的含 义。通常应选择能表示数据含义的英文单词(或缩写)作变 量名,或汉语拼音字头作变量名。 例如,name/xm(姓名)、 sex/xb(性别)、age/ml(年 龄)、 salary/gz(工资)
(3)C语言的关键字不能用作变量名。 注意:C语言对英文字母的大小敏感,即同一字母的大 小写,被认为是两个不同的字符。 习惯上,变量名和函数名中的英文字母用小写,以增加 可读性。 思考题:在C语言中,变量名total与变量名TOTAL、 ToTaL、tOtAl等是同一个变量吗? 标识符命名的良好习惯──见名知意: 所谓“见名知意”是指,通过变量名就知道变量值的含 义。通常应选择能表示数据含义的英文单词(或缩写)作变 量名,或汉语拼音字头作变量名。 例如,name/xm(姓名)、sex/xb(性别)、age/nl(年 龄)、salary/gz(工资)
4变量的定义与初始化 在C语言中,要求对所有用到的变量,必须先定义、后使 用;且称在定义变量的同时进行赋初值的操作为变量初始化。 (1)变量定义的一般格式 [存储类型]数据类型变量名[,变量名2.…]; 例如, float radius, length, area (2)变量初始化的一般格式 [存储类型]数据类型变量名[匚初值],变量名2[=初值 例如, float radius-2.5, length,area; R eturn
4.变量的定义与初始化 在C语言中,要求对所有用到的变量,必须先定义、后使 用;且称在定义变量的同时进行赋初值的操作为变量初始化。 (1)变量定义的一般格式 [存储类型] 数据类型 变量名[, 变量名2……]; 例如,float radius, length, area; (2)变量初始化的一般格式 [存储类型] 数据类型 变量名[=初值][, 变量名2[=初值 2]……]; 例如,float radius=2.5, length, area; [Return]
2.4整型数据 24.1整型变量 1分类 根据占用内存字节数的不同,整型变量又分为4类: (1)基本整型(类型关键字为int)。 (2)短整型(类型关键字为 short[int])。 (3)长整型(类型关键字为long[nt)。 (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的(有符号)整型变量,其值域为:-2n*8-1~(2叶*81 1);无符号整型变量的值域为:0~(2n*8-1) 例如,PC机中的一个int型变量,其值域为-2281~(22+8 1),即-32768~32767;一个 unsigned型变量的值域为:0~ (28-1),即0~65535 24.2整型常量 三种表示形式 整型常量即整常数,在C语言中可用三种形式表示: (1)十进制。例如10、36。 (2)八进制(以数字0开头)。例如012 (3)十六进制(以数字0+小写字母x开头)。例如0x36
显然,不同类型的整型变量,其值域不同。占用内存字 节数为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。 2.4.2 整型常量 1.三种表示形式 整型常量即整常数,在C语言中可用三种形式表示: (1)十进制。例如10、36。 (2)八进制(以数字0开头)。例如012。 (3)十六进制(以数字0+小写字母x开头)。例如0x36
2分类 (1)基本整型。在16位机中,用2字节存储,其数据范 围与int型变量一样 (2)长整型(在数值后面加“L(1)”)。对超出基 本整型值域的整型常量,可使用长整型常量表示,其取值 范围可达-231-(231-1)。例如,1231、315L等 3类型匹配规则 类型匹配规则为:一个整型常量,可以赋给能容纳下其 值的整型变量。 例如,其值在-215--(215-1)的整型常量,可以赋 给int型变量和 l long int型变量;其值在-231-(231-1) 的整型常量,就只能赋给 long int型变量。 注意:常量无 unsigned型。但一个非负整型常量,只要 它的值不超过相应变量的值域(即取值范围),也可以赋 给 unsigned型变量。 Return
2.分类 (1)基本整型。在16位机中,用2字节存储,其数据范 围与int型变量一样。 (2)长整型(在数值后面加“L(l)”)。对超出基 本整型值域的整型常量,可使用长整型常量表示,其取值 范围可达-231-(231-1)。例如,123l、315L等。 3.类型匹配规则 类型匹配规则为:一个整型常量,可以赋给能容纳下其 值的整型变量。 例如,其值在-215--(215-1)的整型常量,可以赋 给int型变量和long int型变量;其值在-231--(231-1) 的整型常量,就只能赋给long int型变量。 注意:常量无unsigned型。但一个非负整型常量,只要 它的值不超过相应变量的值域(即取值范围),也可以赋 给unsigned型变量。 [Return]