制作:方斌 第2章数据类型、运算符与表达式 2.1程序设计概述 2.2c语言的数据类型 2.3常量和变量 24整型数据 25实型数据 2.6字符型数据 2.7算术运算与算术表达式 28·赋值运算与赋值表达式 2.9c语言特有的运算和运算符 Return
制 作:方 斌 第2章 数据类型、运算符与表达式 2.1 程序设计概述 2.2 C语言的数据类型 2.3 常量和变量 2.4 整型数据 2.5 实型数据 2.6 字符型数据 2.7 算术运算与算术表达式 2.8 赋值运算与赋值表达式 2.9 C语言特有的运算和运算符 [Return]
制作:方斌 2.1程序设计概述 一个程序应包括对数据的描述和对数据处理的描述。 1.对数据的描述,即数据结构。数据结构是计算机学科的核心 课程之一,有许多专门著作论述,本课程就不再赘述。 在C语言中,系统提供的数据结构,是以数据类型的形式岀现的 2.对数据处理的描述,即计算机算法。算法是为解决一个问题 而采取的方法和步骤,是程序的灵魂。为此,著名计算机科学家沃思 ( Nikiklaus wirth)提出一个公式: 数据结构+算法=程序 实际上,一个程序除了数据结构和算法外,还必须使用一种计算 机语言,并采用结构化方法来表示。 REturn]
制 作:方 斌 2.1 程序设计概述 一个程序应包括对数据的描述和对数据处理的描述。 1.对数据的描述,即数据结构。数据结构是计算机学科的核心 课程之一,有许多专门著作论述,本课程就不再赘述。 在C语言中,系统提供的数据结构,是以数据类型的形式出现的。 2.对数据处理的描述,即计算机算法。算法是为解决一个问题 而采取的方法和步骤,是程序的灵魂。为此,著名计算机科学家沃思 (Nikiklaus Wirth)提出一个公式: 数据结构 + 算法 = 程序 实际上,一个程序除了数据结构和算法外,还必须使用一种计算 机语言,并采用结构化方法来表示。 [Return]
制作:方斌 2.2C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体分类如下: 1基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。 2构造类型 分为数组类型、结构类型和共用类型三种。 3指针类型。在第9章中介绍。 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述这些类型 本章将介绍基本类型中的整型、实型和字符型三种数据。 ReturnI
制 作:方 斌 2.2 C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体分类如下: 1.基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。 2.构造类型 分为数组类型、结构类型和共用类型三种。 3.指针类型。在第9章中介绍。 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。 本章将介绍基本类型中的整型、实型和字符型三种数据。 [Return]
制作:方斌 23常量和变量 2.3.1常量 1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。 2常量的分类 (1)整型常量 (2)实型常量 (3)字符常量。 (4)符号常量。 常量的类型,可通过书写形式来判别。 2.3.2变量 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语言中,变量名tota与变量名 TOTAL、 ToTaL、 tOtA等是同一个变量吗? 标识符命名的好习惯一见名知意 所谓“见名知意”是指,通过变量名就知道变量值的含义。通常应 选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头 作变量名。 例如,name/xm(姓名)、sex/xb(性别)、age/nηl(年龄)、 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[=初值2]……]; 例如, float radius=2.5, length,area; REturn
制 作:方 斌 4.变量的定义与初始化 在C语言中,要求对所有用到的变量,必须先定义、后使用;且称在 定义变量的同时进行赋初值的操作为变量初始化。 (1)变量定义的一般格式 [存储类型] 数据类型 变量名[, 变量名2……]; 例如,float radius, length, area; (2)变量初始化的一般格式 [存储类型] 数据类型 变量名[=初值][, 变量名2[=初值2]……]; 例如,float radius=2.5, length, area; [Return]
制作:方斌 2.4整型数据 2.4.1整型变量 1.分类 根据占用内存字节数的不同,整型变量又分为4类: (1)基本整型(类型关键字为int)。 (2)短整型(类型关键字为 short[int])。 (3)长整型(类型关键字为ong[int])。 (4)无符号整型。无符号型又分为无符号基本整型( unsigned[int])、 无符号短整型( unsigned short)和无符号长整型( unsigned long)三种, 只能用来存储无符号整数。 2.占用内存字节数与值域 上述各类型整型变量占用的内存字节数,随系统而异。在16位操作系统 中,一般用2字节表示一个int型变量,且ong型(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~(2n*8-1-1);无符号整型变 量的值域为:0~(2n8-1) 例如,PC机中的一个int型变量,其值域为-228-1~(228-1-1), 即-32768~32767;一个 unsigned型变量的值域为:0~(228-1), 即0~65535。 2.4.2整型常量 三种表示形式 整型常量即整常数,在C语言中可用三种形式表示 (1)十进制。例如10、36。 (2)八进制(以数字O开头)。例如012。 (3)十六进制(以数字O+小写字母x开头)。例如0x36
制 作:方 斌 显然,不同类型的整型变量,其值域不同。占用内存字节数为n的 (有符号)整型变量,其值域为:-2n*8-1~(2n*8-1-1);无符号整型变 量的值域为:0~(2n*8-1)。 例如,PC机中的一个int型变量,其值域为-22*8-1~(22*8-1-1), 即-32768~32767;一个unsigned型变量的值域为:0~(22*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(D)”)。对超出基本整型值域 的整型常量,可使用长整型常量表示,其取值范围可达-231-(231 1)。例如,123、315L等。 3.类型匹配规则 类型匹配规则为:一个整型常量,可以赋给能容纳下其值的整型 变量。 例如,其值在-215-(215-1)的整型常量,可以赋给int型变 量和 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]