制作:方斌 C语言程序设计 教程 郧阳师高等专科学校 计算机科学系 方斌制作
制 作:方 斌 C语言程序设计 教程 郧阳师范高等专科学校 计算机科学系 方 斌 制作
制作:方斌 第3章数据类型、运算符与表达式 3.1程序设计概述 3.2C语言的数据类型 3.3常量和变量 3.4整型数据 3.5实型数据 36字符型数据 3.7算术运算与算术表达式 38赋值运算与赋值表达式 39C语言特有的运算和运算符
制 作:方 斌 第3章 数据类型、运算符与表达式 3.1 程序设计概述 3.2 C语言的数据类型 3.3 常量和变量 3.4 整型数据 3.5 实型数据 3.6 字符型数据 3.7 算术运算与算术表达式 3.8 赋值运算与赋值表达式 3.9 C语言特有的运算和运算符
制作:方斌 3.1程序设计概述 一个程序应包括对数据的描述和对数据处理的描述。 1.对数据的描述,即数据结构。数据结构是计算机 学科的核心课程之一,有许多专门著作论述,本课程就不 再赘述。 在C语言中,系统提供的数据结构,是以数据类型的 形式出现的。 2.对数据处理的描述,即计算机算法。算法是为解 决一个问题而采取的方法和步骤,是程序的灵魂。为此, 著名计算机科学家沃思( Nikiklaus wirth)提出一个公式: 数据结构+算法=程序 实际上,一个程序除了数据结构和算法外,还必须使 用一种计算机语言,并采用结构化方法来表示
制 作:方 斌 3.1 程序设计概述 一个程序应包括对数据的描述和对数据处理的描述。 1.对数据的描述,即数据结构。数据结构是计算机 学科的核心课程之一,有许多专门著作论述,本课程就不 再赘述。 在C语言中,系统提供的数据结构,是以数据类型的 形式出现的。 2.对数据处理的描述,即计算机算法。算法是为解 决一个问题而采取的方法和步骤,是程序的灵魂。为此, 著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式: 数据结构 + 算法 = 程序 实际上,一个程序除了数据结构和算法外,还必须使 用一种计算机语言,并采用结构化方法来表示
制作:方斌 32C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体 分类如下: 1基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。 2构造类型 分为数组类型、结构类型和共用类型三种 3.指针类型。在第10章中介绍。 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述 这些类型。 本章将介绍基本类型中的整型、实型和字符型三种数据
制 作:方 斌 3.2 C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体 分类如下: 1.基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。 2.构造类型 分为数组类型、结构类型和共用类型三种。 3.指针类型。在第10章中介绍。 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述 这些类型。 本章将介绍基本类型中的整型、实型和字符型三种数据
制作:方斌 3.3常量和变量 3.3.1常量 1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。 2常量的分类 (1)整型常量 (2)实型常量 (3)字符常量。 (4)符号常量。 常量的类型,可通过书写形式来判别。 3.32变量 1变量的概念 在程序运行过程中,其值可以被改变的量称为变量。 2变量的两个要素
制 作:方 斌 3.3 常量和变量 3.3.1 常量 1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。 2.常量的分类 (1)整型常量 (2)实型常量 (3)字符常量。 (4)符号常量。 常量的类型,可通过书写形式来判别。 3.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;
制 作:方 斌 4.变量的定义与初始化 在C语言中,要求对所有用到的变量,必须先定义、后使 用;且称在定义变量的同时进行赋初值的操作为变量初始化。 (1)变量定义的一般格式 [存储类型] 数据类型 变量名[, 变量名2……]; 例如,float radius, length, area; (2)变量初始化的一般格式 [存储类型] 数据类型 变量名[=初值][, 变量名2[=初值 2]……]; 例如,float radius=2.5, length, area;
制作:方斌 3.4整型数据 3.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字节)
制 作:方 斌 3.4 整型数据 3.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。 34.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。 3.4.2 整型常量 1.三种表示形式 整型常量即整常数,在C语言中可用三种形式表示: (1)十进制。例如10、36。 (2)八进制(以数字0开头)。例如012。 (3)十六进制(以数字0+小写字母x开头)。例如0x36