收藏 分销(赏)

C语言教学课件:_20-2总复习习题_.ppt

上传人:胜**** 文档编号:7904955 上传时间:2025-01-25 格式:PPT 页数:110 大小:1.21MB
下载 相关 举报
C语言教学课件:_20-2总复习习题_.ppt_第1页
第1页 / 共110页
C语言教学课件:_20-2总复习习题_.ppt_第2页
第2页 / 共110页
C语言教学课件:_20-2总复习习题_.ppt_第3页
第3页 / 共110页
C语言教学课件:_20-2总复习习题_.ppt_第4页
第4页 / 共110页
C语言教学课件:_20-2总复习习题_.ppt_第5页
第5页 / 共110页
点击查看更多>>
资源描述

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1,期末考试:,题型,:,1.,程序阅读(,30,分),2.,程序填空(,20,分),3.,编写程序(,50,分),C,语言程序设计基础复习,2,一、填空题,3,1,所谓变量的,_,就是可引用变量的范围,通常取决于变量被定义的位置。,2.,设,x,和,y,均为,int,型变量,则以下语句:,x+=y,;,y=x-y,;,x-=y,;的功能是,_,。,3.,设,a,和,b,均为,double,型变量,且,a=7.5,、,b=2.5,,则表达式(,int,),a+b/b,的值是,_,。,4.,判断变量,a,、,

2、b,中有且只有一个为,0,的逻辑表达式为,_,。,5.,若,s=d,,执行语句,s=(s=a,后,字符变量,s,的值为,_,。,作用域,4,x,y,值交换,8,000000,a=0&b!=0|a!=0&b=0,D,6,已知,char a5,*p=a;,问,a1,a+1,*(p+1),p1,之中与众不同的是,_,。,7.,执行程序段“,int k=3,i=2,m;m=(k+=i*=k);,”后,,m,和,i,的值为,_,。,8.,二维数组中元素在内存中的存放顺序是,_,。,9.,执行以下语句后,,a,的值为,_,。,int*p,a=10,b=1;,p=,a+1,5,9,6,按行存放,11,10.

3、,在说明语句:,int (*f)(),;中,标识符,f,代表的是,_,。,11.,执行程序段“,y=1;x=5;while(x-);y+;,”后,,y,的值是,_,。,12.,下段程序循环体执行的次数是,_,。,i=1;n=0;,while(ny?+x:+y,;则,z,的值为,【】,。,(1)1 (2)2,(3)3 (4)4,正确答案:,(3)3,25,11.C,语言中的字符型,(char),数据在内存中的形式存储是,【】,。,(1),原码,(2),补码,(3),反码,(4)ASCII,码,正确答案:,(4)ASCII,码,26,12.,判断,char,型变量,ch,是否为大写字母的正确表达式

4、是,【】,。,(1)(A=ch),(2)(ch =A)&(ch =Z),(3)A=ch=A)&(ch=A)&(ch =Z),27,13.,已知:,char w;int x;float y;double z;,则表达式,w*x+z-y,结果的类型是,【】,。,(1)float (2)Char,(3)int (4)double,正确答案:,(4)double,28,29,自动转换,运算转换,赋值转换,强制类型转换,数据类型的转换,30,自动转换,运算转换,C,语言允许数据值从一种类型转换成另一种类型,在进行运算时,不同类型的数据要,先,自动转换,成同一类型,然后进行运算。转换的规则按图所示。,in

5、t char,,,short,高,低,long,unsigned,double float,转换由编译系统自动完成。,转换按数据长度增加的方向,进行,即按,“,向高看齐,”,的,原则提升,“,较低,”,类型,以,保证不降低精度。,31,(,1,)实型赋予整型,舍去小数部分。,(,2,)整型赋予实型,数值不变,但将以浮点形式存放,即增,加小数部分(小数部分的值为,0,)。,(,3,)字符型赋予整型,由于字符型为一个字节,而整型为两,个字节,因此将字符的,ASCII,码值放到整型变量的低八,位中,高八位为,0,。,(,4,)整型赋予字符型,只把低八位赋予字符型变量。,(,5,),double,型赋

6、予,float,型,丢失的部分按四舍五入向前,进位。,注意:,一个,long,型或,double,型数据给一个,int,型或,float,型变量赋值时,可能会引起数值溢出。,自动转换,赋值转换,如果赋值运算符两边的数据类型不相同,系统将进行类型,转换,即把赋值号右边的类型换成左边的类型,如果右边,表达式的数据类型长度比左边长时,将丢失一部分数据,,这样会降低精度。,32,强制类型转换,强制类型转换运算符,将一个类型的变量值强制转换为另一种类型。,一般格式为:,(,类型标识符,),表达式,例:,k=(int)(int)x+(float)i),(float)(x=85),14.,逻辑运算符两侧运算

