C语言程序设计综合复习资料(doc 9页).doc_第1页
C语言程序设计综合复习资料(doc 9页).doc_第2页
C语言程序设计综合复习资料(doc 9页).doc_第3页
C语言程序设计综合复习资料(doc 9页).doc_第4页
C语言程序设计综合复习资料(doc 9页).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计综合复习资料要求掌握的章节:第1章、第3章第8章、第10章(前4节)、第11章(前6节)重点章节:第3章第8章、第10章(前4节)难点章节:第8章、第10章(前4节)考试题型:选择题(填空题)(20)读程序题(40)编程序题(40)第1章C语言概述一、选择题1能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序B)编辑程序C)解释程序D)编译程序2在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置3C语言中用于结构化程序设计的三种基本结构是A)顺序结构、选择结构、循环

2、结构B)if、switch、breakC)for、while、do-whileD)if、for、continue4C语言程序的基本单位是A)函数B)过程C)子例程D)子程序二、填空题1C语言程序总是从函数开始执行。2C语言是种面向_的程序设计语言,其程序的基本单位是。.3C语言中的函数由、两部分组成。4结构化程序设计中所规定的三种基本控制结构是、和。第3章数据类型、运算符与表达式一、选择题1下列关于C语言用户标识符的叙述中正确的是A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标

3、识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2C语言中基本数据类型有A)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型3在计算机中,一个字节所包含二进制位的个数是A)2B)4C)8D)164用8位无符号二进制数能表示的最大十进制数为A)127B)128C)255D)2565在计算机系统中,存储一个汉字的国标码所需要的字节数为A)1B)2C)3D)46在C语言中,char型数据在内存中的存储形式是A)原码B)补码C)反码D)ASCII码7十六进制数100转换为十进制数为A)256B)512C)1024D)648十六进制数7A转化成八进

4、制数是A)123B)122C)173D)1729十进制数32转化成十六进制数是A)20B)ffC)10D)2110与十进制数511等值的十六进制数为A)1FFB)2FFC)1FED)2FE11以下选项中可作为C语言合法整数的是A)10110BB)0386C)0XffaD)x2a212以下选项中合法的实型常数是A)5E2.0B)E-3C).2E0D)1.3E13依据C语言的语法规则,下列()是用户定义的合法标识符。A)intB)INTC)jin#2D)8f14依据C语言的语法规则,下列合法标识符是A)ElseB)elseC)user$2D)5_examp15以下不正确的字符常量是A)8B)xff

5、C)887D)16以下不正确的字符常量是A)0B)xggC)0D)a17.以下选项中不合法的八进制数是A)01B)077C)028D)0018下列运算符优先级最高的是A)B)+C)&D)!=19若有说明:chars1=067,s2=1;则变量s1,s2在内存中各占的字节数是。A)11B)41C)31D)1220以下不能定义为用户标识符的是A)scanfB)VoidC)_3com_D)inte21在C语言中,可以作为用户标识符的一组标识符是A)voiddefineWORDB)as_b3_224ElseC)Switch-wercaseD)4bDOSIG22若有:intx=1,n=5;则执行语句x%

6、=(n%2)后,x的值为A)3B)2C)1D)023设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值是A)10B)9C)8D)724已知:chara=a;intb=0;floatc=-1.2;doubled=0;执行语句:c=a+b+c+d;后,变量c的类型是A)charB)intC)doubleD)float25表示x0或x1的正确的表达式是A)x=1|x1|x=1orx=1|x0;29已定义c为字符型变量,则下列语句中正确的是A)c=97;B)c=97;C)c=a;D)c=97;30执行intj,i=1;j=-i+;后j的值是A)-1B)-2C)1D)231以下选项中

