大学c语言程序课件第三章讲解

上传人:bin****86 文档编号:55387973 上传时间:2018-09-28 格式:PPT 页数:58 大小:381KB
返回 下载 相关 举报
大学c语言程序课件第三章讲解_第1页
第1页 / 共58页
大学c语言程序课件第三章讲解_第2页
第2页 / 共58页
大学c语言程序课件第三章讲解_第3页
第3页 / 共58页
大学c语言程序课件第三章讲解_第4页
第4页 / 共58页
大学c语言程序课件第三章讲解_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《大学c语言程序课件第三章讲解》由会员分享,可在线阅读,更多相关《大学c语言程序课件第三章讲解(58页珍藏版)》请在金锄头文库上搜索。

1、C程序设计,第三章 数据类型、运算符与表达式,3.1 C的数据类型 3.2 常量与变量 3.3 整型数据 3.4 实型数据 3.5 字符型数据 3.6 变量赋初值 3.7 各类数值型数据间的混合运算 3.8 算术运算符和算术表达式 3.9 赋值运算符和赋值表达式 3.10 逗号运算符和逗号表达式,C语言的基本元素,符号集(字符集) 也就是除了字符串以外,C语言中允许出现的符号,主要有五种: 大写字母AZ 小写字母az 阿拉伯数字09 下划线_ 运算符和标点符号(附录3),注意:C语言是区分大小写字母的。,C语言的基本元素(cont.),标识符 用来标识变量名、符号常量名、函数名、数组名、类型名

2、、文件名的有效字符序列 简单的说,标识符就是一个名字。 构成规则: 以字母或下划线开头 随后可跟若干个(0个)字母、数字、下划线 标识符的长度各个系统不同,最好不要超过8个字符,C语言的基本元素(cont.),合法的标识符: x,y3,_image,ELSE,A_to_B 不合法的标识符: 3y,#No,bad one,else,re-input,C语言的基本元素(cont.),关键字 也称为保留字 是C语言中具有特定含义,专门用作语言特定成分的一类标识符 ANSI推荐的C语言关键字是32个(Turbo C另外扩展了11个) 如:main,int,define,if,else等 注意: 所有关

3、键字都有固定的意义,不能做其它用途; 所有关键字都必须小写。,3.1 C的数据类型,数据是操作的对象,数据类型是指数据的内在表现形式(代码、存储、运算),数据类型,基本类型,构造类型,指针类型,空类型,整型,字符型,实型,枚举类型,数组类型,结构体类型,共用体类型,单精度型,双精度型,关键字:int,关键字:char,关键字:float,关键字:double,3.2.1 常量与符号常量,常量 在程序运行过程中,其值不能改变的量称为常量 常量还根据数据类型的不同而不同 如:3,-3, 4.6,-1.23, a,c 字面常量或直接常量,3.2.1 常量与符号常量(cont.),符号常量 用一个标识

4、符代表的常量 定义的方法: #define 标识符 常量 注意: 符号常量在其作用域中不能改变,也不能赋值 符号常量名(标识符)习惯上用大写 含义清楚 需要改变一个常量时,可以做到“一改全改”,例子1,#define PRICE 30main ()int num, total;num = 10;total = num * PRICE;printf(“total = %d”, total);,3.2.2 变量,变量 其值可以改变的量 用标识符(变量名)来表示 在内存中占据一定的存储单元 注意变量名和变量值的区别,变量,变量名,存储单元,变量值,3.2.2 变量(cont.),变量的定义方法 类型

5、符 标识符 如:int i, j; char c1, c2, s; float x1, x2; double y1, y2;,3.2.2 变量(cont.),注意事项: 见名知意 先定义后使用 习惯上,变量名用小写,3.3.1 整型常量表示,十进制整数 如123,0,-456 八进制整数 以数字0开头的数 如0123 十六进制整数 以0x开头的数 如0x123,请同学复习十进制、八进制、十六进制的相关知识和它们之间的转换,3.3.2 整型变量在内存中的存放形式,数据在内存中是以二进制形式存放的,int i; i=10;,数据在内存中是以二进制补码的形式存放的,int i, j; i=10; j

6、=-10;,3.3.2 整型变量分类,整型变量根据根据其数值范围,可分为三类: 基本整型:int用2字节表示 短整型:short int或short用2字节表示 长整型:long int或long用4字节表示 为了充分利用变量的表示范围,又可以将变量定义为: 有符号数:signed(可省略) 无符号数:unsigned,3.3.2 整型变量分类(cont.),有符号型: int,占用2个字节,取值范围为-3276832767 short,占用2个字节,取值范围为-3276832767 long,占用4个字节,取值范围为-21474836482147483647 无符号型: unsigned,占

7、用2个字节,取值范围为065535 unsigned short,占用2个字节,取值范围为065535 unsigned long,占用4个字节,取值范围为04294967295,3.3.2 整型变量分类(cont.),以13为例,看看一个整数在存储单元中的存储情况。,int,short,long,unsigned,unsigned short,unsigned long,符号位,3.3.2 整型变量定义,类型符 标识符 int a, b; unsigned short c, d; 变量的定义,一般放在函数的开头部分,或者放在使用该变量前的某一个位置。 不同种类的整型数据允许进行算术运算。,m

