C语言程序设计期中复习.ppt_第1页
C语言程序设计期中复习.ppt_第2页
C语言程序设计期中复习.ppt_第3页
C语言程序设计期中复习.ppt_第4页
C语言程序设计期中复习.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019/12/5,1,C语言程序设计期中复习,李书涛list37,2019/12/5,2,期中试卷题型,一、选择题(每小题2分,共30分)数值常量,运算符,优先级,二、阅读下列程序,写出输出结果(每题4分,共16分)选择结构程序设计,循环结构程序设计。三、读程序,并填空(每小题3分,共30分)选择结构程序设计,循环结构程序设计。四、编程题(每小题8分,共24分)穷举法,选择结构程序设计,循环结构程序设计。,2010C语言程序设计期中试卷题型,2019/12/5,3,1程序操作的对象数据,1程序操作的对象数据1.1C语言的数据类型,2019/12/5,4,1.不同类型数据采取不同的存储形式;2.不同类型数据在内存中占有不同的存储空间;3.不同类型数据对应不同的取值范围;4.不同类型数据确定了允许对其进行不同的操作类型。,数据类型的含义,1基本数据类型,2019/12/5,5,按照数据在程序中的取值分为两类:值保持不变-常量x=2+y值随程序运行变化-变量,C语言的基本数据类型,1基本数据类型,2019/12/5,6,1.在程序运行中,其值保持不变2.表示方法:,整型100,-25,12L实型3.14,0.125字符型a,b字符串常量“string”,3.符号常量:#definePI3.14159,宏定义:给常量定义一个标识符,称宏名,大写。,1.2常量与变量一、常量,2019/12/5,7,3.变量通过变量名来标识。,1.在程序运行中,值发生变化;,2.必须先定义,再使用;,inta,b;,类型变量名表,256,3,变量名和内存中的存储单元相对应。编写程序时通过变量名来存、取存储单元。,二、变量,变量,2019/12/5,8,(1)以字母或下划线开头,(2)不能用系统中的关键字作为变量名,inta,b,A123,_b;,inta;.A=5;,(3)变量名中的字母是区分大小写的。sum、stu_name、_age、Lts_1_2、a232c、x.y、start+9、c2.0非法NAMEname表示两个不同的标识符。,4.有关变量名的规定,2019/12/5,9,有三种表示形式,十进制八进制十六进制,123412L,加前导001234,0125,加前导0 x如0 x123,0 xffff,整型数据包括整型常量和整型变量,整型数据以二进制补码形式存储。,例,100、-8、0;010、024;0 x38、0X1F,1.3整型数据一、整型常量,2019/12/5,10,掌握要点1.有几种定义形式;2.每种形式占存储空间的大小不同;3.取值范围不同;4.输入输出格式不同。,二、整型变量,2019/12/5,11,六种形式,基本整型短整型长整型无符号整型无符号短整型无符号长整型,intshortintlongintunsignedint,占存储空间,一个变量,2242,字节,unsignedshortunsignedlong,24,1.定义形式,2019/12/5,12,类型说明符长度数的范围基本型int2字节-3276832767短整型short2字节-215215-1长整型long4字节-231231-1无符号整型unsigned2字节065535无符号短整型unsignedshort2字节065535无符号长整型unsignedlong4字节0232-1,2.整型变量的取值范围,类型说明符长度数的范围基本型int2字节-3276832767无符号整型unsigned2字节065535,有符号与无符号整型数的区别,int最高位为符号位1为负数补码unsigned最高位为数值位=215=32768,则:unsigneda=216-1=65535,而inta=-1,则:unsigneda=215=32768,而inta=-32768,2019/12/5,14,int型数存储长度为16位二进制(2Byte),0000000000000001,=215-1=32767,0000000000000011,0111111111111111,1000000000000000,=1,=3,上面的数再加1是多少?,=-215=-32768,例,补码表示,int型表示数的范围:-3276832767,3.输入输出形式:%d,%ld,%x,%o,%u,?,int型数的表示范围,2019/12/5,15,包括实型常量和实型变量,两种表示形式,小数指数,0.123123e-3,实型常量只能用十进制形式表示,不能用八进制和十六进制,1e3、1.8e-3、-123e-6、-.1e-3e5、1e-3.2、e、.e-03,1.4实型数据一、实型常量,指数格式:,数符尾数e阶符阶码,2019/12/5,16,1.定义形式,三种形式,单精度双精度长双精度,floatdoublelongdouble,2.占存储空间,一个变量,4816,字节,实型常量不区分单精度和双精度,二、实型变量,2019/12/5,17,4.输入输出形式%f,%lf,3.变量的取值范围,实型数据在计算机中以指数形式存储,单精度float变量占四个字节。一个字节存放指数部分,三个字节存数值部分。,2-2372a=b=5,结果?,单目运算符的优先级高于双目运算符单目运算符从右向左结合双目运算符从左向右结合,运算符的优先级与结合性,2019/12/5,30,1.共有5个:+,-,*,/,%,2.“-”作为负号时为单目,单目:-,双目:*,/,%,双目:+,-,5.优先级:,6.结合性:从左向右,3.%运算只适用于整型数,算术运算的结果为什么类型,取模(求余数)a=10%4a的值为2,?,2.2算术运算符和算术表达式,4./运算用于整型和实型时不同,2019/12/5,31,1.模(求余数)%运算,令:a=10;b=4;求a%b与b%a;,结果:a/b=2,令:a=10;b=4;x=10.0;y=4.0;求a/b与x/y;,结果:x/y=2.5,结果:a%b=2,b%a=4,算术运算符举例,2./运算用于整型时称整除;用于实型时称实除。,2019/12/5,32,1.有三个,floatf;doubled;longe;表达式:10+a+i*f-d/e的结果为:double,2.6混合运算及数据类型转换,2019/12/5,43,格式:(类型)表达式,(int)(10+a+i*f-d/e),将该结果强制转换为整型,例:inti;floatf;求:(int)f%i,取模运算要求运算分量是整数,所以先将f转换为整型,再做%运算,三、赋值转换,赋值符号右边的类型向左边的转换,intx;floaty=5.3;x=y;,intx=5;floaty;y=x;,二、显式转换(强制转换),结果:x=5,结果:y=5.000000,2019/12/5,44,1.优先级:分为115级,不同级别混合运算时,按优先级先高后低。,2.结合性,相同级别进行运算时,按结合性处理。,单目、条件、赋值运算符的结合性是自右向左。,其它运算符的结合性是自左向右。,四、优先级与结合性,2019/12/5,45,数据类型与运算符总结,数据类型与运算符总结,十、常用的常量表示方法十进制100,-5L;整数八进制0123;十六进制0 xf3d;实数的小数,指数形式;字符常量a;字符串常量“a”。,十一、单目运算,双目运算的优先级和结合性特点,熟记基本概念和规则!,2019/12/5,46,运算符的优先级和结合方向1,运算符的优先级和结合方向2,值得注意的几个问题1.取模(求余数),求:10%3=10%-3=-10%3=-10%-3=,计算结果如右:,11-1-1,结论:结果符号与被除数一致,2.自反赋值变量双目操作=表达式,功能,变量=变量双目操作表达式,inta=10,b=5;求:a*=b+1;printf(“a=%dn”,a);,a=60,计算结果如下:,结论:表达式作为整体参加运算,课堂作业,2019/12/5,49,自反赋值,intx=5;求:x+=x-=x*x;,结果:x=-40,intx=3;求:x+=x-=x*x;,结果:x=-12,课堂作业,运算符的优先级与结合性,2019/12/5,51,2.7综合练习一.单项选择,1.字符串ABC在内存中占用的字节数是。34682.设inta,b,c均为2,表达式a+b+c+的结果是。698表达式出错3.如下程序的执行结果是。main()intn=1;printf(%d%d%dn,n,+n,n-);111122123121,2019/12/5,52,二.填空,1.设a=3,b=2,c=1,则ab的值为(),abc的值为()。2.设整型变量x,y,z均为5:执行“x-=y-z”后x=(),执行“x%=y+z”后x=(),执行“x=(yz)?x+2:x-2,3,2”x=()。3.求以下程序的执行结果:#includemain()intx=5,y=2;printf(1:%dn,!(y=x/2);printf(2:%dn,y!=x%3);printf(3:%dn,x0,1,0,5,5,3,结果是(1:0),结果是(2:0),结果是(3:0),结果是(4:1),2019/12/5,53,三.问答,为什么应避免对两个实数表达式作“相等”或“不相等”的判别?2.关系表达式能否视为一种整型表达式?为什么?,在判定两个浮点数是否相等时,由于计算机存储上出现的误差,会出现错误的结果。例如:1.0/3.0*3.0=1.0在数学上显然应该是一个恒等式,但由于1.0/3.0得到的值的有效位数是有限的,并不等于0.3.,因此上面关系表达式的值为0(假),而不为(真)。所以应避免对两个实数表达式作“相等”或“不相等”的判别。,由于关系表达式的值是整型数0或1,故也可以将其看成是一种整型表达式。,2019/12/5,54,一.C中用输入与输出函数实现输入与输出语句二.字符输入输出函数(getchar,putchar,一次一个字符)三.格式输入输出函数(scanf,printf,按格式输入输出)四.格式控制符的使用:%d,%o,%x,%c,%m.nf,%-m.nf,%ms,%-ms等,基本输入与输出函数总结,2019/12/5,55,3本章小结,3本章小结一.C语言程序结构,main()程序首部说明语句数据结构语句输入语句执行语句运算处理算法设计输出语句,2019/12/5,56,二.C语言的数据类型,2019/12/5,57,C语言的基本数据类型小结,类型说明符长度数的范围字符型char(ASCII码)1字节0127整型int(-215215-1)2字节-3276832767长整型long4字节-231231-1单精度float4字节10-381038双精度double8字节10-30810308长双精度longdouble16字节10-4931104932,2019/12/5,58,三.运算符小结(9类34种),算术运算符:+,-,*,/,%赋值运算符:=关系运算符:,=,sizeof(),(type),,运算符的优先级与结合性,2019/12/5,60,运算符综合练习,1.字符串ABC在内存中占用的字节数是。34682.设inta,b,c均为2,表达式a+b+c+的结果是。698表达式出错3.如下程序的执行结果是。main()intn=1;printf(%d%d%dn,n,+n,n-);111122123121,一.单项选择,四.基本输出函数,1.字符输入函数:c=getchar()2.格式输入函数:scanf(格式控制串,地址表)3.字符输出函数:putchar(字符变量)4.格式输出函数:printf(格式控制串,变量表),格式控制串,%d:按十进制整数形式输出变量的值%o:按八进制整数形式输出变量的值%x:按十六进制整数形式输出变量的值%ld:按十进制整数形式输出长整型变量的值%u输出无符号整数变量的值%f:输出单精度浮点变量的值%e:按指数形式输出浮点变量的值,2019/12/5,62,程序举例,/*file:simple.c*sum=a+b+c注释语句*/main()程序首部inta,b,c,sum;说明语句a=1;b=2;赋值语句scanf(“%d”,输出语句,执行语句,2019/12/5,63,3阅读程序,并填空,1以下函数的功能是:求x的y次方。,_double_fun(doublex,inty)inti;doublez;for(i=1,z=x;iy;i+)z=z*_x_;returnz;,2以下程序将输入的十进制数以十六进制的形式输出。,#includemain()charb17=0123456789ABCDEF;intc64,d,i=0,base=16;longnumber;printf(请输入一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论