7、非法的表达式是A)(a+2)+B)i=j=0C)(char)(65+3)D)x+1=x+132已知小写字母的ASCII码为97,对于inta=99,b=b;printf(“%c,%d”,a,b);的结果是A)99,bB)c,98C)99,98D)c,b33以下选项中非法的表达式是A)0=x100B)i=j=0C)(char)(65+3)D)x+1=x+134下列错误的表达式是A)-x+B)(-x)+C)x+yD)+x+y35对于intx=12,y=8;printf(“%d%d%d”,!x,x|y,x&y);输出的结果是A)011B)010C)000D)11136设a,b,c均为int型变量,且

8、a=3,b=4,c=5,则下面的表达式中,值为0的表达式是A)a&bB)0|1C)a|b+c&bcD)!(ab)&!c|1)37若有定义:inta=8,b=5,C;,执行语句C=a/b+0.4;后,C的值是A)1.4B)1C)2.0D)238以下选项中,与k=n+完全等价的表达式是A)k=n,n=n+1B)n=n+1,k=nC)k=+nD)k+=n+139设a=3,b=4,c=5,则逻辑表达式:a|b+c&b=c的值是A)1B)0C)非0D)语法错40若x为int型变量,则逗号表达式(x=4*5,x*5),x+25的结果是A)20B)45C)100D)表达式不合法41若有语句inti=19,j

9、=i%4;printf(%dn,j);则输出结果是A)3B)-3C)4.75D)042设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是A)x=x*100+0.5/100.0;B)x=(x*100+0.5)/100.0;C)x=(int)(x*100+0.5)/100.0;D)x=(x/100+0.5)*100.0;43已知小写字母的ASCII码为97,对于inta=99,b=b;printf(“%c,%d”,a,b);的结果是A)99,bB)c,98C)99,98D)c,b44若有语句inti=19,j=i%4;printf(%dn,j);则

10、输出结果是。A)3B)-3C)4.75D)045语句:printf(%d,(a=2)&(b=-2);的输出结果为a)无输出b)结果不确定c)1d)246有定义语句:intx,y;,若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A)1112B)11,12C)11,12D)11,1247设a=3,b=4,c=5,则逻辑表达式:a|b+c&b=c的值是A)1B)0C)非0D)语法错48已知charch=A;且表达式ch=(ch=A&ch=Z)?(ch+32)::ch的值是()A)AB)aC)ZD)出错49如下程序段:intx=

11、2005,y=2006;printf(%dn,(x,y);则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2005D)输出值为200650设有如下程序段:intx=2,y=3;printf(%dn,(x,y);则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2D)输出值为3二、填空题1C语言中逻辑”真”用表示,逻辑”假”用表示。2在C语言中,整数可用进制、进制和进制3种数制表示。3十进制数52转化成八进制数是。4十六进制数7A转化成八进制数是。5十进制数47转化成

12、八进制数是。6在C语言中,101是种特殊的字符常量,它称为,其表示的字符为。7在C语言程序中,整型数可用十进制、进制和进制3种数制表示。070是个合法的整型数。8字符串“ab034x79”的长度为。9十六进制数7A转化成八进制数是。10语句:printf(%d,(a=-10)&(b=0);的输出结果为。11若w=1,x=2,y=3,z=4,则条件表达式wx?w:y0?p/10:p%3);4main()intx,y=0;printf(“%cn”,x=99);printf(“%dn”,(x+,+y,x+y);第5章选择结构程序设计一、读程序,写出程序执行结果1voidmain()intx=-9,y

13、;if(x0)y=10;elseif(x=0)y=0;elseif(xb)if(b0)c=0;elsec+;printf(“%dn”,c);4main()intx=100,a=20,b=10;intv1=5;if(ab)if(b!=15)if(!v1)x=1;elsex=10;x=-1;printf(“%d”,x);5main()inta=4,b=3,c=5,t=0;if(ab)t=a;a=b;b=t;if(a0;k-=3)putchar(*);输出是A)*B)*C)*D)无限循环2若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b=c