7、对象的数据类型,【】,。,(1),只能是,0,或,1,(2),只能是,0,或非,0,正数,(3),只能是整型或字符型数据,(4),可以是任何类型的数据,正确答案:,(4),可以是任何类型的数据,33,34,逻辑表达式概念:,由,逻辑运算符和运算量所构成的式子,其中运算量主要有关系表达式和逻辑量两种,也可以是,C,中任意合法表达式。,逻辑运算符,二、逻辑运算符和逻辑表达式,|,(逻辑或),&,(逻辑与),!,(逻辑非),高,低,优先级,结合性,从左,向右,35,注:,1,、,C,语言编译系统,以数值,1,代表,“,真,”,,以,0,代表,“,假,”,;,2,、若逻辑运算符左右连接的不是逻辑量或,

8、关系表达式时,,C,语言编译系统以,其值非,0,代表,“,真,”,,以,0,代表,“,假,”,。,例,3.4,:,若,x=-10,则,!x,的值为,0,。,若,a=3,b=2,则,a&b,的值为,1,。,5&0|8,的值为,1,。,15.,设有以下程序段,:,int x=0,s=0;,while(!x!=0)s=+x;printf(“%d”,s);,则输出结果为,【】,。,(1),运行程序段后输出,0,(2),运行程序段后输出是,1,(3),程序段中的控制表达式是非法的,(4),程序执行无限次,正确答案:,(2),运行程序段后输出是,1,36,16.,对于,for(,表达式,1,;表达式,3)

9、,可以理解为,【】,(1)for(,表达式,1,;,0,;表达式,3),(2)for(,表达式,1,;,1,;表达式,3),(3)for(,表达式,1,;表达式,1,;表达式,3),(4)for(,表达式,1,;表达式,3,;表达式,3),正确答案:,(2)for(,表达式,1,;,1,;表达式,3),37,17.,执行下面语句后,x,的值为,【】,。,int a=14,b=15,x;,char c=A;,x=(a3;x-),if(x%3)x-;-x;-x;printf(“%d”,x);,(1)6 3 (2)7 4,(3)6 2 (4)7 3,正确答案:(2)7 4,50,23.,以下描述正确

10、的是,(),(1)goto,语句只能适用于退出多层循环,(2)switch,语句中不能出现,continue,语句,(3),只能用,continue,语句来终止本次循环,(4),在循环中,break,语句不能独立出现,正确答案:,(2)switch语句中不能出现continue语句,51,52,switch,语句,switch,语句是实现,多分支选择结构,的一个,语句,格式,switch,(算术表达式),case,常量表达式,1,:语句,1,;,break,;,case,常量表达式,2,:语句,2,;,break,;,case,常量表达式,n,:语句,n,;,break,;,default,:

11、语句,n+1,;,表达式值必须为整型、,字符型或枚举类型,每个,case,表达式,的值必须互不相同,53,例,3.18,将1至7中的任意一个数字转化成对应的英文星期几的前三个字母,如1转化为,Mon,7,转化为,Sun,等。,#,include,void main(),int a;,printf(input integer number:);,scanf(%d,switch(a),/*,对表达式,a,做多次判断,根据不同的条件做不同的语句*/,case 1:printf(Monn);break;,/*break,的作用是跳出该结构*/,case 2:printf(Tuen);break;,ca

12、se 3:printf(Wedn);break;,case 4:printf(Thun);break;,case 5:printf(Frin);break;,case 6:printf(Satn);break;,case 7:printf(Sunn);break;,default:printf(errorn,);/*,输入的不是0至7的整数时执行*/,24.,下列关于,C,语言的叙述错误的是,【】,。,(1),大写字母和小写字母的意义相同,(2),不同类型的变量可以在一个表达式中,(3),在赋值表达式中等号(,=,)左边必须是变量名,(4),同一个运算符号在不同的场合可以有不同的含义,正确答案

13、:,(1)大写字母和小写字母的意义相同,54,25.,如果,int a=1,b=2,c=3,d=4;,则条件表达式,ab?a:cd?c:d,的值是,【】,。,(1)1 (2)2,(3)3 (4)4,正确答案:(1)1,55,26.C,语言中,while,和,do-while,循环的主要区别是,【】,。,(1)do-while,的循环体至少无条件执行一次,(2)while,的循环控制条件比,do-while,的循环控制条件严格,(3)do-while,允许从外部转到循环体内,(4)do-while,的循环体不能是复合语句,正确答案:,(1)do-while的循环体至少无条件执行一次,56,27.