8、ain()int a, b, c, d;unsigned u;a=12; b=-24; u=10;c=a+u; d=b+u;printf(“a+u=%d, b+u=%dn”,c,d);,3.3.2 整型变量溢出,main()int a, b;a=32767;b=a+1;printf(“%d,%d”,a,b);,32767,-32768,a:,b:,32767,-32768,这种情况称为“溢出”; 但是运行时不会报错,只是结果不是预计的。,long a,b;,int a; long b;,3.3.3 整型常量的类型,如果值的范围在-3276832767之间,那么可以是int型或short型或lo

9、ng型 如果值的范围在-21474836482147483647之间,那么可以是long型 如果整数后面有后缀u或U,则认为是unsigned int型 如果整数后面有后缀l或L,则认为是long int型 如果整数前面有0,则认为是八进制数;如果整数前面有0x,则认为是十六进制数。,3.3.3 整型常量的类型例子,-123,123u,-123l,123ul -0123,0123u,-0123l,0123ul -0x123,0x123u,-0x123l,0x123ul,3.4.1 实型常量的表示,实数又称为浮点数。 两种表示方法: 十进制小数形式 如:.123,123.,123.0 注意:必须

10、要有小数点 指数形式 如:123e0,123E0,123.e0,.123e3 注意:e或E前后必有数字,后面必须为整型数 规范化的指数形式:e或E前的小数点左边有且只有一位非零数字。如:1.23e2,3.4.2 实型变量内存中的存放,在内存中,实型数是按指数形式存放的; 用二进制的形式分别表示小数部分和指数部分;,小数部分和指数部分占的位数,各个编译系统都不同。 小数部分占的位数越多,则数的有效数字越多,精度越高; 指数部分占的位数越多,则能表示的数值范围越大。,3.4.2 实型变量分类,单精度型,float,占4个字节,有效数字为6到7位; 双精度型,double,占8个字节,有效数字为15

11、到16位; 长双精度型,long double,占12个字节,有效数字为18到19位; 注意:不同的系统对于每种类型数据的长度、精度、数值范围会有差异 定义:类型符 标识符 如:float x,y; double z; long double t;,3.4.2 实型变量舍入误差,由于实型数存在着有效数字,那么当数据超过有效位时,就会被舍去,从而产生误差。,main()float a,b;a=123456.789e5;b=a+20;printf(“a=%f, b=%fn”,a, b);,a=12345678848.000000, b=12345678848.000000,a=1234567890

12、0 b=12345678920 float型的有效数字能达到7位,尽量避免将很大的数与很小的数相加减,3.4.3 实型常量的类型,一般将实型常量作为双精度double来处理,得到一个双精度的值后,取前面7位有效数字。,f2.45678*4523.65,真实值f11113.612847 结果111113.613281,可以在数字后面加上字母或指定为单精度型。 将实型常量赋值给实型变量时,根据变量类型的不同,取不同的有效数字。,float a; a=123456.789;,a=123456.7;,3.5.1 字符常量,字符常量就是用单引号括起来的字符。 如a,A,?等 控制字符:一种特殊的字符常量

13、,以开头,又称为转义字符。 n:换行; r:回车不换行; t:水平制表; v:纵向制表; b:退格; a:报警; f:换页; :输出 :输出单引号; ”:输出双引号 ddd:输出8进制ASCII所代表的字符; xhh:输出16进制ASCII所代表的字符。,3.5.1 字符常量例,main()printf(“ ab ct derftgn”);printf(“htibbj kn”);,打印机上的结果: fab c gde h jik,显示器上的结果: f gde h j k,这是由于显示器刷新太快,在人们还没看清楚前,字符就被空格或跳格所取代了。实际上,显示器上也输出了完整的字符。,main()p

14、rintf(“110145154154157”); ,输出结果: Hello,3.5.2 字符变量,字符变量是用来存放字符的,而且只能存放一个字符。 字符变量的定义: 类型符 标识符 如:char c1,c2,c3; 占一个字节,c1=A; c2=101; c3=x41;,3.5.3 字符数据在内存中存放,字符数据在内存中是以相对应的ASCII码的二进制形式存放的。,字符a,ASCII码为97,在内存中的存放:01100001,字符A,ASCII码为65,在内存中的存放:01000001,3.5.3 字符数据的使用,字符型数据和整型数据之间可以通用。 字符型数据可以以字符形式输出,也可以以整数

15、形式输出; 字符型数据可以像整数形式一样进行基本运算; 字符数据与整型数据可以互相赋值。,3.5.3 字符数据的使用例1,main()char c1, c2;c1=97; c2=98;printf(“%c, %cn”,c1, c2);printf(“%d, %dn”,c1, c2);,a, b 97, 98,字符型数据与它对应的ASCII码是一一对应的; 可以根据指定的格式来输出数据;,3.5.3 字符数据的使用例2,main()char c1, c2;c1=a; c2=b;c1=c1-32;c2=c2-32;printf(“%c, %cn”,c1, c2);printf(“%d, %dn”,

16、c1, c2);,A, B 65, 66,字符型数据可以进行基本数学运算; 方法是将其转变为对应的ASCII码后再进行运算。,该函数是将小写字母转换为大写字母。,3.5.3 字符数据的使用例3,main()int i;char c;i=a; c=97;printf(“%c, %dn”,c, c);printf(“%c, %dn”,i, i);,a, 97 a, 97,字符数据与整型数据可以互相赋值。,3.5.3 字符数据的使用注意,Turbo C将字符处理成带符号的整数。 我们在进行字符数据和整型数据通用时就要注意定义了。,字符a,在内存中的存放:0 1 1 0 0 0 0 1,符号位,main()char c1,c2;c1=254;c2=254;printf(“%c, %cn”,c1, c2);printf(“%d, %dn”,c1,c2);,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号