14、;b+)s=s+1;则与上述程序段功能等价的赋值语句是A)s=a+b;B)s=a+c;C)s=s+c;D)s=b+c;3设有inti,x;则循环语句:for(i=0,x=0;i=9&x!=876;i+)scanf(“%d”,&x);A)最多执行10次B)最多执行9次C)是无限循环D)循环体一次也不执行二、读程序,写出程序执行结果1main()intn=4;while(n-)printf(%2d,-n);2main()inti;for(i=0;i3;i+)switch(i)case1:printf(%d,i);case2:printf(%d,i);default:printf(%d,i);3ma

15、in()inti,m=0,n=0,k=0;for(i=9;i1;i-)for(j=0;j11-2*i;j+)putchar();for(j=0;j2*i-1;j+)putchar(9);5main()inta;for(a=1;a0;y-)j=j*x;printf(“j=%dn”,j);7voidmain()intn=-5;while(+n)printf(%2d,+n);8main()intx=15;while(x10&x50)x+;if(x/3)x+;break;elsecontinue;printf(“%dn”,x);9voidmain()intx,y;for(x=1,y=1;y=10)br

16、eak;if(x%2=1)x+=5;continue;x-=3;printf(%d%dn,x,y);10main()intk=4,n=0;for(;nk;)n+;if(n%3!=0)continue;k-;printf(%d,%dn,k,n);11voidmain()inti=1;while(i10)if(+i%5!=3)continue;elseprintf(%d,i);12main()intk=0,m=0;inti,j;for(i=0;i2;i+)for(j=0;j0);printf(“%dn”,t);14voidmain()intn1,n2;n2=5678;while(n2!=0)n1=

17、n2%10;n2=n2/10;printf(%d,n1);第7章数组一、选择题1在执行inta3=1,2,3,4;语句后a12的值是A、B、C、D、2已知:inta3=1,2,3,4,5,6,7,8,9,0;则数组a的第一维的大小是A)2B)3C)4D)无法确定;3以下能正确定义数组并正确赋初值的语句是A)intN=5,bNN;B)inta12=1,3;C)intc2=1,2,3,4;D)intd32=1,2,34;4以下不能正确定义二维数组的选项是A)inta22=1,2;B)inta2=1,2,3,4;C)inta22=1,2,3;D)inta2=1,2,3,4;5有语句:chars110

