(精品)C语言第二讲 (2)

上传人:仙*** 文档编号:245140592 上传时间:2024-10-07 格式:PPT 页数:46 大小:367KB
返回 下载 相关 举报
(精品)C语言第二讲 (2)_第1页
第1页 / 共46页
(精品)C语言第二讲 (2)_第2页
第2页 / 共46页
(精品)C语言第二讲 (2)_第3页
第3页 / 共46页
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,C,语言电子教案(二),第二讲 第三章 数据类型、运算符和表达式,主要内容:,第三章,C,语言的数据类型、运算符和表达式,1,第三章 数据类型、运算符和表达式,问题的提出:,计算:3*2 数值型变量,在屏幕上显示我是洛工人 字符串常量,到203房间找某人 指针型数据,学号为101103的全体学生 数组型数据,2,3.1,C,的数据类型,数据类型,基本类型,构造类型,指针类型,空类型,数值型,字符型,枚举类型,整型数据,实型数据,单精度型,双精度型,数组类型,结构体类型,共用体类型,3,3.2 常量与变量,在,程序设计中,我们不仅使用到常量,如:123,-90,0.125等,但是我们更多地还要使用变量,因为它们的值在程序的运行中是可以改变的。,本节内容需要了解常量及变量的概念、变量的命名规则。,4,一、常量与符号常量,常量:在程序运行中,其值不变的量称为 常量,如:23.7,-67 等。,符号常量:用一个,标识符,来表示一个常量就叫作符号常量,符号常量的定义形式为:,#,define,标识符 常量,例如:,#,define,M,20,含义为:定义,M,为符号常量,其值为20,说明:,一般习惯上用大写字母表示符号常量,用小写字母表示变量,以示区别。但仅仅是习惯而不是规定。,5,二、,C,语言的标识符1,标识符,:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名、的有效字符序列。,合法标识符,:以字母或下划线开头;由字母、数字、下划线组成;不超过32个字符。,用户标识符,:去掉32个关键字后的合法标识符,注意:,*,C,语言标识符中大、小字母不通用.,*,C,语言规定,保留关键字不能作为用户标识符.,*,C,语言的保留关键字共有32个见附录。,6,二、,C,语言的标识符2,a1,abc,.c,a_b,a-b,abc123,3a,判断下列用户标识符的合法性:,int,.,不能作标识符,-不能作标识符,不能以数字开头,关键字不能作,用户标识符,7,三、变量,变量:在程序运行过程中,其值可以改变的量,称为变量。,变量的定义:,类型标识符,标识符1,标识符2,.标识符,n;,注意事项:,(1)变量必须先定义后使用,(2)每个变量必须被指定为一种类型,int,a,b,c;/*a,b,c,为整型变量 */,float,x,y,z;/*x,y,z,为,单精度型变量*/,8,四、带符号数在计算机中的表示,整数在计算机中是按,补码,存储的。,原码:,用最高位作符号位,0表示正数,1表示负数;其余各位表示数的大小。,反码:,正数的反码与原码相同,负数的反码是将原码除最高位之外,其它各位按位取反。,补码:,正数的补码与原码相同,负数的补码是将反码的最低位加1。,9,34和-34的8位编码,例如:整数 34 的8位(1字节)编码,原码:,0,0100010,反码:,0,0100010,补码:,0,0100010,例如:整数-34 的8位(1字节)编码,原码:,1,0100010,反码:,1,1011101,补码:,1,1011110,内存中存储形式,内存中存储形式,10,34和-34的16位编码,例如:整数 34 的16位(2字节)编码,原码:,0,0000000 00100010,反码:,0,0000000 00100010,补码:,0,0000000,00100010,例如:整数-34 的16位(2字节)编码,原码:,1,0000000 00100010,反码:,1,1111111 11011101,补码:,1,1111111,11011110,内存中存储形式,内存中存储形式,11,3.3 整型数据,整型数据在内存中的是按它的补码来存放的。,如果要知道一个有符号的整数在内存中的存储形式,一般方法是:,原码反码补码,如果已知内存中的一个二进制编码,还要用相反的方法将其转换成有符号数。,12,一、整型常量的表示方法,整型常量的表示方法:,十进制:如:123,0,-125 等。,八进制:以数字 0 开头,如:034,-0123 等 (28)(-83),十六进制:以数字0和字母,x,开头,如:0,xa2,-0 x31,等 (162)(-49),13,二、整型常量的类型,基本型:数值在-3276832767 之间的整数。,长整型:数值超过-32768,32767范围,但在,-2147483648(-2,31,),2147483647(2,31,-1)之间;或者数值后面带有字母,l,或,L,的整数。,14,三、整型变量,在,C,语言中,可以使用整型变量存放一个整型数据,使这个变量的值在程序运行时能够发生变化。每定义一个变量,,TC,系统就会给该变量分配存储单元,用户可随时改变该存储单元的内容。但是,若存储单元太大,会浪费存储空间;若存储单元太小,又影响存储的范围和精度。因而,,TC,规定了不同类型的整型变量。,15,整型变量类型与数值范围,常用的整型变量及所能表示的数的范围:,类型 存储单元大小 所存储数的范围,基本型(,int,)2,字节 -3276832767,长整型(,long),4,字节 -21474836482147483647,(或,long,int,)(-2,-31,2,31,-1),无符号型 2 字节 065535,(,unsignde,),(,或,unsigned,int,),16,整型变量的定义,整型变量的定义形式:,类型标识符,变量名1,变量名2,,变量名,n;,如:,int,a,b,c;,long,int,aa,bb,cc;,long,a1,a2;,unsigned,u1,u2;,其中,int,为类型标识符,,a,b,c,为变量名。,其中,long,int,为类型标识符,,aa,bb,cc,为变量名。,其中,long,为类型标识符,,a1,a2,为变量名。,其中,unsigned,为类型标识符,,u1,u2,为变量名。,17,3.4 实型数据,在,程序设计中,不仅要使用到各种类型的整数,而且更多地要使用实数。,如:要求下面数列的前100项之和:,就,必须使用实型数据。,18,一、实型常量的表示形式,十进制形式,如:0.123,-2.5 等。,指数形式:如:123,e+2,2.45e-2,等,分别表示 123*10,2,和 2.45*10,-2,。,注意:,用指数形式表示时,尾数部分不能空,指数部分必须为整数。,其中,,123,,,2.45,称为尾数部分,,+2,,,-2,称为指数部分。,例如:,e+3、2.03e+0.5,都是非法的实型常量表示方法。,19,二、实型变量的类型,变量类型 标识符 存储单元 数值范围 有效数字,单精度,float,4,字节,10,-38,10,+38,7位,双精度,double 8,字节,10,-308,10,+308,1516位,20,实型变量的定义,实型变量的定义形式:,类型标识符,变量名1,变量名2,,变量名,n;,如:,float,a,b,c;,double,a1,a2;,其中,float,为类型标识符,,a,b,c,为变量名。,其中,double,为类型标识符,,a1,a2,为变量名。,21,3.5 字符型数据,在,程序设计中,除了需要使用整型和实型数据之外,还需要另外一种很重要的数据类型,即字符型数据,如姓名,文字信息等,都是字符型数据。,22,基本,ASCII,码表的前32个字符为控制字符(,ASCII,码值为031)。,接着为标准英文键盘上的每一个字符都规定了一个,ASCII,码值,字符在内存中的存储格式按照,ASCII,码值所对应的二进制数确定。,空 格32,00100000,A65,01000001,a97,01100001,b98,01100010,23,一、字符常量,字符常量:,用,单引号,括起来的,一个,字符。如:,A,e,等。,注意:,a,与,a,不同,前者为变量,后者为字符常量。,9与9也不同,前者为整型常量,后者是字符常量。,24,二、转义字符,以开头的字符,序列,称为转义字符,这些字符的含义不是其本身,而是转成为新的意义。,n,换行,t,换区(横向跳格,跳到下一个输出区),b,退格(删除前面的一个字符),单引号字符,“双引号字符,ddd,13,位8进制数所表示的字符,xhh,12,位,16进制数所表示的字符,几个常用的转义字符:,字符形式功能,25,转义字符的应用举例,printf,(,n,1234,n,abcd,n,);,printf,(7);,printf,(,n,ab,t,cd,t,ef,n,);,printf,(,n,1234,bn,);,printf,(,40n,);,printf,(,x41n,);,1234,abcd,响一声,铃声,ab cd ef,123,空格,A,26,三、字符变量,字符变量:可以存放一个字符并能改变其值的变量。字符型变量在内存中占,1个字节,。,字符变量的定义:,char,变量名;,例如有定义:,char,c1,c2;,则变量,c1,c2,中可存储一个字符或者一个0255之间的无符号整数。,27,字符型数据在内存中的存储形式及使用方法,存储形式:按,ASCII,码存储。,使用方法:按字符使用:则使用字符本身。按数值使用:则使用该字符的,ASCII,码值。,28,四、字符型数据使用方法举例,main(),char c1,c2;,c1=A;c2=B;,printf,(c1=,%c,c2=,%c,n,c1,c2);,printf,(c1=,%d,c2=,%d,n,c1,c2);,运行结果如下:,c1=,A,c2=,B,c1=,65,c2=,66,29,五、字符串常量,字符串常量:一对双引号括起来的字符序列,叫字符串常量,如:,ABCE,是一个字符串常量。,注意:,(1)字符串常量不能赋给字符变量。,(2)字符常量与字符串常量不同。,例如:,char c1=A;,是可以的,,但,char c1=A;,是不合法的。,30,存储单元的大小与所表示数值范围的关系,存储单元大小无符号数范围有符号数范围,1字节(8位)0255(2,8,-1)-128127,2字节(16位)065535(2,16,-1)-3276832767,4字节(32位)0(2,32,-1)-2,31,(2,31,-1),main(),int,a,b,c;,a=123;b=56;,c=a+b;,printf,(c=%dn,c);,c=179,main(),int,a,b,c;,a=32768;b=2;,c=a+b;,printf,(c=%dn,c);,c=-32766,31,权值8,权值,16,权值,32,权值,64,权值,128,权值,256,32770存入整型变量中的情况,原码,0,1000000000000010,(,需要17位),补码,0,1000000000000010,(,需要17位),取,低16位,(补码),1,000000000000010,(,16位),反,码,(低位减1),1,000000000000001,原,码,(除符号位按位取反),1,111111111111110,(-32766),权值,32768,权值,16384,权值,8192,权值,4096,权值,2048,权值,1024,权值,512,权值2,权值2,权值4,16384+8192+4096+2048+1024+512+128+64+32+16+8+4+2=32766,32,八位二进制编码所表示的有符号数,二进制数 无符号数 原码 反码 补码,00000000 0 +0 +0 +0 00000001 1 +1 +1 +1,01111111 127 +127 +127 +127,10000000 128 -0 -127 -128,10000001 129 -1 -126 -127,11111110 254 -126 -1 -2,11111111 255 -127 -0 -1,33,3.6,变量赋初值,变量的初
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!