二级C语言等级考试真题综合练习全部答案_第1页
二级C语言等级考试真题综合练习全部答案_第2页
二级C语言等级考试真题综合练习全部答案_第3页
二级C语言等级考试真题综合练习全部答案_第4页
二级C语言等级考试真题综合练习全部答案_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、20XX年二级C选择题练习AB50134、下列叙述错误的是(D。C答案:DTOC o 1-5 h zA、一个C源程序可由一个或多个函数组成5B、C语言函数体使用一对花括号和将构成函数的语句括起来答C、C源程序必须包含一个main()函数AD、表达式是构成C源程序的基本单元(函数)B50135、编写C源程序时,main()函数的位置(B)。答案:50137、结构化程序设计三种基本结构中,不包含(C。答案:A、顺序结构B、选择结构IC、嵌套结构5D、循环结构答50138、C源程序中,可根据需要用一对(C)将多个语句括起来A构成复合语句。答案:-012D、字符型50235(C)为合法的用户标识符。答

2、案:A、go_1.5TOC o 1-5 h zB、scanfDC、chr_22D、6_scn50236(C)为不合法的字符串常量。5答案:答A、teacherAB、kindergartenBC、kindergartenCD、kindergartenteacherD50237、下列选项中,均为合法整型常量的是(B.C)。5a答a相AB答案:A、170-0180 x18B、120TOC o 1-5 h zD、3,4,3为50335、语句(B)符合C语言语法。答答案:AA、inta=25,b=c=a;B、inta,b=25,c;C、inta=b=c=25;D、inta=25,b=25+(c=25);

3、50336、若已定义:intx=3,y=2,k=5;答案:BCD5则正确的表达式是(B。答AA、x=y+1=8-kBB、x=(y+,y+k)CC、x=y2DD、k=int(x/y)%10550337、若已定义:inta=7,b=6;floatm=1;则正确的表达式是(C。答案:A、(a+b)*=mBB、a=(b!=5)CC、m=float(a)/bDD、(a+b)+550338、若已定义:inta,b,c;则逗号表达式a=10,b=23,c=a+b的值J答案:A、0B、3C、1D、250437、若已定义:intm=2,n=4;则表达式(m+,m+n)的值是()。答案:A、8B、7C、5D、65

4、0438、若已定义:inta=5,b;语句b=l+(-a);执行后变量a,b的值分别为()。答案:A、a为5,B、a为4,C、a为4,D、a为5,50534、若已定义:floatx;拟从键盘输入一个值赋予x,正确的函数调用是()。printf(+k=%dn,+k);答案:A、+k=4B、+k=3C、+3=4TOC o 1-5 h zD、+k=5550538、若要产生一个1099之间的随机整数,应使用()表达式。值答案:答A、srand()/100AB、rand()%90+10BC、srand()D、rand()D50634、要使逻辑表达式:(运算对象)&(运算对象)的结果为“真”,5其两侧运算

5、对象的值应()。答答案:AA、是0或1B、是0C、是整数DD、是非0的数50635、能正确表示数学关系式5WfV10的C语言表达式是()。TOC o 1-5 h z答案:答A、0AB、1BC、2D、3D50734、若已定义:charc=M;则正确的赋值表达式是()。5答案:的A、c=0 x2m已B、c=c%3答C、c=c+029AD、c%=2.6B50735、设已定义:floatx=1.0,y=2.0;语句()执行后变量x值C为3.0。D答案:A、x+=y;结B、x*=y;答C、x-=2*y;AD、x/=x+y;B50736、若已定义:charc;inta;floatx;doubley;则表达

6、式c*a+x-y值C的数据类型为()50834、下列程序运行时若输入6,则输出结果是()。voidmain()intx;scanf(%d,&x);if(x-6)printf(%dn,x);elseprintf(%dn,x+);A答案:A、6TOC o 1-5 h zB、7CC、5DD、4550835、下列程序的运行结果是()。invoidmain()mintx,y,z;答x=y=1;z=2;Aif(!x)B+z;D、350837、下列程序的运行结果是()voidmain()TOC o 1-5 h zinta=1,b=2;5switch(a)定case1:答printf(a=1);switch(

7、b)case1:printf(b=1);break;case2:printf(b=2);break;case3:printf(b=3);break;case2:printf(a=2);break;default:printf(a=3);ABCD5答AB答案A、a=1b=2TOC o 1-5 h z50935、对于下列程序段,叙述正确的是()。Cinta=2;Ddoa+=2;5while(!(a!=0);in答案:foA、是无限循环B、循环执行2次C、有语法错误D、循环执行1次A50936、下列程序段运行后变量s的值为()。Binti,s=1;Cfor(i=1;i=6;i+)Dif(i%2)5c

8、ontinue;s+=i;答案:A、6B、12A、3B、2C、4TOC o 1-5 h zD、1答51034、能对二维数组a进行正确初始化的语句是()。A答案:BA、inta2=1,2,3,0,5;CB、inta3=1,2,3,4,5;DC、inta24=1,2,3,4,5,6;5D、inta3=1,2,3,5,6;51035、若已定义:inta6=2,l,3;则元素a3的值为()。答案:A、1B、2TOC o 1-5 h zC、0答D、3A51036、下列程序段的运行结果是()。Binta6=1,2,i;Cfor(i=2;i=6;i+)Dai=ai-1+ai-2;TOC o 1-5 h z答

9、案:CA、数组的大小是固定的,且其中所有数组元素的数据类型必须相同DB、数组的大小是固定的,但其中可以有不同数据类型的数组元素5C、数组的大小是可变的,但所有数组元素的数据类型必须相同inD、数组的大小是可变的,且其中可以有不同数据类型的数组元素in51134、下列程序段执行后p的值是()。finta33=3,2,1,3,2,1,3,2,1;inti,j,p=1;答for(i=0;i3;i+)Afor(j=i+1;j3;j+)p*=aij;B答案:CA、18D5B、108C、12D、2A51135、若已定义:ints34=1,2,0,1,3,4,5;则s22的值是B()。C答案:DA、35B、

10、4则答案:AA、7BB、8CC、9DD、6551234、下列程序段的运行结果是()。incharstr33=a,b,c,d,e,f,g,h,i;cstr21=0;bprintf(%s,str);答答案:Achara=student;A、abcdefghiB、abcdefgC、abcdefg0D、abcdefg0i51235、下列程序段的运行结果是()。charb=work;strcpy(a,b);printf(%s%c,a,a5);答案:D、printf(%c,str1);51238、下列程序段的运行结果是()TOC o 1-5 h zcharstr80;答strcpy(str,univers

11、ity);Aprintf(%d,strlen(str);B答案:CA、117DB、85C、9#D、10in51334、下列程序的运行结果是()。#includeintfun(inta44)inti;mfor(i=0;i4;i+)printf(%2d,ai1);printf(n);zmain()inta44=1,2,2,3,1,0,0,0,2,1,0,0,0,1,9,8;答ABCD5fuA、15*2=30B、x*y=305C、0D、3051336、下列程序的运行结果是()。fu#includevoidfun(inti)intm=3;m=+i;printf(%d,m);main()intm=9,n

12、=6;fun(n);printf(%d,m);答案:A、66B、79C、97A、7B、3C、D、551434、下列叙述正确的是()。答答案:ATOC o 1-5 h zA、编译预处理命令行必须以分号结束BB、程序中使用带参数的宏时,参数类型要与宏定义时一致CC、宏名只能包含大写字母和数字字符ID、#define是宏定义命令551435、下列叙述错误的是()。答答案:A、编译预处理命令行都必须以#号开始BB、宏定义只能用大写字母表示CC、使用预处理命令”#includeV文件名”时,编译系统只在指定的系统I目录下查找该文件5I、宏名可以用小写字母表示答51436、若要定义一个符号常量,下列选项中

13、正确的是()。A答案:A、defineR3TOC o 1-5 h zD、p1p2的51535、下列程序段运行后,表达式*(p+3)的值为()。答chara=fujian;Achar*p;Bp=a;答案:A、iB、jcTOC o 1-5 h zC、存放i的地址cD、存放j的地址p51536、若已定义:答inta=6;Aint*p=&a;B下列均能表示地址的是()。C答案:DA、a,*p5B、&a,&pinC、a,pD、&a,p51537、若已定义:inta34,*p=a;则能表示数组元素a12地址答案:TOC o 1-5 h zA、12B、15答C、16A51635、下列程序段运行后变量s的值为

14、()。inta=1,2,3,4,5,6,7;Dinti,s=1,*p;5p=&a2;for(i=0;i4;i+)s*=*(p+i);答案:A、60TOC o 1-5 h zB、360答C、120AD、210B51636、下列程序的运行结果是()。Cmain()Dchara=cba,*p;5for(p=a;pa+2;p+)则答ABCD5)决定的。staticchara=bacdefg,b=adcbehg;char*p=a,*q=b;inti;for(i=0;i=6;i+)if(*(p+i)=*(q+i)printf(%c,*(q+i);答案:A、gecaB、acegC、cegD、fdb51734

15、、一个结构体变量占用的内存大小是由(答案:A、占内存容量最大的成员所需容量B、第一个成员所需内存容量C、各成员所需内存容量之和D、最后一个成员所需内存容量51735、若已定义:structstudentC、student是结构体类型名D、num,sex,age都是结构体变量stu1的成员551737、下列程序的运行结果是()。#includeuniondatafloati;charc;TOC o 1-5 h zstruct则chara2;答inti;Auniondatad;q;Cvoidmain()Dprintf(%dn,sizeof(q);5ty答案:A、5B、6C、7答案:答案:Cp答AB

16、CD5A、STUaa2=1,chen,2,li;B、structstubb2=1,chen,2,li;C、studd2=1,chen,2,li;D、STUcc2=1,chen,2,li;51835、若已定义:enumt1a1,a2=10,a3,a4=13;则枚举常量a2和a3的值分别是()。答案:A、10和11B、2和3C、10和2D、1和251836、下列程序段的执行结果是()typedefunionintage;charname10;floatweight;CLASS;structanimalp=a;Dfor(i=0;ihigh;printf(%fn,sum/3.0);答案:(A、89B、

17、97C、171.0D、120.0答51838、下列程序的运行结果是()。A#includevoidmain()Cstructcharx1;intx2;a3=A,1,B,2,C,3;Dprintf(%dn,a0.x1-a1.x1/a2.x2);5A答案:A、80B、55C、4351936、若已定义:intm=12,n=10,k;语句k=m&n;执行后k的值为()。答案:A、2B、6C、8D、1451937、若有如下类型说明,则()是错误的叙述。typedefstructintno;char*name;intcj;STU,*p;答案:A、p是一个结构体类型名B、STU是一个结构体类型名TOC o

18、1-5 h zC、p是指向结构体类型STU的指针类型名答D、no是结构体类型STU的成员A51938、若已定义:BtypedefunionD、Univ52035、下列程序的运行结果是()#includemain()FILE*fp;inta=3,b=5,c=8,k,n;fp=fopen(test.dat,w);fprintf(fp,%dn,a);fprintf(fp,%d%dn,b,c);fclose(fp);fp=fopen(test.dat,r);fscanf(fp,%d%*d%d,&k,&n);printf(%d%dn,k,n);fclose(fp);TOC o 1-5 h z答案:答A、

19、38AB、35BC、53D、8352037、对下面程序正确描述的是()。B52037、对下面程序正确描述的是()。B#includeC#includeD5答ABCDvoidmain()FILE*in,*out;if(in=fopen(file2.txt,a+)=NULL)printf(cannotopenfile1n);exit(0);if(out=fopen(file1.txt,a+)=NULL)printf(cannotopenfile2n);exit(0);while(!feof(out)fputc(fgetc(out),in);fclose(in);fclose(out);答案:A、程

20、序实现在屏幕上显示磁盘文件file2.txt的内容r=(int)/*/f*10/*/%10;(20XX年)二级C语言等级考试真题综合练习答案补充程序CGan341.C,计算=Lx3x5x7xllxl3n#includevstdio.hvoidmain()longf=/*/1/*/;inti;for(i=l;iv=13;/*/i=i+2/*/)f=f*i;printf(nf=%ld,f);getch();将程序C342.C写完整,该程序将输入的二除以q,输出它们的商以及商的第位小凱#includevstdio.hvoidmain()intp,q,r;floatf;clrscr();printf(

21、Pleaseinputpq:);scanf(%d%d,/*/&p,&q/*/);f=1.0*p/q;printf(np/q=%fThefirstdecimalplaceis:%dn,f,r);getch();补充程序CcoSL.C,该程序根据指定精确度(le-6)使用二分法求方程/(x)=x-1.31丄11.2=0的实根.#includevstdio.h#includedoublef(double/*/x/*/)return(x*x*x+1.3*x*x+1.1*x-1.2);voidmain()floatx,x1,x2;doubley,y1,y2;doprintf(Inputx1,x2:);s

22、canf(%f,%f,&x1,&x2);y1=f(x1);y2=f(x2);while(y1*y2=0);dox=(x1+x2)/2;y=/*/f/*/(x);yl=f(xl);if(y*yl0)x1=x;elsex2=/*/x/*/;while(fabs(y)=1e-6);printf(RootofEquationis%8.3fn,x);getch();将程序econ352.C写完整,该程序实现字符串加密,加密的方法是把爲个字符盟匚二二码值(二进制)的最低两位取反-如输入ABDE,则输出EAt?Fn#includevstdio.h#includevconio.hvoidmain()chars

23、20;inti;printf(Pleaseinputastring:);scanf(/*/“s”/*/,s);i=0;while(si)si=/*/si八3;/*/si=/*/si八3;/*/*/)+;/*/printf(nTargetstring:%sn,s);getch();补充程序Ccon3l.C,按每行E年数的形式输出11000之间能被F或刁整陽且个位数字为3的所有整数-#includevstdio.hvoidmain()inti,n;/*/n=0/*/;for(i=l;iv=/*/1000/*/;i+)if(i%3=0IIi%7=0)&(i%/*/10/*/=3)printf(%5d

24、,i);n+;if(n%6=0)printf(n);getch();将程序Cccn3.C写完整,使sort()函馥用选择法对馥组a中n个元養搜从犬到十扫序#includevstdio.h#includevoidsort(inta,intn)inti,j,k,temp;for(i=0;i#include/*/*/doublef(doublex)doubley;y=/*/7.7*x*x+10.3*x+6.6/*/;return(y);voidmain()doublex,y1,y2;printf(Pleaseinputx:);scanf(%lf,&x);y1=f(/*/x+1.1/*/);y2=f(

25、sin(x);printf(nf(x+1.1)=%.31f,y1);printf(nf(sinx)=%.31f,y2);getch();将程序Cc.g-113-2C填写完整,实现统计字符串3中字母a的个数#includevstdio.h#includevstring.hintcount(/*/chars/*/)intn=0;char*p=/*/s/*/;while(*p)if(*p=a)n+;/*/p+/*/;returnn;voidmain()chars255;printf(Enterastring:);gets(s);printf(Countofais:%dn,count(s);#incl

26、udevstdio.hgetch();补充程序CcDr331.C,计算矩阵耳和B的差(即,c:.=a:.-b:.X结果存入矩阵匚并按矩阵形式输出-#includestdio.h#defineROW3#defineCOL4voidmain()intaROWCOL=2,ll,3,5,7,24,8,9,16,10,18,66;intbROWCOL=1,9,5,12,6,11,13,2,15,7,25,56;intc/*/ROW/*/COL,i,j;for(i=0;ivROW;i+)for(j=0;jvCOL;j+)cij=/*/aij-bij;/*/for(i=0;ivROW;i+)for(j=0;

27、j99999999|n0)printf(Pleaseinput(0nvoidmain()inta,b,temp;printf(a,b=);scanf(%d,%d,&a,&b);if(ab)if(/*/(a%2)/*/)或改:a%2=0*/printf(%5d,a);getch();修改程序anicdy342.C?其中函数funt;计尊如下分数的前el项之和,z235SB21fuuijn-一12358B如n=5时,/X5)=8391667/*/voidfun(intn)/*/改:doublefun(intn)doubley=0.0;inta=2,b=1,c,k;for(k=1;kvoidmain

28、()/*/inta=10;num,mark;/*/a=10,num,mark;charop,es;printf(InputanExpression:a);scanf(%c%c%d,&op,&es,&num);mark=0;if(es=)/*/swich/*/(op)switchcase+:a=a+num;break;case-:x连接一个整颤的改:int改:a=a-num;break;casea=a*num;break;case/:if(num)a=a/num;elsemark=1;break;default:mark=l;elsemark=1;if(!mark)printf(a=%dn,a)

29、;elseprintf(Error!n);getch();修改程序omodyS-S2Cr使函魏f-an(:;-实现两吓变重值的交换口如;沪&尸曰调用函馥后金=入严4#includevstdio.hintfun(int*x,inty)改:*x=*y;改:return(t);intt;/*/x=y;/*/*/return(y);/*/voidmain()intx=6,y=8;printf(%d,%dn,x,y);y=fun(&x,y);printf(%d,%dn,x,y);getch();程序Cmody3Sl.C,用以分别统计健盘输入字符串中阿拉伯数字、大写字母小写宇母个数.如,输入:FuZhcj

30、CODE-3591输出;number=4)二二二二二二=二_二土二二乞二=3#includevstdio.h#includevstring.hvoidmain()char/*/characterstr100;/*/改:str100;intnumber,u_letter,l_letter,i;number=u_letter=l_letter=O;printf(Pleaseinputstring:);gets(str);/*/i=1;/*/改:i=0;while(stri)if(stri=0&striv=9)number+;/*/elsef(stri=AIIstriv=M)/*/改:elsef(s

31、tri=A&stri=n&striv=z)l_letter+;i+;printf(number=%d,u_letter=%d,l_letter=%dn,number,u_letter,l_letter);getch();修改程序CmodyS.c,使其实现将输入的字符串加密,方法天:宇母、7转换成5=V转换成八扩错换咸V错换成g、2换成,其他字符(呆持不变-例如输入原交为intezzna-TionalE1则输出密文酋antgrn.bzaoabp51#includevstdio.h#includevstring.hvoidmain()chars20=international51,t20;char

32、tab52=c,h,i,a,a,b,e,g,T,p;改:strcpy(t,s);inti,j=0;/*/strcmp(t,s);/*/while(tj)for(i=0;/*/i=3/*/;i+)改:i1000之间满定“用2除余N用E除余沪的所肓整数.#includevstdio.hvoidmain()/*/inti=1,n=1;/*/改:inti=1,n=0;doif(i%3=2&/*/i%5=3/*/)改:i%5=3printf(%5d,i);n+;if(!(n%5)printf(n);i+;/*/while(ivlOOO)/*/while(ivlOOO);getch();修改程序Cmcdy

33、3_2.c.?其中的函魏(;的功能是:14复制到3所指字符串中时,在每4个字符之右插入1个空臥如输入:工劭就TUDENU则输出:IAMAWTUDLNTJ/#includevstdio.hvoidfun(char*p,char*b)inti,k=0;while(*p)i=1;while(iv=4&*p)/*/bk=p;/*/bk=*p;k+;p+;i+;所指字符串中的字符逐个改:if(*p)改:/*/bk+=;/*/bk+=32;bk=0;voidmain()chara80,b80;printf(Enterastring:);gets(a);printf(Theoriginalstring:);

34、puts(a);fun(a,b);printf(nThestringafterinsertspace:);puts(b);printf(n);getch();程序CmedyaSl.s根据键盘输入的一牛之间的整数,输入;5输出:1ffZ.Z.qqqWWW4444ccccc77727555554444333nr1#includevstdio.hvoidmain()/*/intn,i,bk;/*/printf(Inputanum(l-9):);scanf(%d,&n);for(i=l;iv=n;i+)for(bk=l;bkv=n;bk+)printf();for(j=1;/*/j=i+1/*/;j+

35、)printf(%d,i);printf(n);for(i=1;i=n;i+)for(bk=1;bk=i;bk+)printf();输出粪愎如下围般-如:改:intn,i,bk,j;改:j=ifor(j=1;jvoidmain()intr,m,n,p,q;printf(Enterm,n:);scanf(%d,%d,&m,&n);p=m;q=n;/*/r=m/n;/*/改:r=m%n;while(/*/r=0/*/)改:r或r!=0m=n;n=r;r=m%n;printf(gcd(%d,%d)=%dn,p,q,n);getch();打开程序空沁阴,完成其中的函数fun实现计算数学表达式:.x-6

36、.9y|2.3y-1.3x|如;fund.1,D.2=5.212#includevstdio.h#includedoublefun(doublex,doubley)/*/return(7.7*x+6.9*y)/(fabs(2.3*y+1.3*x);/*/voidmain()printf(fun(1.1,0.2)=%6.3lfn,fun(1.1,0.2);getch();打开程序3二“沁.0完成其中的函数EugX实现如下功能:)将数组a中去于变壘k的元素,依;*存放到数组b中:2)俗数组b中的元畫按照夙丸到小的顺序存放到数组c中:3函数返回敌组5中的元素个数-#includevstdio.hin

37、tfun(intx,inta,intn,intb,intc)/*/inti,k,nb=O,t;for(i=0;ivn;i+)if(aix)cnb=bnb=ai;nb+;for(i=0;ivnb-l;i+)for(k=i+1;k#includedoublefunl(doublex)/*/return(7.8-sin(x)/(exp(x)+0.3);/*/voidmain()printf(funl(2.5)=%6.31fn,funl(2.5);getch();打开程序8“卵52心完成其中氐诃函熱实现;将曰所指宇符串中下标再奇馥同时A5CZZ码值也次奇数的字符依次存啟在T所指的数组中.如,所指宇符串

38、対“嘶二亡:器化尹二所指数组的內容应该为“K1E几#includevstdio.h#includevstring.hvoidfun(char*s,chart)/*/inti,j=0for(i=0;si;i+)if(i%2&si%2)tj+=si;tj=0;/*/voidmain()chars100,t100;printf(nPleaseenterstrings:);scanf(%s,s);fun(s,t);printf(nTheresultis:%sn,t);getch();打开程序.C?完蕊耳中的fun0函熱便其计算;TOC o 1-5 h z1.02x-13|x2#includevstdi

39、o.h#includedoublefun(floatx)/*/doubley;if(xv2)y=fabs(1.02*x-1.36);if(x=2)y=exp(x)+pow(x,3);讦(x2)y=cos(x);returny;/*/voidmain()floatx;printf(Pleaseinputanumber:);scanf(%f,&x);printf(fun(%.2f)=%.21fn,x,fun(x);getch();扌丁开程J?Cp-rcg32.C,完成其中的函数fun(in二a,inzb,longtc:,实现:将两位正整数“n合弄成一个数存在c中-合并的规则是:將a的十位和个位数依奴啟在e的个位和百位上,5的十位和个位数依次就在Q的十位和千位上如:沪36=24,则合芥后c=4023n#includevstdio.h#includevconio.hvoidfun(inta,intb,long*c)/

温馨提示

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

评论

0/150

提交评论