18、,s210=books;则能将字符串books赋给数组s1的正确语句是A)s1=books;B)strcpy(s1,s2);C)s1=s2;D)strcpy(s2,s1);6C语言标准函数strcpy(s3,strcat(s1,s2)的功能是A)将字符串s1复制到s2中,再连接到s3之后B)将字符串s2连接到s1之后,再将s1复制到s3中C)将字符串s2复制到s1中,再将s1连接到s3之后D)将字符串s2连接到s1之后,再将s3复制到s1中二、读程序,写出程序执行结果1main()intaa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;inti,s=0;for(i=0

19、;i4;i+)s+=aai3;printf(“%dn”,s);2main()inta44=1,2,-3,-4,0,-12,-13,14,-21,23,0,-24,-31,32,-33,0;inti,j,s=0;for(i=0;i4;i+)for(j=0;j4;j+)if(aij0)continue;if(aij=0)break;s+=aij;printf(%dn,s);3main()intp7=11,13,14,15,16,17,18,i=0,k=0;while(i7&pi%2)k=k+pi;i+;printf(%dn,k);4main()inti,n=0,0,0,0,0;for(i=1;i=

20、4;i+)ni=ni-1*2+1;printf(%d,ni);5voidmain()intstr33=1,2,3,4,5,6,7,8,9,i,j,t;for(i=0;i3;i+)for(j=0;ji;j+)t=strij;strij=strji;strji=t;for(i=0;i3;i+)for(j=0;j0?x:-x);voidmain()inta=-5;printf(“%d,%dn”,a,fun(a);3ex()staticintx=5;-x;printf(“%d”,x);voidmain()ex();ex();ex();4fun(inta,intb)if(ab)return(a);els

21、ereturn(b);main()intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(%dn,r);5intf(intx)inty=0;staticz=3;y+;z+;return(x+y+z);main()intw=2,k;for(k=1;k3;k+)w=f(w);printf(%dn,w);6voidf(intx,inty)intt;if(xy)t=x;x=y;y=t;main()inta=4,b=3,c=5;f(a,b);f(a,c);f(b,c);printf(%d,%d,%dn,a,b,c);7intb=2;fun(int*a)b+=*a;retu

22、rn(b);main()inta=2,res=2;res+=fun(&a);printf(“%dn”,res);8intd=1;voidfun(intp)intd=5;d+=p+;printf(“%d”,d);main()inta=3;fun(a);d+=a+;printf(%dn,d);9intd=2;intfun(intp)staticintd=3;d+=p;printf(%3d,d);return(d);voidmain()printf(%3dn,fun(2+fun(d);10intf()ints=1;staticinti=0;s+=i;i+;returns;voidmain()inti

23、,a=0;for(i=0;i5;i+)a+=f();printf(%dn,a);11intf()ints=1;staticinti=0;s+=i;i+;returns;main()inti,a=0;for(i=0;ib)return(a);elsereturn(b);main()intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(%dn,r);14inta=100,b=200;voidf()printf(“%d,%dn”,a,b);a=1;b=2;voidmain()inta=5,b=7;f();printf(“%d,%dn”,a,b);15fun(intx

24、)staticinta=3;a+=x;returna;voidmain()intk=2,m=1,n;n=fun(k);n=fun(m);printf(“%dn”,n);第10章指针一、选择题1设有定义inta=1,5,7,9,11,13,*p=a+3;则*(p-2),*(a+4)的值是A)511B)19C)59D)有错误2设有定义inta=1,5,7,9,11,13,*p=a+3;则*(p-3),*(a+2)的值是A)511B)17C)59D)有错误3对于inta=1,2,3,4,5,6,p;p=a;*(p+3)+=2;则*p,*(p+3)的值为A)15B)13C)14D)164设有定义cha

25、r*p=“abcdeOfghjik0”;则printf(“%dn”,strlen(p);输出结果是A)12B)15C)6D)55下程序段:chars20=abcd,*sp=s;strcat(sp,ABCD);puts(sp);的输出结果是A)abcdABCDB)ABCDabcdC)ABCDD)abcd6设有定义语句:charstr20=Hello,Beijing,*p=str;则printf(%dn,strlen(p+20);输出结果是A)0B)5C)7D)207能正确运用指针变量的程序段是A)int*i=NULL;B)float*f=NULL;scanf(%d,i);*f=10.5;C)ch

26、art=m,*c=&t;D)long*L;*c=&t;L=0;8以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#defineN10voidarrin(intxN)inti=0;while(iN)scanf(%d,_);在下划线处应填入的是A)x+iB)&xi+1C)x+(i+)D)&x+i9若有以下定义和语句:inta=4,b=3,*p,*q,*w;p=&a;q=&b;w=q;q=NULL;则以下选项中错误的语句是A)*q=0;B)w=p;C)*p=a;D)*p=*w;10下列选项中正确的语句组是A)chars8;s=Beijing;B)char*s;s=Beijing;C)ch

27、ars8=Beijing;D)char*s;s=Beijing;11若有:inta10,*p=&a0;,关于数组名a的不正确的说法是A)a是个数组指针B)数组名a表示数组的首地址C)数组名a与a0等价D)a和p都指向同一个存储单元12已定义以下函数fun(int*p)return*p;该函数的返回值是A)不确定的值B)形参p中存放的值C)形参p所指存储单元中的值D)形参p的地址值二、填空题1charstr110,str210=books,则能将字符串books赋给数组str1的标准函数是。2若有说明:chars14=12,*ptr=s1;则我们称指针变量ptr指向数组s1的,而*(ptr+1)

