第2章数据类型、运算符和表达式.ppt
《第2章数据类型、运算符和表达式.ppt》由会员分享,可在线阅读,更多相关《第2章数据类型、运算符和表达式.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计主编:连卫民 何 樱第2章 数据类型、运算符和表达式本章主要内容:本章主要内容:本章主要内容:本章主要内容:2.1 2.1 数据类型数据类型数据类型数据类型2.2 2.2 常量和变量常量和变量常量和变量常量和变量2.3 2.3 整型数据整型数据整型数据整型数据(重点(重点(重点(重点)2.4 2.4 实型数据实型数据实型数据实型数据(重点(重点(重点(重点)2.5 2.5 字符型数据字符型数据字符型数据字符型数据(重点(重点(重点(重点)2.6 2.6 数据的基本运算(重点)数据的基本运算(重点)数据的基本运算(重点)数据的基本运算(重点)2.7 2.7 混合运算混合运算混合运算
2、混合运算本章教学要求:本章教学要求:本章教学要求:本章教学要求:熟悉熟悉熟悉熟悉C C语言的语句和数据类型语言的语句和数据类型语言的语句和数据类型语言的语句和数据类型 掌握掌握掌握掌握C C语言的数据表示方法和算术、赋值、关系、逻辑等运算语言的数据表示方法和算术、赋值、关系、逻辑等运算语言的数据表示方法和算术、赋值、关系、逻辑等运算语言的数据表示方法和算术、赋值、关系、逻辑等运算及其表达式及其表达式及其表达式及其表达式 2.1 数据类型概述数据类型概述数据类型数据类型的概念的概念数据数据数据数据是程序的必要组成部分,也是程序处理的对是程序的必要组成部分,也是程序处理的对是程序的必要组成部分,也
3、是程序处理的对是程序的必要组成部分,也是程序处理的对象,在高级语言中广泛地使用象,在高级语言中广泛地使用象,在高级语言中广泛地使用象,在高级语言中广泛地使用“数据类型数据类型数据类型数据类型”来描述来描述来描述来描述数据。数据。数据。数据。数据类型数据类型数据类型数据类型是对数据的是对数据的是对数据的是对数据的“抽象抽象抽象抽象”。数据类型数据类型数据类型数据类型规定了该类数据的取值范围和该类数据规定了该类数据的取值范围和该类数据规定了该类数据的取值范围和该类数据规定了该类数据的取值范围和该类数据所能参与的运算,是这类数据的所能参与的运算,是这类数据的所能参与的运算,是这类数据的所能参与的运算
4、,是这类数据的值与运算值与运算值与运算值与运算的集合。的集合。的集合。的集合。第2章 数据类型、运算符和表达式2.1 数据类型概述数据类型概述C C语言中的数据类型语言中的数据类型语言中的数据类型语言中的数据类型1.1.基本类型基本类型基本类型基本类型:由系统提供:由系统提供:由系统提供:由系统提供 整型、实型、字符型整型、实型、字符型整型、实型、字符型整型、实型、字符型2.2.构造类型构造类型构造类型构造类型:由用户构造:由用户构造:由用户构造:由用户构造 枚举型、数组、结构体、共用体枚举型、数组、结构体、共用体枚举型、数组、结构体、共用体枚举型、数组、结构体、共用体3.3.指针类型指针类型
5、指针类型指针类型:变量的内存地址:变量的内存地址:变量的内存地址:变量的内存地址 4.4.空类型空类型空类型空类型说明:说明:说明:说明:数据类型要熟记:类型名、存储长度、数据范围数据类型要熟记:类型名、存储长度、数据范围数据类型要熟记:类型名、存储长度、数据范围数据类型要熟记:类型名、存储长度、数据范围第2章 数据类型、运算符和表达式2.2 常量和变量常量和变量数据的表示数据的表示数据的表示数据的表示是指数据在计算机中的描述形式。它是指数据在计算机中的描述形式。它是指数据在计算机中的描述形式。它是指数据在计算机中的描述形式。它有常量、变量和地址(即指针)三种形式。有常量、变量和地址(即指针)
6、三种形式。有常量、变量和地址(即指针)三种形式。有常量、变量和地址(即指针)三种形式。2.2.1 常量常量常量常量常量常量是指在程序的执行过程中,值不能发生变化是指在程序的执行过程中,值不能发生变化是指在程序的执行过程中,值不能发生变化是指在程序的执行过程中,值不能发生变化的量和具有固定值的量。的量和具有固定值的量。的量和具有固定值的量。的量和具有固定值的量。类型类型类型类型:整型常量、实型常量、字符型常量、字符:整型常量、实型常量、字符型常量、字符:整型常量、实型常量、字符型常量、字符:整型常量、实型常量、字符型常量、字符串常量和符号常量。串常量和符号常量。串常量和符号常量。串常量和符号常量
7、。第2章 数据类型、运算符和表达式2.2 常量和变量常量和变量2.2.1 常量常量例如,例如,6、2.8、a、abcd分别是整型、实型、字符型和字分别是整型、实型、字符型和字符串常量,符号常量则是在程序(或程序的一部分)中指定符串常量,符号常量则是在程序(或程序的一部分)中指定的用标识符代表的常量的用标识符代表的常量。符号常量用符号常量用#define命令行定义,其命令格式为:命令行定义,其命令格式为:#define 标识符标识符 常量值常量值 例如例如:#define PI 3.14 如果如果作了以上定义,在程序中凡用到作了以上定义,在程序中凡用到值的地方,均可值的地方,均可使用使用 符号符
8、号常量常量PI。第2章 数据类型、运算符和表达式2.2 常量和变量常量和变量2.2.1 常量常量【例【例2-1】求圆面积。求圆面积。第2章 数据类型、运算符和表达式2.2 数据的表示数据的表示2.2.2 变量变量1.1.变量的概念变量的概念变量的概念变量的概念 数据被存储在一定的内存单元中,数据连同存储它的内存单数据被存储在一定的内存单元中,数据连同存储它的内存单数据被存储在一定的内存单元中,数据连同存储它的内存单数据被存储在一定的内存单元中,数据连同存储它的内存单元被抽象为元被抽象为元被抽象为元被抽象为变量变量变量变量。说明说明说明说明:每个变量都有一个名字,这个名字称为变量名,它代表了某段
9、存储每个变量都有一个名字,这个名字称为变量名,它代表了某段存储每个变量都有一个名字,这个名字称为变量名,它代表了某段存储每个变量都有一个名字,这个名字称为变量名,它代表了某段存储单元及其所存储的数据。单元及其所存储的数据。单元及其所存储的数据。单元及其所存储的数据。例如例如例如例如:当在程序中出现下面的语句:当在程序中出现下面的语句:当在程序中出现下面的语句:当在程序中出现下面的语句:int a=5;int a=5;它意味着,在程序中定义了一个整型变量,变量名为它意味着,在程序中定义了一个整型变量,变量名为它意味着,在程序中定义了一个整型变量,变量名为它意味着,在程序中定义了一个整型变量,变量
10、名为a a,其值为,其值为,其值为,其值为5 5,它在内存中占据连续的它在内存中占据连续的它在内存中占据连续的它在内存中占据连续的2 2个内存单元用于存放数据。个内存单元用于存放数据。个内存单元用于存放数据。个内存单元用于存放数据。第2章 数据类型、运算符和表达式2.2 数据的表示数据的表示2.2.2 变量变量2 2.标识符标识符标识符标识符 C C语言中对程序中的实体,如:变量、常量、函数、数组、语言中对程序中的实体,如:变量、常量、函数、数组、语言中对程序中的实体,如:变量、常量、函数、数组、语言中对程序中的实体,如:变量、常量、函数、数组、结构体以及文件的名字统称为结构体以及文件的名字统
11、称为结构体以及文件的名字统称为结构体以及文件的名字统称为标识符标识符标识符标识符。标识符的标识符的标识符的标识符的命名规则命名规则命名规则命名规则 :由字母、数字和下划线组成,且以字母或下划线开头。由字母、数字和下划线组成,且以字母或下划线开头。由字母、数字和下划线组成,且以字母或下划线开头。由字母、数字和下划线组成,且以字母或下划线开头。标识符的长度标识符的长度标识符的长度标识符的长度无统一规定,最多可取到无统一规定,最多可取到无统一规定,最多可取到无统一规定,最多可取到3232个字符。考虑个字符。考虑个字符。考虑个字符。考虑到程序的可移植性,建议标识符的长度最长不要超过到程序的可移植性,建
12、议标识符的长度最长不要超过到程序的可移植性,建议标识符的长度最长不要超过到程序的可移植性,建议标识符的长度最长不要超过8 8个个个个字符。字符。字符。字符。标识符不能与标识符不能与标识符不能与标识符不能与C C语言提供的语言提供的语言提供的语言提供的关键字关键字关键字关键字同名同名同名同名。尽量尽量尽量尽量做到做到做到做到“见名知义见名知义见名知义见名知义”,以增加程序的可读性。,以增加程序的可读性。,以增加程序的可读性。,以增加程序的可读性。第2章 数据类型、运算符和表达式2.2 数据的表示数据的表示2.2.2 变量变量3 3.变量的定义与初始化变量的定义与初始化变量的定义与初始化变量的定义
13、与初始化 变量定义变量定义变量定义变量定义:在:在:在:在C C语言中,要求对所有用到的变量必须语言中,要求对所有用到的变量必须语言中,要求对所有用到的变量必须语言中,要求对所有用到的变量必须“先定义,先定义,先定义,先定义,后使用后使用后使用后使用”,也就是在使用这个变量之前,必须先说明其数据类,也就是在使用这个变量之前,必须先说明其数据类,也就是在使用这个变量之前,必须先说明其数据类,也就是在使用这个变量之前,必须先说明其数据类型。型。型。型。变量初始化变量初始化变量初始化变量初始化:是指在定义变量时给变量赋值。:是指在定义变量时给变量赋值。:是指在定义变量时给变量赋值。:是指在定义变量时
14、给变量赋值。例如例如例如例如 :float a;float a;char ch;char ch;int x=5,y=6;/*int x=5,y=6;/*在内存中申请两个整数空间在内存中申请两个整数空间在内存中申请两个整数空间在内存中申请两个整数空间x x、y y,并存入初值,并存入初值,并存入初值,并存入初值5 5、6*/6*/float a=2.5;/*float a=2.5;/*在内存中申请一个实数空间在内存中申请一个实数空间在内存中申请一个实数空间在内存中申请一个实数空间a,a,并存入初值并存入初值并存入初值并存入初值2.5*/2.5*/char ch=m;/*char ch=m;/*在
15、内存中申请一个字符空间在内存中申请一个字符空间在内存中申请一个字符空间在内存中申请一个字符空间ch,ch,并存入初值并存入初值并存入初值并存入初值m*/m*/第2章 数据类型、运算符和表达式2.3 整型数据整型数据2.3.1 整型常量整型常量 整型常量就是整型常量就是整型常量就是整型常量就是整数整数整数整数。表示形式:。表示形式:。表示形式:。表示形式:(1 1)十进制表示。)十进制表示。)十进制表示。)十进制表示。例如例如例如例如:215215、1515、-10-10等。等。等。等。(2 2)八进制表示)八进制表示)八进制表示)八进制表示。程序中凡以数字。程序中凡以数字。程序中凡以数字。程序
16、中凡以数字0 0开头开头开头开头的数被认为是八进制的数被认为是八进制的数被认为是八进制的数被认为是八进制数。数。数。数。例如例如例如例如:010010、025025,转换为十进制数分别是,转换为十进制数分别是,转换为十进制数分别是,转换为十进制数分别是8 8和和和和2121。(3 3)十六进制表示)十六进制表示)十六进制表示)十六进制表示。程序中凡以。程序中凡以。程序中凡以。程序中凡以0 x0 x(数字(数字(数字(数字0 0和小写字母和小写字母和小写字母和小写字母x x)开头)开头)开头)开头的数是十六进制数。的数是十六进制数。的数是十六进制数。的数是十六进制数。例如例如例如例如:0 x32
17、:0 x32、0 x840 x84,转换为十进制数分别是,转换为十进制数分别是,转换为十进制数分别是,转换为十进制数分别是5050和和和和132132。第2章 数据类型、运算符和表达式2.3 整型数据整型数据2.3.2 整型变量整型变量1.整型变量的分类整型变量的分类整型变量可分为四类:整型变量可分为四类:(1)基本整型,用)基本整型,用int表示。表示。(2)短整型,用)短整型,用short int 或或short表示。表示。(3)长整型,用)长整型,用long int 或或long表示。表示。(4)无符号整型,用)无符号整型,用unsigned表示。表示。无符号整型变量又分为:无符号整型变
18、量又分为:无符号整型,用无符号整型,用unsigned int表示。表示。无符号短整型,用无符号短整型,用unsigned short表示。表示。无符号长整型,用无符号长整型,用unsigned long表示。表示。第2章 数据类型、运算符和表达式2.3 整型数据整型数据2.3.2 整型变量整型变量2.整型变量的存储整型变量的存储 存储:存储:存储:存储:整型变量在内存中所占字节数如表整型变量在内存中所占字节数如表整型变量在内存中所占字节数如表整型变量在内存中所占字节数如表2-32-3所示。所示。所示。所示。在内存中存储整数时,一般以其最高位(即最左边一位)表在内存中存储整数时,一般以其最高位
19、(即最左边一位)表在内存中存储整数时,一般以其最高位(即最左边一位)表在内存中存储整数时,一般以其最高位(即最左边一位)表示数的符号,用示数的符号,用示数的符号,用示数的符号,用0 0表示正,用表示正,用表示正,用表示正,用1 1表示负。表示负。表示负。表示负。数值是以数值是以数值是以数值是以补码补码补码补码形式存放的:一个正数的补码就是该数的二进形式存放的:一个正数的补码就是该数的二进形式存放的:一个正数的补码就是该数的二进形式存放的:一个正数的补码就是该数的二进制数(例如,制数(例如,制数(例如,制数(例如,1010的补码为的补码为的补码为的补码为00000000 000010100000
20、0000 00001010);一个负数);一个负数);一个负数);一个负数的补码是:的补码是:的补码是:的补码是:取该数的绝对值;取该数的绝对值;取该数的绝对值;取该数的绝对值;以二进制形式表示;以二进制形式表示;以二进制形式表示;以二进制形式表示;对各位取反;对各位取反;对各位取反;对各位取反;加加加加1 1。例如例如例如例如-10-10的补码可以这样求:的补码可以这样求:的补码可以这样求:的补码可以这样求:先取先取先取先取1010;10 10的二进制码为的二进制码为的二进制码为的二进制码为00000000 0000101000000000 00001010;各位取反得各位取反得各位取反得各
21、位取反得11111111 1111010111111111 11110101;加加加加1 1得得得得11111111 1111011011111111 11110110,它就是,它就是,它就是,它就是-10-10的补码。的补码。的补码。的补码。第2章 数据类型、运算符和表达式2.3 整型数据整型数据2.3.2 整型变量整型变量2.整型变量的整型变量的存储存储【例【例2-3】用用sizeof运算符测定所用的运算符测定所用的C系统中各数据类型的长度。系统中各数据类型的长度。第2章 数据类型、运算符和表达式2.3 整型数据整型数据2.3.2 整型变量整型变量2.整型变量的整型变量的存储存储【例【例2
22、-4】整型数据的溢出。整型数据的溢出。第2章 数据类型、运算符和表达式2.3 整型数据整型数据2.3.2 整型变量整型变量3.整型变量整型变量的的定义定义对变量要对变量要“先定义,后使用先定义,后使用”,变量的定义要放在函数的开头部分。,变量的定义要放在函数的开头部分。【例【例2-5】整型变量的定义与使用。整型变量的定义与使用。第2章 数据类型、运算符和表达式2.4 实型数据实型数据2.4.1 实型常量实型常量 实型常量就是一个具体的实型常量就是一个具体的实型常量就是一个具体的实型常量就是一个具体的实数实数实数实数。表示形式:。表示形式:。表示形式:。表示形式:(1 1)小数形式。)小数形式。
23、)小数形式。)小数形式。例如,例如,例如,例如,2.52.5,-5.8-5.8,3.03.0等。等。等。等。(2 2)指数形式。)指数形式。)指数形式。)指数形式。指数表示形式由尾数和指数两部分组成。指数表示形式由尾数和指数两部分组成。指数表示形式由尾数和指数两部分组成。指数表示形式由尾数和指数两部分组成。指数由指数由指数由指数由“e”“e”或或或或“E”“E”开头。例如开头。例如开头。例如开头。例如123e3123e3或或或或 123E3 123E3都代表都代表都代表都代表123103 123103,123e-3123e-3或或或或123E-3123E-3都代表都代表都代表都代表12310-
24、312310-3。注意字母注意字母注意字母注意字母e e(或(或(或(或E E)之前)之前)之前)之前必须有数字必须有数字必须有数字必须有数字,且,且,且,且e e后面的指数必须为后面的指数必须为后面的指数必须为后面的指数必须为整数整数整数整数。规范化的指数形式规范化的指数形式规范化的指数形式规范化的指数形式是指尾数中,小数点左边应有一位(且只能是指尾数中,小数点左边应有一位(且只能是指尾数中,小数点左边应有一位(且只能是指尾数中,小数点左边应有一位(且只能有一位)非零的数字。例如有一位)非零的数字。例如有一位)非零的数字。例如有一位)非零的数字。例如2.3478e22.3478e2、3.09
25、99E-53.0999E-5都属于规范化都属于规范化都属于规范化都属于规范化的指数形式,而的指数形式,而的指数形式,而的指数形式,而12.908e612.908e6、0.456e30.456e3都不属于规范化的指数形式。都不属于规范化的指数形式。都不属于规范化的指数形式。都不属于规范化的指数形式。一个实数在用指数形式输出时,是按规范化的指数形式输出的。一个实数在用指数形式输出时,是按规范化的指数形式输出的。一个实数在用指数形式输出时,是按规范化的指数形式输出的。一个实数在用指数形式输出时,是按规范化的指数形式输出的。第2章 数据类型、运算符和表达式2.4 实型数据实型数据2.4.2 实型变量实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 运算 表达式
限制150内