14、,以下是正确的,C,语言标识符是,【】,。,(1)#define (2)_123,(3)%d (4)n,正确答案:(2)_123,57,28.,已知:,char s6,,*,ps=s,;则正确的赋值语句是,【】,。,(1)*s=12345;(2)ps=12345;,(3)*ps=12345;(4)s=12345;,正确答案:(2)ps=12345;,58,29.,执行语句,for(i=1;i+b,!,=c,的值是,【】,正确答案:0 或假,63,34.,设,y,为,int,型变量,请写出描述,y,是奇数 的表达式,【】,正确答案:y%2=1 或y/2*2!=y,64,35.,在,C,语言中,用

15、,【】,表示逻辑“真”值,正确答案:,1,65,36.,有,int x,y,z;,且,x=3,y=-4,z=5,则表达式,(x&y)=(x|z),的值为,【】.,正确答案:1 或真,66,37.,一个,C,语言源程序中至少应包括一个,【】,正确答案:main函数 或主函数,67,38.,若,a=6,b=4,c=3,则表达式,a&b+c|b-c,的值是,【】,正确答案:1,68,39.,为了避免在嵌套的条件语句,if-else,中产生二义性,C,语言规定,:else,子句总是与,【】,配对,正确答案:之前最近的还没有配对的if,69,40.,在,C,程序中,数据可以用,【】,和二进制两种代码形式

16、存放。,正确答案:文本文件 或ASCII码,70,71,文件分类,按文件的内容,程序文件,和,数据文件,按文件的组织形式,顺序存取文件,和,随机存取文件,按文件的存储形式,ASCII,码文件,(文本文件)和,二进制文件,41.,有说明,char s80,*p=HELLO!;,执行,p=strcpy(s,p);s0=h;,后,,puts(p),的结果是,【】,正确答案:hELLO!,72,43.C,语言中,形参的缺省的存储类说明是,【】,正确答案:自动 或auto,73,74,局部变量,的存储类别,定义局部变量的存储类别时使用三个关键字,:,说明:,局部变量的存储类别缺省是,auto,auto,