28、的值是3对于charstr=“1234”,*p=str;则*(p+2)的结果是。4已知:inta5=1,2,3,4,5,*p=a+2;则*P的值是。5若有说明:char*s=ABCDEFG;则我们称指针变量S指向字符串的,而S2的值是三、读程序,写出程序执行结果1voidmain()char*p,str20=xyz;p=ABCDEFG;strcpy(str+1,p+1);printf(%s,str);2voidmain()char*p=”abcdba”,*q;intflag=1;q=p+strlen(p)-1;while(pq)if(*p+!=*q-)flag=0;if(flag)puts(“

29、yes”);elseputs(“no”);3voidfun(char*a,char*b)a=b;(*a)+;main()charc1=A,c2=a,*p1,*p2;p1=&c1;p2=&c2;fun(p1,p2);printf(%c%cn,c1,c2);4voidf(int*s,intn1,intn2)inti,j,t;i=n1;j=n2;while(ij)t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;i+;j-;main()inta=11,55,66,77,88,99,i;f(a,1,5);for(i=0;i6;i+)printf(“%3d”,ai);5f(int*x,in

30、tn)int*p,*s;for(p=x,s=x;p-xn;p+)if(*si;i+,j-)c=*(a+i);*(a+i)=*(a+j);*(a+j)=c;puts(a);7main()inta,k,*p=&a;a=6;for(k=1;k=(*p);k+)if(*p)%k!=0)printf(“%5d”,k);8.voidmain()charx=abcxyz;char*ptr;for(ptr=&x2;ptrx+6;ptr+)printf(%sn,ptr);9voidmain()chara=language,*p=a;intk=0;while(*p)if(*pf)+k;p+;printf(“%s%

31、dn”,a,k);10voidmain()intk,a10,*p=a;for(k=1;k10;k+)*(p+k-1)=k;for(k=0;k5;k+)*(p+9-k)=*(p+k);for(k=0;k10;k+)printf(“%3d”,*p+);11voidmain()char*p=”ChinaUniversityofPetroleum!”,*p1;intn=1;p1=p;while(*+p)n+;printf(%s,%dn”,p1+20,n);12voidfun(char*c,intd)*c=*c+1;d=d+1;printf(“%c,%c,”,*c,d);main()chara=A,b=

32、a;fun(&b,a);printf(%c,%cn,a,b);13fun(char*w,intn)chart,*s1,*s2;s1=w;s2=w+n-1;while(s1s2)t=*s1+;*s1=*s2-;*s2=t;main()char*p=1234567;fun(p,strlen(p);puts(p);14intfun(char*s1,char*s2)inti=0;while(s1i=s2i&s2i!=0)i+;return(s1i=0&s2i=0);main()charp10=”abcdef”,q10=”ABCDEF”printf(“%dn”,fun(p,q);15main()inta

33、10,*p,*s,i;for(i=0;i10;i+)scanf(%d”,a+i);for(p=a,s=a;p-a*s)s=p;printf(“max=%d,index=%dn”,*s,s-a);简述上列程序完成的功能:16fun(char*p2,char*p1)while(*p2=*p1)!=0)p1+;p2+;简述此函数完成的功能:第11章结构体一、选择题1若有以下说明,则对结构体变量stu1中成员age的不正确的引用方式是structstudentintage;intnum;stu1,*p;p=&stu1;)stu1.ageB)student.age)(*p).age)p-age2设有如下

34、定义structsscharname10;intage;charsex;std3,*p=std;下面各输入语句中错误的是A)scanf(%d,&(*p).age);B)scanf(%s,&);C)scanf(%c,&std0.sex);D)scanf(%c,&(p-sex);3若有以下说明,能正确的引用“LiMing”的方式是structstuintname;intnum;stu12=MaHong,18,LiMing,17;structstu*p=stu1;)B))(*p+).name)p-name综合练习题一、编写程序1求下列分段函数的值。2求下列分段函数的值。(a、b由键盘输入)3求分段函数的值4求分段函数的值5计算:s=1+1/1+1/2+1/n,其中n由键盘输入。6用台劳级数求e的近似值,直到最后一项小于10-6e=1+1/1!+1/2!+1/3!+

温馨提示

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

评论

0/150

提交评论