[工学]C语言资料第三章新课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[工学]C语言资料第三章新课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 语言 资料 第三 新课
- 资源描述:
-
1、1第三章第三章 数据类型、运算符和表达式数据类型、运算符和表达式l 主要内容:主要内容:uC C 语言的数据类型语言的数据类型u常量与变量常量与变量u整型数据整型数据u浮点型数据浮点型数据u字符型数据字符型数据u变量赋初值变量赋初值u各类数值型数据间的混合运算各类数值型数据间的混合运算u算术运算符和算术表达式算术运算符和算术表达式u赋值运算符和赋值表达式赋值运算符和赋值表达式u逗号运算符和逗号表达式逗号运算符和逗号表达式23.1 C语言的数据类型语言的数据类型l 计算计算:3:3*2 2 数值型数据数值型数据l 在屏幕上显示在屏幕上显示“我是河科人我是河科人 字符串常量字符串常量l 到到203
2、203房间找某人房间找某人 指针型数据指针型数据l 学号为学号为101-103101-103的全体学生的全体学生 数组型数据数组型数据算法处理的对象是数据,数据是数据的组织形式即数据结构。算法处理的对象是数据,数据是数据的组织形式即数据结构。不同的数据之间往往存在某些联系。不同的计算机语言使用的不同的数据之间往往存在某些联系。不同的计算机语言使用的数据结构是不相同的。所以数据结构是不相同的。所以,处理同一类问题,如果数据结构处理同一类问题,如果数据结构不同,算法也会不同。因此不同,算法也会不同。因此,在程序设计时,应综合考虑算法在程序设计时,应综合考虑算法和数据结构。选择最佳的数据结构和算法。
3、和数据结构。选择最佳的数据结构和算法。回顾第二章回顾第二章:问题的提出问题的提出:33.1 C的数据类型的数据类型数据类型数据类型基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型数值型数值型字符型字符型枚举类型枚举类型整型数据整型数据实型实型(浮点浮点)数据数据单精度型单精度型双精度型双精度型数组类型数组类型结构体类型结构体类型共用体类型共用体类型所有的数据,在进行处理时都需要先存放进计算机的内存中,所所有的数据,在进行处理时都需要先存放进计算机的内存中,所以了解不同的数据在计算机中存储的形式是很重要的。以了解不同的数据在计算机中存储的形式是很重要的。43.2 常量与变量常量与变量
4、l 在程序设计中,我们不仅使用到在程序设计中,我们不仅使用到常量常量,如:,如:123123,-90-90,0.1250.125等,而且我们更多地还要使用等,而且我们更多地还要使用变量变量,因为它们的,因为它们的值在程序的运行中是可以改变的。值在程序的运行中是可以改变的。l 本节内容需要了解常量及变量的概念、变量的命名规则。本节内容需要了解常量及变量的概念、变量的命名规则。5l 语言字符集语言字符集1 1、英文字母:大小写各、英文字母:大小写各2626个,共计个,共计5252个;个;2 2、阿拉伯数:、阿拉伯数:0 09 9共共1010个数字;个数字;3 3、下划线:、下划线:_ _;4 4、
5、特殊符号:通常指由、特殊符号:通常指由12个符号组成的运算符。个符号组成的运算符。算术运算符:算术运算符:+-*/%+-关系运算符:关系运算符:=条件运算符:条件运算符:?:和和 =(即赋值运算符即赋值运算符)其他分隔符:其他分隔符:().,;一、一、C C语言字符集、标识符和关键字语言字符集、标识符和关键字6l C 语言的标识符语言的标识符l 标识符标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。标识符就是一个名字。文件名的有效字符序列。标识符就是一个名字。l 合法标识符合法标识符:由字母、数字、下划线组成
6、且第一个字符必须为字母或下由字母、数字、下划线组成且第一个字符必须为字母或下划线;不允许超过划线;不允许超过3232个字符。但为了程序的可移植性,建议不要超过个字符。但为了程序的可移植性,建议不要超过8 8个字符。个字符。例例:student_name与与student_code是一样的标识符,超过是一样的标识符,超过8个的舍去。个的舍去。l 用户标识符用户标识符:去掉:去掉3232个关键字后的合法标识符个关键字后的合法标识符.例如:例如:intint、floatfloat、ifif等,是等,是C C语言的关键字,不能作为用户标识符。语言的关键字,不能作为用户标识符。注意:注意:*C语言标识符
7、中大、小字母不通用。例:语言标识符中大、小字母不通用。例:sum和和SUM是两个是两个 不同的标识符。不同的标识符。*C语言规定,保留关键字不能作为用户标识符。语言规定,保留关键字不能作为用户标识符。*C语言的保留关键字共有语言的保留关键字共有32个见附录个见附录B。7l C 语言的标识符语言的标识符.不能作标识符不能作标识符-不能作标识符不能作标识符不能以数字开头不能以数字开头关键字不能作用户标识符关键字不能作用户标识符关键字不能作用户标识符关键字不能作用户标识符#不能作标识符不能作标识符a1abc.ca_ba-babc1233aintIntLen#1else合法标识符:合法标识符:_22A
8、,lea_1,avg3,day,ABCde43xyw8不合法标识符:不合法标识符:M.J.YORK,$_238,#xy,a*b,8Tea判断下列用户标识符的合法性:判断下列用户标识符的合法性:8 就是具有就是具有特定含义特定含义的标识符,用户不能用来作为自定义标的标识符,用户不能用来作为自定义标识符。由识符。由ANSIANSI标准推荐的关键字有标准推荐的关键字有3232个,常用的有:个,常用的有:与数据类型有关的:与数据类型有关的:char intchar int float double signed unsigned float double signed unsigned short l
9、ong void struct short long void struct union type def union type def enum sizeof enum sizeof 与存储类别有关的:与存储类别有关的:auto extern register staticauto extern register static 与程序控制结构有关的:与程序控制结构有关的:do while for if else switch case do while for if else switch case default go to continue break return default go
10、 to continue break returnl 关键字关键字9二、常量与符号常量二、常量与符号常量 常量常量:在程序运行过程中在程序运行过程中,其值不变的量称为常量,如其值不变的量称为常量,如:85:85,-6767,23.723.7,AA,99,“A”A”等。一般从字面上即可判别,等。一般从字面上即可判别,这种常量叫直接常量这种常量叫直接常量(字面常量字面常量)。常量的分类:常量的分类:(1)整型常量整型常量 (2)实型常量实型常量 (3)字符常量字符常量 (4)字符字符串常量串常量 (5)符号常量。常量的类型符号常量。常量的类型,可通过书写形式来判别。可通过书写形式来判别。符号常量符
11、号常量:用一个用一个标识符标识符来表示一个常量就叫作符号常量,符来表示一个常量就叫作符号常量,符号常量的常用预处理命令号常量的常用预处理命令definedefine来实现,其定义形式为来实现,其定义形式为:#define#define 标识符标识符 常量常量 例如:例如:#define#define PI 3.1415 3.1415 含义为:定义含义为:定义PIPI为符号常量,其值为为符号常量,其值为3.14153.1415说明:一般习惯上用大写字母表示符号常量,用小写字母表示说明:一般习惯上用大写字母表示符号常量,用小写字母表示变量,以示区别。但仅仅是习惯而不是规定。变量,以示区别。但仅仅是
12、习惯而不是规定。10程序程序L3-1.C 符号常量的使用符号常量的使用#define PRICE 30#include main()int num,total;num=10;total=num*PRICE;printf(“total=%dn”,total);好处好处:1.含义清楚;定义符号常量时,要做到含义清楚;定义符号常量时,要做到”见名知见名知意意”;2.在需要改变一个常量时,能做到在需要改变一个常量时,能做到”一改全改一改全改”。说明说明:1.程序中的程序中的PRICE都代表都代表30 2.符号常量的值在其作用域内不能改变,也不能再赋值符号常量的值在其作用域内不能改变,也不能再赋值 3.
13、如果再用如果再用PRICE=40给符号常量赋值是错误的给符号常量赋值是错误的运行结果运行结果:total=300注意:注意:PRICE与与30之间不允许有之间不允许有=号。号。11符号常量使用时的注意事项符号常量使用时的注意事项注意:注意:l(1)一般习惯上用大写字母表示,以便与变量区分开一般习惯上用大写字母表示,以便与变量区分开(如如果用小写字母也可以,只是为了与变量区分,是习惯而果用小写字母也可以,只是为了与变量区分,是习惯而不是规定不是规定);l(2)定义符号常量时,不能以定义符号常量时,不能以“;”结束;结束;l(3)一个一个#define占一行,且要从第一列开始书写;占一行,且要从第
14、一列开始书写;l(4)一个源程序文件中可含有若干个一个源程序文件中可含有若干个define命令,不同命令,不同的的define命令中指定的命令中指定的“标识符标识符”不能相同;不能相同;12三、三、变量变量l 变量变量:在程序运行过程中在程序运行过程中,其值可以改变的量其值可以改变的量,称为变量。称为变量。l 变量的定义变量的定义:类型标识符类型标识符 标识符标识符1,1,标识符标识符2,.2,.标识符标识符n n;注意事项注意事项:(P39):(P39)在选择变量名和其他标识符时,应做到在选择变量名和其他标识符时,应做到“见名知意见名知意”。不允许是关键字。不允许是关键字。要求对变量须进行强
15、制性定义,即必须要求对变量须进行强制性定义,即必须“先定义、后使用先定义、后使用”。每个变量必须被指定为一种确定类型,以便编译时能为其分每个变量必须被指定为一种确定类型,以便编译时能为其分配存储单元。配存储单元。int a,b,c;/*a,b,c 为整型变量为整型变量 */float x,y,z;/*x,y,z 为单精度型变量为单精度型变量*/13三、三、变量变量l 变量的组成要素变量的组成要素 变量名变量名 变量类型变量类型 变量值变量值例如例如:int a=1515内存中的数据内存中的数据数据数据1515内存内存通过变量,可通过变量,可以为内存中的以为内存中的位置提供一个位置提供一个有意义
16、的名称有意义的名称在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。元中读取数据。a变量值变量值内存单元内存单元变量名变量名15143.3 数值型数据的表示数值型数据的表示一、整型常量一、整型常量l 表示形式表示形式 十进制整数十进制整数:与数学上的整数表示相同。如与数学上的整数表示相同。如:123,0,-456:123,0,-456 八进制整数八进制整数:以数字以数字0 0开头开头,
17、如如:0 0123=1123=1*8 82 2+2+2*8 81 1+3+3*8 80 0=(83)=(83)1010 -0 01111即即(-11)(-11)8 8=(-9)=(-9)1010 十六进制整数十六进制整数:以数字以数字0 0和字母和字母x x开头开头,如:如:0 x0 x123,-123,-0 x0 xa2a2 如如:0 x0 x123=1123=1*16162 2+2+2*16161 1+3+3*16160 0=(291)=(291)1010 -0 x0 xa2a2即即(-a2)(-a2)1616=(-162)=(-162)1010*八进制的数码范围为八进制的数码范围为07;
18、018 *十六进制的数码除了数字十六进制的数码除了数字09外外,还使用英文字还使用英文字母母a f(或或A F)表示表示1015。如:如:0 x1e 在在VC+6.0中数值型数据有两种中数值型数据有两种:整型和实型整型和实型15l整数的存储空间为整数的存储空间为4个字节,即个字节,即32个二进制位。个二进制位。l取值范围为取值范围为-231231-1,即即-21474836482147483647。3.3 数值型数据的表示数值型数据的表示在在VC+6.0VC+6.0中数值型数据有两种中数值型数据有两种:整型和实型整型和实型一、整型常量一、整型常量 整数(有符号的整数)在内存中存放的是它的补码,
19、整数(有符号的整数)在内存中存放的是它的补码,无符号数没有符号位,存放的就是原码。整数占用的字节无符号数没有符号位,存放的就是原码。整数占用的字节数与机型有关,数与机型有关,32位机上占用位机上占用4个字节。个字节。16l 整型数据在内存中的是按它的补码来存放的。整型数据在内存中的是按它的补码来存放的。l 如果要知道一个有符号的整数在内存中的存储形式,如果要知道一个有符号的整数在内存中的存储形式,一般方法是:一般方法是:原码原码反码反码补码补码l 如果已知内存中的一个二进制编码,还要用相反的方如果已知内存中的一个二进制编码,还要用相反的方法将其转换成有符号数。法将其转换成有符号数。请关注:请关
20、注:17补充:带符号数在计算机中的表示补充:带符号数在计算机中的表示l 整数在计算机中是按整数在计算机中是按补码补码存储的。存储的。l 原码:原码:用最高位作符号位,用最高位作符号位,0 0表示正数,表示正数,1 1表示负数;其余表示负数;其余各位表示数值的大小。各位表示数值的大小。l 反码:反码:正数的反码与原码相同,负数的反码是将原码除最正数的反码与原码相同,负数的反码是将原码除最高位之外,其它各位按位取反。高位之外,其它各位按位取反。l 补码:补码:正数的补码与原码相同,负数的补码是将反码的最正数的补码与原码相同,负数的补码是将反码的最低位加低位加1 1。数值数据有带符号数和无符号数之分
21、。数值数据有带符号数和无符号数之分。注意:负数的求补码的另一种方法:将该数的注意:负数的求补码的另一种方法:将该数的绝对值绝对值的二进制形的二进制形式,按位取反再加式,按位取反再加1。1834和和-34的的8位编码位编码l 例如:整数例如:整数 34 34 的的8 8位(位(1 1字节)编码字节)编码l 原码:原码:0 001000100100010l 反码:反码:0 001000100100010l 补码:补码:0 001000100100010l 例如:整数例如:整数-34-34 的的8 8位(位(1 1字节)编码字节)编码l 原码:原码:1 101000100100010l 反码:反码:
22、1 110111011011101l 补码:补码:1 110111101011110内存中存储形式内存中存储形式内存中存储形式内存中存储形式1934和和-34的的16位编码位编码l 例如:整数例如:整数 34 34 的的1616位(位(2 2字节)编码字节)编码l 原码:原码:0 00000000 001000100000000 00100010l 反码:反码:0 00000000 001000100000000 00100010l 补码:补码:0 000000000000000 0010001000100010l 例如:整数例如:整数-34-34 的的1616位(位(2 2字节)编码字节)编
23、码l 原码:原码:1 10000000 001000100000000 00100010l 反码:反码:1 11111111 110111011111111 11011101l 补码:补码:1 111111111111111 1101111011011110内存中存储形式内存中存储形式内存中存储形式内存中存储形式20二、整型变量二、整型变量l 在在 C C 语言中语言中,可以使用整型变量存放一个整型数据,可以使用整型变量存放一个整型数据,使这个变量的值在程序运行时能够发生变化。每定使这个变量的值在程序运行时能够发生变化。每定义一个变量,义一个变量,VC+VC+系统就会给该变量分配存储单系统就会
24、给该变量分配存储单元,用户可随时改变该存储单元的内容。元,用户可随时改变该存储单元的内容。但是但是,若若存储单元太大,会浪费存储空间;若存储单元太小,存储单元太大,会浪费存储空间;若存储单元太小,又影响存储的范围和精度。因而,又影响存储的范围和精度。因而,VC+VC+规定了规定了不不同类型的整型变量。同类型的整型变量。3.3 数值型数据的表示数值型数据的表示211、整型数据在内存中的存放形式、整型数据在内存中的存放形式 编译系统为整型变量在内存中分配了编译系统为整型变量在内存中分配了4个字节的存储单元,个字节的存储单元,数值以补码形式存储。数值以补码形式存储。2、整型变量的分类、整型变量的分类
25、 整型变量的基本类型符为:整型变量的基本类型符为:int 根据数据所占的二进制位数分为根据数据所占的二进制位数分为:int,long,short 同样存储长度的数据又分为:同样存储长度的数据又分为:unsigned,signed(隐含隐含)故可组合出六种类型。故可组合出六种类型。3、整型变量值的范围、整型变量值的范围 由机器中数据的存储长度决定。由机器中数据的存储长度决定。(见下表见下表)22l整型类型与数值范围整型类型与数值范围 如如VC+6.0中,数据长度中,数据长度:short(2字节字节)int(4字节字节)=long(4字节字节)关键字关键字 所占位数所占位数 取值范围取值范围 sh
展开阅读全文