17、自动变量,static,局部静态变量,register,寄存器变量,44.,若有以下定义和语句,:int a4=1,3,5,7,*p;p=,则*,-p,的值是,【】,正确答案:3,75,45.,有说明,char s80=abcd ,*p=s;,,执行,p+;,后,,puts(strcat(p,ABCD );,的结果是,【】,正确答案:bcdABCD,76,46.,若有结构体定义:,struct number,int a;,float f;n=1,5.6,*p=,则表达式,(*p).a+(*p).f,的值为,【】,正确答案:,6.6,77,47.,若有定义和语句,:int a5=10,20,30

18、,40,50,*p;p=,则*,+p,的值是,【】,正确答案:30,78,48.,函数的指针指的的是函数的,【】,正确答案:入口地址,79,49.,若用数组名做函数调用的实参,则传递给形参的是,【】,正确答案:数组的起始地址,80,程序填空题,81,50.,输入一个字符,如果它是一个大写字母,则变成小写字母;如果是小写字母,则变成大写字母;其它字母不变。,main(),char ch;,scanf(%c ,if(【1】)ch+=32;,else if(ch=a,printf(%c ,ch);,正确答案:,【1】,:,ch=A&ch=Z,【,2,】,:,ch=ch-32 或,ch-=32,82,

19、51.,下面程序的功能是将从终端上读入的,10,个整数以二进制方式写入名为“,bi.dat”,的新文件中。,#include,FILE *fp;,main(),int m,j;,if(fp=fopen(【1】,”wb”)=NULL)exit(0);,for(m=0;m10;m+),scanf(“%d”,fwrite(【2】,sizeof(int),1,【3】);,fclose(fp);,正确答案:,【1】,:,bi.dat,【,2,】,:,&j,【,3,】,:,fp,83,52.,根据以下嵌套的,if,语句所给条件,填写,switch,语句,使之完成相同的功能,假设,mark,的取值在,1-1

20、00,之间。请填空。,if,语句:,if(mark60)k=1;,else if(mark70)k=2;,else if(mark80)k=3;,else if(mark90)k=4;,else if(mark=100)k=5;,84,switch,语句:,switch(【1】),【2】:k=1;break;,case 6:k=2;break;,case 7:k=3;break;,case 8:k=4;break;,【3】:k=5;,正确答案:,【1】:mark/10,【2】:,case 0:case 1:case 2:case 3:case 4:,case 5:,【3】:default,85

21、,1.,下面程序的功能是求出式子的前,n,项的值:,1+23-35+47-59,#include,main(),int i,j,sum=1,temp,n;scanf(“%d”,for(i=2;i=n;i+),temp=1;,for(j=1;j=,;j+)temp=temp*i;,if()sum=sum+temp;,else sum=;,printf(“sum is:%dn”,sum);,2*i-1,i%2=0,sum=sum-temp,86,2.,求矩阵,a,的两条对角线上的元素之和。,main(),int a33=1,3,6,7,9,11,14,15,17;,int sum1=0,sum2=

22、0,i,j;,for(i=0;i3;i+),for(j=0;j3;j+),if()sum1=sum1+aij;,for(i=0;i=0;j-),if()sum2=sum2+aij;,printf(“sum1=%d,sum2=%dn”,sum1,sum2);,i=j,i+j=2,87,3,用指针方法将字符串,a,逆序复制到另一串,b,中。,#include,main(),int i,len;char a15,b15,*pa,*pb;,pa=a;pb=b;pa=”welcome”;,len=strlen();pa=,;,for(i=0;ilen;i+),*pb=*pa;,;pb+;,*pb=,;,

23、printf(“result is%sn”,b);,pa,pa+len-1,pa-,0,88,读程序写结果,89,57.,执行下面的程序,运行结果为:,#include“stdio.h”,#include“string.h”,main(),char ss10=“12345”;,strcat(ss,6789 );,printf(“%sn”,ss);,正确答案:,123456789,90,56.,执行下面的程序,输出结果是:,【】,#include “stdio.h”,main(),int j;int m32=10,20,30,40,50,60;,for(j=0;j2;j+)printf(“%d,

24、”,m2-jj);,正确答案:,50,40,91,二、阅读程序,写出程序运行结果:,1.#include,void main(),int i=1;,while(i=10),if(+i%2!=0)continue;,else printf(“%3d”,i);,92,2 4 6 8 10,2.#include,void main(),int i,j,k;,for(i=1;i=4;i+),for(j=1;j=(4-i);j+)printf(“”);,for(k=1;k=(2*i-1)+5;k+),if(k=5)printf(“”);,else printf(“*”);,printf(“n”);,93

25、,*,*,*,*,3.#include,#define N 5,void main(),int yNN,i,j;,for(i=1;iN;i+),yii=1;yi1=1;,for(i=3;iN;i+),for(j=2;j=i-1;j+),yij=yi-1j-1+yi-1j;,for(i=1;iN;i+),for(j=1;jy?x:y;,int f2(int x,int y)return xy?y:x;,void main(),int a=4,b=3,c=5,d=2,e,f,g;,e=f2(f1(a,b),f1(c,d);,f=f1(f2(a,b),f2(c,d);,g=a+b+c+d-e-f;,

26、printf(“%d,%d,%d n”,e,f,g);,输出结果:,4,,,3,,,7,编程,96,1.,有,1,、,2,、,3,、,4,个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?,2.,编写函数,isprime,判断正整数,m,是否为素数;如果是素数,返回正整数,1,,否则返回,0,;主函数中调用,isprime,,找出,1001000,之间的所有素数。,3.,编写函数,完成将一个数组中的数按逆序重新存放,不使用辅助数组。主函数中完成数组的输入和输出。,97,1.,void main()int i,j,k;for(i=1;i5;i+),for(j=1;j5;j+),for(

27、k=1;k5;k+),if(i!=k&i!=j&j!=k),printf(%d,%d,%dn,i,j,k);,98,2.,void main(),int iNumber;,printf(,请输入一个整数:,);,scanf(%d,if(isprime(iNumber),printf(%d,是素数,iNumber);,else printf(%d,不是素数,iNumber);,int isprime,(,int a,),int i;,for(i=2;i=sqrt(a);i+),if(a%i=0)return 0;,return 1;,99,100,3.,void invert(int a,int n),int i,tmp;,for(i=0;iz,),?x,:,x=10|y+z=6,1,8.,已知:,struct student,long num;,char name10;,int age;,stud;,对结构体,stud,中的成员,num,的正确引用是()。,stud.num,109,9,全局变量的作用范围是()。,10,C,语言可处理的文件类型分为两类:文本文件和()。,本文件,二进制文件,110,

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服