您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 二级C语言笔试真题及答案 (6)
二级C语言笔试真题及答案(考试时间:120分钟,满分100分)一、选择题,(1-40)每题1分,(41-50)每题2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。1)下列选项中不属于结构化程序设计方法的是A)自顶向下B)逐步求精C)模块化D)可复用2)两个或两个以上模块之间关联的紧密程度称为A)耦合度B)内聚度C)复杂度D)数据传输特性3)下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对4)按照“后进先出”原则组织数据的数据结构是A)队列B)栈C)双向链表D)二叉树5)下列叙述中正确的是A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构D)只有根结点的二叉树是线性结构6)对如下二叉树进行后序遍历的结果为A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA7)在深度为7的满二叉树中,叶子结点的个数为A)32B)31C)64D)638)“商品”与“顾客”两个实体集之间的联系一般是A)一对一B)一对多C)多对一D)多对多9)在E-R图中,用来表示实体的图形是A)矩形B)椭圆形C)菱形D)三角形10)数据库DB,数据库系统DBS,数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMSB)DBMS包含DB和DBSC)DBS包含DB和DBMSD)没有任何关系11)以下不合法的用户标识符是A)j2_KEYB)DoubleC)4dD)_8_12)以下不合法的数值常量是A)011B)lelC)8.0E0.5D)0xabcd13)以下不合法的字符常量是A)'\018'B'\”'C)'\\'D)‘\xcc'14)表达式3.6-5/2+1.2+5%2的值是A)4.3B)4.8C)3.3D)3.815)以下能正确定义字符串的语句是A)charstr[]={‘\064'};B)charstr=”\x43”;C)charstr=”;D)charstr[]=”\0”;16)以下数组定义中错误的是A)intx[][3]={0};B)intx[2][3]={{1,2},{3,4},{5,6}};C)ntx[][3]={{1,2,3},{4,5,6}};D)intx[2][3]={1,2,3,4,5,6};17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc()B)gets()C)getchar()D)scanf()18)下四个程序中,完全正确的是A)#includeB)#includemain();main(){/*programming*/{/*/programming/*/printf(“programming!\n”);}printf(“programming!\n”);}C)#includeD)includemain()main(){/*/*programming*/*/{/*programming*/printf(“programming!\n”);}printf(“programming!\n”);}19)若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是A)switch(x)B)switch((int)x);{case1.0:printf(“*\n”);{case1:printf(“*\n”);Case2.0:printf(“**\n”);}case2:printf(“**\n”);}C)switch(a+b)D)switch(a+b){case1:printf(“*\n”);{case1:printf(*\n”);case2+1:printf(“**\n”);}casec:printf(“**\n”);}20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是A)main()B)floatfun(inta,intb){……}{……x=fun(2,10);……}main()floatfun(inta,intb){……}{……x=fun(i,j);……}C)floatfun(int,int);D)main()main(){floatfun(inti,intj);{……x=fun(2,10);……}……x=fun(i,j);……}floatfun(inta,intb){……}floatfun(inta,intb){……}21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E=0)B)(E0||E0)C)(E==0)D)(E!=0)22)要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是A)while((ch=getchar())!='N')printf(“%c”,ch);B)while(ch=getchar()!='N')printf(“%c”,ch);C)while(ch=getchar()==N')printf(“%c”,ch);D)while((ch=getchar())=='N')printf(“%c”,ch);23)已定义以下函数intfun(int*p){return*p;}fun函数返回值是A)不确定的值B)一个整数C)形参p中存放的值D)形参p的地址值24)若有说明语句:double*p,a;则能通过scanf语句正确给输入项读入数据的程序段是A)*p=&a;scanf(“%lf”,p);B)*p=&a;scanf(“%f”,p);C)p=&a;scanf(“%lf”,*p);D)p=&a;scanf(“%lf”,p);25)现有以下结构体说明和变量定义,如图所示,指针p,q,r分别指向一个链表中连续的三个结点。structnode{chardata;structnode*next;}*p,*q,*r;现要将q和r所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是A)q-next=r-next;p-next=r;r-next=q;B)p-next=r;q-next=r-next;r-.next=q;C)q-next=r-next;r-next=q;p-next=r;D)r-next=q;p-next=r;q-next=r-next;26)有以下程序段structst{intx;int*y;}*pt:inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下选项中表达式的值为11的是A)*pt-yB)pt-xC)++pt-xD)(pt++)-x27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为A)EOFB)非0值C)0D)NULL28)设有以下语句inta=1,b=2,c;c=a^(b2);执行后,c的值为A)6B)7C)8D)929)有以下程序#includemain(){charc1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(“%c%c\n”,c5,c6);}程序运行后,若从键盘输入(从第1列开始)123回车45678回车则输出结果是A)1267B)1256C)1278D)124530)若有以下程序main(){inty=10;while(y--);printf(“y=%d\n”y);}程序运行后的输出结果是A)y=0B)y=-1C)y=1D)while构成无限循环31)有以下程序main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(“%d,%d,%d,%d\n”,a,b,c,d);}程序输出A)0,1,2,0B)0,0,0,3C)1,1,2,0D)编译有错32)有以下程序main(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j=3;j++){if(j%2)continue;x++;}x++;}printf(“x=%d\n”,x);}程序执行后的输出结果是A)x=4B)x=8C)x=6D)x=1233)有以下程序intfun1(duoblea){returna*=a;}intfun2(dpublex,doubley){doublea=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);}main(){doublew;w=fun2(1.1,2.0);……}程序执行后变量w中的值是A)5.21B)5C)5.0D)0.034)有以下程序main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i3;i++)printf(“%d”,t[2-i][i]);}程序的执行后的输出结果是A)753B)357C)369D)75135)有以下程序fun(charp[][10]){intn=0,i;for(i=0;i7;i++)if(p[i][0]=='T')n++;returnn;}main(){charstr[][10]={“Mon”,“Tue”,“Wed”,“Thu”,”Fri”,”Sat”,”Sun”};printf(“%d\n”,fun(str));}程序执行后的输出结果是A)1B)2C)3D)036有以下程序main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i9;i+=2)s+=*(t+i);printf(“%d\n”,s);}程序执行后的输出结果是A)45B)20C)25D)3637)有以下程序voidfun1(char*p){char*q;q=p;while(*q!='\0'){(*q)++;q++;}}main(){chara[]={“Program”},*p;p=&a[3];fun1(p);printf(“%s\n”,a);}程序执行后的输出结果是A)ProhsbnB)PrphsbnC)ProgsbnD)Program38)有以下程序voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}main(){char*s1=”abc”,*s2=”123”;swap(s1,s2);printf(“%s,%s\n”,s1,s2);}程序执行后的输出结果是A)123,abcB)abc,123C)1bc,a23D)321,cba39)有以下程序intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf(“%d”,&x);x=fun(x);printf(“%d\n”,x);}程序执行时,给变量x输入10,程序的输出结果是A)55B)54C)65D)4540)有以下程序intfun(intx[],intn){staticintsum=0,i;for(i=0;isum+=x[i];returnsum;}main(){inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf(“%d\n”,s);}程序执行后的输出结果是A)45B)50C)60D)5541)有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf(“%x,%x\n”,s.ch[0],s.ch[1]);}在16位编译系统上,程序执行后的输出结果是A)21,43B)43,21C)43,00D)21,0042)有以下程序main(){char*p[]={“3697”,”2584”};inti,j;long
本文标题:二级C语言笔试真题及答案 (6)
链接地址:https://www.777doc.com/doc-4873023 .html