历届c语言试题.docx
- 文档编号:7110963
- 上传时间:2023-01-18
- 格式:DOCX
- 页数:115
- 大小:86.34KB
历届c语言试题.docx
《历届c语言试题.docx》由会员分享,可在线阅读,更多相关《历届c语言试题.docx(115页珍藏版)》请在冰豆网上搜索。
历届历届c语言试题语言试题2010年9月全国计算机二级C语言笔试试题一、选择题(每小题2分,共70分)下列各题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)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:
inta;longb;doublex,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!
=y;C)(a*y)%bD)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:
1,200B)实数:
1.5E2.0C)字符斜杠:
D)字符串:
007(16)表达式a+=a-=a=9的值是A)9B)_9C)18D)0(17)若变量已正确定义,在if(W)printf(“%dn,k”);中,以下不可替代W的是A)ab+cB)ch=getchar()C)a=b+cD)a+(18)有以下程序includemain()inta=1,b=0;if(!
a)b+;elseif(a=0)if(a)b+=2;elseb+=3;printf(”%dn”,b);程序运行后的输出结果是A)0B)1C)2D)3(19)若有定义语句inta,b;doublex;则下列选项中没有错误的是A)switch(x%2)B)switch(int)x/2.0case0:
a+;break;case0:
a+;break;case1:
b+;break;case1:
b+;break;default:
a+;b+;default:
a+;b+;C)switch(int)x%2)D)switch(int)(x)%2)case0:
a+;break;case0.0:
a+;break;case1:
b+;break;case1.0:
b+;break;default:
a+;b+;default:
a+;b+;(20)有以下程序includemain()inta=1,b=2;while(amain()inty=10;while(y-);printf(”Y=dn”,Y);程序执行后的输出结果是A)y=0B)y=-1C)y=1D)while构成无限循环(22)有以下程序includestdio.hmain()chars”rstuv;printf(”cn”,*s2);程序运行后的输出结果是A)tuvB)字符t的ASCII码值C)tD)出错(23)有以下程序includestdio.hincludestring.hmain()charx”STRING”;x0=0;x10;x20;printf(”ddn”,sizeof(x),strlen(x);程序运行后的输出结果是A)61B)70C)63D)71(24)有以下程序includestdiohIntf(intx);main()intn=1,m;m=f(f(f(n);printf(”%dn”,m);intf(intx)returnx*2;程序运行后的输出结果是A)1B)2C)4D)8(25)以下程序段完全正确的是A)int*p;scanf(%d,p);B)int*p;scanf(“%d”,p);C)intk,*p=&k;scanf(%d,p);D)intk,*p:
;*p=&k;scanf(“%d”,p);(26)有定义语句:
int*p4;以下选项中与此语句等价的是A)intp4;B)int*p;C)int*(p4);D)int(*p)4;(27)下列定义数组的语句中,正确的是A)intN=10;B)defineN10;intxN;intxN;C)intx0.10;D)intx;(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是A)inta5=0;B)intb=0,0,0,0,0;C)intc2+3;D)inti=5,di;(29)有以下程序includestdiohvoidf(int*p);main()inta51,2,3,4,5,*r=a;f(r);printf(”dn”;r);voidf(int*p)p=p+3;printf(”d,”,*p);程序运行后的输出结果是A)1,4B)4,4C)3,1D)4,1(30)有以下程序(函数fun只对下标为偶数的元素进行操作)#includestdiohvoidfun(inta;intn)inti、j、k、t;for(i=0;in一1;1=2)k=i;for(j=i;jak)k=j;t=ai;ai=ak;akt;main()intaa10=1、2、3、4、5、6、7,i;fun(aa、7);for(i=0,iincludestringhmain()chara20=”ABCDOEFG0”,b”IJK”;strcat(a,b);printf(”sn”,a);程序运行后的输出结果是A)ABCDEOFGOIJKB)ABCDIJKC)IJKD)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母includestdiohincludectypehvoidfun(charp)inti=0;while(pi)if(pi=islower(pi-1)pi-1=pi-1-a+A;i;main()chars1100”abcdEFG!
”;fun(s1);printf(”sn”,s1);程序运行后的输出结果是A)abcdEFG!
B)AbCdEFg!
C)aBcDEFG!
D)abcdEFg!
(35)有以下程序includestdiohvoidfun(intx)if(x21)fun(x2);printf(”d”,x);main()fun(7);printf(”n”);程序运行后的输出结果是A)137B)731C)73D)37(36)有以下程序includestdiohintfun()staticintx=1;x+=1;returnx;main()inti;s=1;for(i=1;imain()ints,t,A=10;doubleB=6;ssizeof(A);t=sizeof(B);printf(“d,dn”,s,t);在VC6平台上编译运行,程序运行后的输出结果是A)2,4B)4,4C)4,8D)10,6(39)若有以下语句TypedefstructSintg;charh;T;以下叙述中正确的是A)可用S定义结构体变量B)可用T定义结构体变量C)S是struct类型的变量D)T是structS类型的变量(40)有以下程序includestdiohmain()shortc=124;c=c_;printf(“dn”、C);若要使程序的运行结果为248,应在下划线处填入的是A)2B)|248C)0248D)main()inta=200,b=010;printf(”d%dn”,a,b);(7)有以下程序includestdiohmain()intx,Y;scanf(”2d%ld”,x,y);printf(”dn”,x+y);程序运行时输入:
1234567程序的运行结果是【7】。
(8)在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为【8】时表示逻辑值“真”。
(9)有以下程序includestdiohmain()inti,n=0,0,0,0,0;for(i=1;i=4;i+)ni=ni-13+1;printf(”%d,ni);程序运行后的输出结果是【9】。
(10)以下fun函数的功能是:
找出具有N个元素的一维数组中的最小值,并作为函数值返回。
请填空。
(设N已定义)intfun(intxN)inti,k=0;for(i=0;iintf(int*p,intq);main()intm=1,n=2,r=&m;r=f(r,n);printf(”dn”,r);intf(int*p,intq)return(*pq)?
p:
q;程序运行后的输出结果是【11】(12)以下fun函数的功能是在N行M列的整形二维数组中,选出一个最大值作为函数值返回,请填空。
(设M,.N已定义)intfun(intaNM)inti,j,row=0,col=0;for(i=0;imain()intn2,i,j;for(i=0;i2;i+)ni=0;for(i=0;i2;i+)for(j=0;jmain()inta10,*p,s;for(p=a;p-a10;p+)scanf(”d”,p);for(p=a,s=a;p-a*s)S=P;printf(max=%dn”,【14】);(15)以下程序打开新文件f.txt,并调用字符输出函数将a数组中的字符写入其中,请填空。
includestdiohmain()【15】*fp;chara51,2,3,4,5,i;fp=fopen(”ftxt”,”w”);for(i=0;i5;i+)fputc(ai,fp);fclose(fp);2010年3月二级c语言笔试真题一、选择题
(1)(10)、(21)(40)每题2分,(11)(20)每题1分。
共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。
(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
(2)算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:
应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:
则由关系R得到关系T的操作是选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:
fun(fun(x)C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以再使用之前的任何位置进行定义C)在C语言算术的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标示符中,不合法的是A)_1B)AaBcC)a_bD)a-b(14)若有定义:
doublea=22;inti=0,k=18;则不符合C语言规定的赋值语句是A)a=a+,i+B)i=(a+k)=(i+k)C)i=a%11D)i=!
a(15)includeVoidmain()chara,b,c,d;scanf(”%c%c”,&a,&b);c=getchar();d=getchar();printf(”%c%c%c%cn”,a,b,c,d);当执行程序时,按下列方式输入数据(从第一列开始,代表回车,注意:
回车是一个字符)1234则输出结果是:
A、1234B、12C、12D、1233416、以下关于C语言数据类型使用的叙述中错误的是:
A、若要准确无误的表示自然数,应使用整数类型。
B、若要保存带有多位小数的数据,应使用双精度类型。
C、若要处理如”人员信息”等含有不同类型的相关数据,应自定义结构体类型。
D、若只处理”真”和”假”两种逻辑值,应使用逻辑类型。
17、若a是数值类型,则逻辑表达式(a=1)|(a!
=1)的值是:
A、1B、0C、2D、不知道a的值,不能确定18、以下选项中与if(a=1)a=b;elsea+;语句功能不同的switch语句是:
A、switch(a)B、switch(a=1)case1:
a=b;break;case0:
a=b;break;default:
a+;case1:
a+;C、switch(a)D、switch(a=1)default:
a+;break;case1:
a=b;break;case1:
a=b;case0:
a+;19、有如下嵌套的if语句if(ab)if(ac)k=a;elsek=c;elseif(bc)k=b;elsek=c;以下选项中与上述if语句等价的语句是A、k=(ab)?
a:
b;k=(bc)?
b:
c;B、k=(ab)?
(bc)?
a:
b):
(bc)?
b:
c);C、k=(ab)?
(ac)?
a:
c):
(bc)?
b:
c);D、k=(ab)?
a:
b;k=(ac)?
a;c(20)有以下程序#includemain()inti,j,m=1;for(i=1;i0;j-)if(i*j3)break;m*=i*j;printf(”m=%dn”,m)程序运行后的输出结果是(A)m=6(B)m=2(C)m=4(D)m=5(21)有以下程序#includesmain()inta=1,b=2;for(;a8;a+)b+=a;a+=2;printf(”%d,%dn”,a,b);程序运行后的输出结果是(A)9,18(B)8,11(C)7,11(D)10,14(22)有以下程序,其中k的初值为八进制数#includemain()intk=011;printf(”%dn”,k+);程序运行后的输出结果是(A)12(B)11(C)10(D)9(23)下列语句中,正确的是A)char*s;s=”Olympic”;B)chars7;s=”Olympic”;C)char*s;s=”Olympic”;D)chars7;s=”Olympic”;(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成viod类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能够正确定义数组的语句是A)intnum0.2008;B)intnum;C)intN=2008;D)#defineN2008intnumN;intnumN(26)有以下程序#includevoidfun(char*c,intd)*c=*c+1;d=d+1;printf(”%c,%c,”,*c,d);main()charb=a,a=A;fun(&b,a);printf(”%c,%cn”,b,a);程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*pt)3;,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组pt。
C)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义doublea10,*s=a;,一下能够代表数组元素a3的是A)(*s)3B)*(s+3)C)*s3D)*s+3(29)有以下程序#includemain()inta5=1,2,3,4,5,b5=0,2,1,3,0,is=0for(i=0;i5;i+)s=s+abi;printf(%dn,s);程序运行后的输出结果是A)6B)10C)11D)1530)有以下程序#includemain()intb33=0,1,2,0,1,2,0,1,2,i,j,t=1;for(i=0;i3;i+)For(j=i;j=i;j+)t+=bibji;Printf(%dn,t);程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句Acharsl10=abcd!
*s2=n123;printf(%d%dn,strlen(s1),strlen(s2);则输出结果是A)55B)105C)107D)58(32)有以下程序#include#defineN8voidfun(int*x,inti)*x=*(x+i);main()intaN=1,2,3,4,5,6,7,8,i;fun(a,2);for(i=0;iN/2);i+)printf(%d,ai);printf(n);程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeintf(intt,intn);main()inta4=1,2,3,4,s;s=fa,4;printf(”%dn”,s);intf(intt,intn)if(n0)returntn-1+f(t,n-1);elsereturn0;程序运行后的输出结果是A)4B)10C)14D)6(34)有以下程序#includeintfun()staticintx=1;x*=2;returnx;main()intI,s=1;for(i=1;i=2;i+)s=fun();printf(”%dn”,s);程序运行后的输出结果是A)0B)1C)4D)8(35)以下程序#include#defineSUB(a)(a)-(a)main()inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(”%dn”,d);程序运行后的结果是A)0B)-12C)-20D)10(36)没有定义structcomplexintreal,unreal;datal=1,8,data2;则以下赋值语句中的错误的是A)data2=data1;B)data2=(2,6);C)data2.real1=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestructAinta;charb10;doublec;voidf(structAt);main()structAa=1001,”ZhangDa”,1098.0;f(a);pringt(”%d,%s,%6.1fn”,a.a,a.b,a.c);voidf(structAt)t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;程序运行后的输出结果是A)1001,ZhangDa,1098.0B)1002,ChangRong,1202.0C)1001,ChangRong,1098.0D)1002,ZhangDa,1202.0(38)有以下定义和语句structworkersintnum;charname20;charc;srructintday;intmonth;intyear;s;structworkersw,*pw;pw=&w能给w中year成员赋1980的语句是A)*pw.year=1980;B)w.year=1980;C)pw-year=1980;D)w.s.year=1980;(39)有以下程序#includemain()inta=2,b=2,c=2;printf(”%dn”,a/b&c);程序运行后的结果是A)0B)1C)2D)3(40)以下程序#includemain()FILE*fp;charstr10;fp=fopen(”myfile.dat”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历届 语言 试题