全国计算机等级考试二级C语言笔试试题及答案_第1页
全国计算机等级考试二级C语言笔试试题及答案_第2页
全国计算机等级考试二级C语言笔试试题及答案_第3页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、一、选择题(1 )(10)每小题2分,(11 )(50)每小题1分,共60分)下列 各题A)、B)、C)、D )四个选项中,只有一个选项是正确的,请将正确的选项涂写在答 题卡相应位置上,答在试卷上不得分。(1)数据的存储结构是指 。A. 存储在外存中的数据B. 数据所占的存储空间量C .数据在计算机中的顺序存储方式D .数据的逻辑结构在计算机中的表示(2 )下列关于栈的描述中错误的是 。A. 栈是先进后出的线性表B. 栈只能顺序存储C .栈具有记忆作用D .对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是A .冒泡排序

2、为n/2B.冒泡排序为nC.快速排序为nD.快速排序为n(n-1)/2(4 )对长度为n的线性表进行顺序查找,A .Iog2 nB.n/2C.nD.n+1O(5 )下列对于线性链表的描述中正确的是在最坏情况下所需要的比较次数为A. 存储空间不一定是连续,且各元素的存储顺序是任意的B. 存储空间不一定是连续,且前件元素一定存储在后件元素的前面C .存储空间必须连续,且前件元素一定存储在后件元素的前面D .存储空间必须连续,且各元素的存储顺序是任意的(6 )下列对于软件测试的描述中正确的是A. 软件测试的目的是证明程序是否正确B. 软件测试的目的是使程序运行结果正确C .软件测试的目的是尽可能多地

3、发现程序中的错误D .软件测试的目的是使程序符合结构化原则(7 )为了使模块尽可能独立,要求_A. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C .模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D .模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(8) 下列描述中正确的是 。A. 程序就是软件B .软件开发不受计算机系统的限制C .软件既是逻辑实体,又是物理实体D .软件是程序、数据与相关文档的集合(9) 数据独立性是数据库技术的重要特点之一,所谓数据独立性是指A .数据与程序独立存放B. 不同的数据被存放在不同的

4、文件中C .不同的数据只能被对应的应用程序所使用D.以上三种说法都不对(10) 用树形结构表示实体之间联系的模型是。A .关系模型B. 网状模型C .层次模型D .以上三个都是(11 )算法具有五个特性,以下选项中不属于算法特性的是A .有穷性B. 简洁性C .可行性D .确定性(12) 以下选项中可作为C语言合法常量的是 。A .-80.B.-080C.-8e1.0D.-80.0e(13) 以下叙述中正确的是 。A .用C程序实现的算法必须要有输入和输出操作B. 用C程序实现的算法可以没有输出但必须要输入C .用C程序实现的算法可以没有输入但必须要有输出D .用C程序实现的算法可以既没有输入

5、也没有输出(14) 以下不能定义为用户标识符的是A . Mai nB. _0C. ntD. sizeof(15) 以下选项中不能作为合法常量的是A . 1.234e04B.C. 1.234e+4D. 1.234e0(16 )数字字符0的ASCII值为48,若有以下程序mai n() char a='1',b='2 'prin tf("%c,",b+);prin tf("%dn",b-a);程序运行后的输出结果是 。A. 3,2B. 50,2C. 2,2D. 2,50(17) 有以下程序mai n() int m=12, n

6、=34;prin tf("%d%d",m+,+n);prin tf("%d%dn", n+,+m);程序运行后的输出结果是 。A .B.C.D.(18) 有定义语句:int b;char c10;,则正确的输入语句是 。A . sca nf("%d%s",&b,& c);B. sca nf("%d%s",&b, c);C. sca nf("%d%s",b, c);D. scanf("%d%s",b,&c);来源:考试大-计算机二级考试19)有以

7、下程序mai n() int m, n,p;sca nf("m=%d n=%dp=%d",&m,&n,&p);prin tf("%d%d%dn",m, n,p);若想从键盘上输入数据,使变量m中的值为123 , n中的值为 456 , p中的值为789,则正确的输入是。A .m=123n=456p=789B.m=123 n=456 p=789C.m=123, n=456,p=789D.123 456 789(20)有以下程序mai n() int a,b,d=25;a二d/10%9; b=a&&(-1);prin

8、tf("%d,%dn",a,b);程序运行后的输出结果是 。A) 6,1B. 2,1C. 6,0D. 2,0(21 )有以下程序mai n()int i=1,j=2,k=3;if(i+=1 &&(+j=3|k+=3)prin tf("%d %d %dn",i,j,k);程序运行后的输出结果是 。A. 123B. 234C. 223D. 233(22) 若整型变量a、b、c、d中的值依次为: 1、4、3、2。则条件表达式aA . 1B. 2C. 3D. 4(23) 有以下程序mai n()int p8=11,12,13,14,15,16,1

9、7,18,i=0,j=0;while(i+<7) if(pi%2) j+=pi;prin tf("%dn",j);程序运行后的输出结果是 。A. 42B. 45C. 56D. 60(24) 有以下程序mai n()char a7="a00a00" int i,j;i=sizeof(a); j=strle n(a);prin tf("%d %dn",i,j);程序运行后的输出结果是 。A. 2 2B. 7 6C. 7 2D. 6 2(25) 以下能正确定义一维数组的选项是A . int a5=0,1,2,3,4,5;B. char

10、 a=0,1,2,3,4,5;C. char a='A','B',C;D. int a5="0123"(26) 有以下程序int f1(i nt x,i nt y)retur n x>y?x:y;int f2(i nt x,i nt y)retur n x>y?y:x;mai n()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;prin tf("%d,%d,%dn",e,f,g);程序运行后的

11、输出结果是 。A . 4,3,7B. 3,4,7C 5,2,7D 2,5,7,以下叙述中正确的是 (27) 已有定义:char a="xyz",b='x','y','z'A .数组a和b的长度相同B. a数组长度小于b数组长度C. a数组长度大于b数组长度D .上述说法都不对(28) 有以下程序void f(i nt *x,i nt *y)int t;t=*x;*x=*y;*y=t;mai n()int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(pf(p,q);p+;q-;f

12、or(i=0;i<8;i+)pri ntf("%d,",ai);程序运行后的输出结果是 。A . 823,4,5,6,7,1,B. 5,6,7,8,123,4,C. 1,2,3,4,5,6,7,8,D. 8,7,6,5,4,3,2,1,(29) 有以下程序mai n()int a33,*p,i;P=&a00;for(i=0;i<9;i+)pi=i;for(i=0;i<3;i+)pri ntf("%d",a1i);程序运行后的输出结果是 。A. 012B.123D. 345来源:考试大-计算机二级考试(30) 以下叙述中错误的是

13、。A .对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B. 数组名代表的是数组所占存储区的首地址,其值不可改变“下标越界”C .当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出 的出错信息D .可以通过赋初值的方式确定数组元素的个数(31 )有以下程序#defi ne N 20fun (i nt a,i nt n ,i nt m) int i,j;for(i=m;i>=n;i-)ai+1=ai;mai n()int i,aN=1,2,3,4,5,6,7,8,9,10;fun (a,2,9);for(i=0;i<5;i+)pri ntf("

14、;%d",ai);程序运行后的输出结果是 。A . 10234B. 12344C. 12334D. 12234(32) 有以下程序mai n()int a 32=0,(*ptr)2,i,j;for(i=0;i<2;i+) ptr=a+i; seanf("%d",ptr); ptr+; for(i=0;i<3;i+) for(j=0;j<2;j+) printf("-",aij);prin tf("n");若运行时输入:1 2 3<回车 >,则输出结果是 。A. 产生错误信息B. 1 0C. 1

15、2D. 1 0203020000030(33) 有以下程序prt(i nt *m,i nt n) int i; for(i=0;i main() int a=1,2,3,4,5,i; prt(a,5);for(i=0;i<5;i+) printf("%d,",ai);程序运行后的输出结果是 。A 1,2,3,4,5,B 2,3,4,5,6,C 3,4,5,6,7,D 2,3,4,5,1,(34) 有以下程序main() int a=1,2,3,4,5,6,7,8,9,0,*p; for(p=a;p程序运行后的输出结果是 。A 1,2,3,4,5,6,7,8,9,0,B

16、 2,3,4,5,6,7,8,9,10,1,C 0,1,2,3,4,5,6,7,8,9,D 1,1,1,1,1,1,1,1,1,1,(35) 有以下程序#define P 3void F(int x)return(P*x*x); main()printf("%dn",F(3+5); 程序运行后的输出结果是 。A192B 29C 25D .编译出错(36) 有以下程序 main()int c=35;printf("%dn",c&c); 程序运行后的输出结果是 。A . 0B. 70C. 35D. 1(37 )以下叙述中正确的是 A .预处理命令行必

17、须位于源文件的开头B. 在源文件的一行上可以有多条预处理命令C .宏名必须用大写字母表示D .宏替换不占用程序的运行时间来源:考试大-计算机二级考试(38)若有以下说明和定义union dtint a;char b;double c;data;以下叙述中错误的是 。A .data的每个成员起始地址都相同B.变量data所占的内存字节数与成员c所占字节数相等C.程序段:data.a=5;pri ntf("%fn",data.c);输出结果为 5D.data可以作为函数的实参(39)以下语句或语句组中,能正确进行字符串赋值的是A .char *sp;*sp="righ

18、t!"B.char s1O;s="right!"C.char s10;*s="right!"D.char *sp="right!"(40)设有如下说明typedef struct STlong a;int b;char c2;NEW;则下面叙述中正确的是 。A. 以上的说明形式非法B. ST是一个结构体类型C. NEW是一个结构体类型D. NEW 是一个结构体变量(41 )有以下程序mai n() int a=1,b;for(b=1;b<=1O;b+) if(a>=8)break;if(a%2=1)a+=5;c

19、on ti nu e;a-=3;prin tf("%dn",b);程序运行后的输出结果是 A . 3B. 4D. 6(42) 有以下程序mai n() char s="159",*p; p=s;prin tf("%c",*p+);pri ntf("%c",*p+);程序运行后的输出结果是 。A. 15B. 16C. 12D. 59(43) 有以下函数fun( char *a,char *b) while(*a!='0')&&( *b!='0')&&(*

20、a=*b) a+;b+; return(*a-*b);该函数的功能是 。A 计算a和b所指字符串的长度之差B.将b所指字符串连接到 a所指字符串中C .将b所指字符串连接到a所指字符串后面D .比较a和b所指字符串的大小(44) 有以下程序mai n() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j;for(i=0;i<4;i+) for(j=0;j<=i;j+) prin tf("L",'');for(j=;j<4;j+) prin tf("M", nu mi

21、j);prin tf("n");若要按以下形式输出数组右上半三角12346 7 811 12A . i-1B. iC. i+1D. 4-i来源:考试大-计算机二级考试(45) 有以下程序poi nt(char *p)p+=3;mai n() char b4='a','b','c','d',*p=b;poi nt(p);pri ntf("%cn",*p);程序运行后的输出结果是 。A . aB. bC. cD. d(46) 程序中若有如下说明和定义语句char fun( char *);mai

22、 n()char *s="o ne",a 5=0,(*f1)()=fu n,ch;以下选项中对函数 fun的正确调用语句是 。A . (*f1)(a);B. *f1(*s);C. fun(&a);D. ch=*f1(s);(47 )有以下结构体说明和变量定义,如图所示:struct nodeint data; struct node *n ext; *p,*q,*r;data n ext data n ext data n extp q r以下不能完成指定操作的语句是现要将q所指结点从链表中删除,同时要保持链表的连续,。A . P->n ext=q->n

23、 ext;B. p->n ext=p->n ext->next;C. p->n ext=r;D. p=q->n ext;td的定义中,错误的是(48 )以下对结构体类型变量A . typedef struct aaB. struct aa int n; int n;float m; floatm; AA; td;AA td; struct aa td;C. structD. struct int n; int n;float m; float m;aa; td;struct aa td;有相同作用的是(49)以下与函数 fseek(fp,OL,SEEK_SET)A

24、 .feof(fp)B.ftell(fp)C.fgetc(fp)D.rewi nd(fp)(50)有以下程序#i ncludevoid WriteStr(char *fn ,char *str) FILE *fp;fp=fope n(fn,"w");fputs(str,fp);fclose(fp);mai n()WriteStr("t1.dat","start");WriteStr("t1.dat","e nd");程序运行后,文件t1.dat中的内容是_A . startB. endC. st

25、arte ndD. endrt来源:考试大-计算机二级考试【6 】。#includeB33回车,请将每空的正确答案写在【1】至【20】序号的横线上,答在试卷上不得分。(1 )某二叉树中度为2的结点有18个,则该二叉树中有【1】 个叶子结点(2) 在面向对象方法中,类的实例称为【2】。(3) 诊断和改正程序中错误的工作通常称为【3】。(4 )在关系数据库中,把数据表示成二维表,每一个二维表称为【4】。(5)问题处理方案的正确而完整的描述称为【5】。(6)以下程序运行时,若从键盘输入:10 20 30回车 ,输出的结果是main () int i=0,j=0,k=0;sea nf("%d

26、%*d%d",&i,&j,&k);prin tf("%d%d%dn",i,j,k);(7 )以下程序运行后的输出结果是【7】#defi ne S(x) 4*x*x+1mai n() int i=6,j=8;prin tf("%dn",S(i+j);(8 )以下程序运行后的输出结果是【8】main () int a=3,b=4,c=5,t=99;if(bif(aprin tf("%d %d %dn",a,b,c);(9 )以下程序运行后的输出结果是【9】。main () int a,b,c;a=10;

27、b=20; c=(a%b<1)|(a/b>1);prin tf("%d %d %dn",a,b,c);(10 )以下程序运行后的输出结果是【10】。main () char c1,c2;for(c1='0',c2='9'c1prin tf("n");(11 )已知字符 A的ASCII代码值为65,以下程序运行时若从键盘输入: 则输出结果是 【11】。#in cludemai n() char a,b;a=getchar();sca nf("%d",&b);a=a-'A'

28、;+'0'b=b*2;prin tf("%c %cn",a,b);(12 )以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。void fun(in t,i nt,i nt(*)4,i nt *);mai n() int a3 4=12,41,36,28,19,33,15,27,3,27,19,1,b 3,i;fun( 3,4,a,b);for(i=0;i<3;i+) prin tf("M",bi);prin tf("n");void fun (i nt m,i nt n ,i nt a

29、r4,i nt *br) int i,j,x;for(i=0;i<M;l+) x=ari0;for(j=0;j【12 =x;(13 )以下程序运行后的输出结果是【13 。void swap(i nt x,i nt y) int t;t=x;x=y;y=t;pri ntf("%d %d ",x,y);mai n() int a=3,b=4;swap(a,b); prin tf("%d %d",a,b);(14 )以下程序运行后的输出结果是【14 。#i ncludevoid fun( char *s,i nt p,i nt k) int i;for(

30、i=p;i mai n() char s="abcdefg"fun (s,3,strle n(s); puts(s);来源(15 )以下程序运行后的输出结果是【15】。#i ncludemai n() char ch="abc",x34; int i;for(i=0;i<3;i+) strcpy(xi,ch);for(i=0;i<3;i+) printf("%s",&xii);prin tf("n");(16 )以下程序运行后的输出结果是【16】。fun (i nt a) int b=0; st

31、atic int c=3;b+;c+;retur n( a+b+c);mai n() int i,a=5;for(i=0;i<3;i+) prin tf("%d%d",i,fu n( a);prin tf("n");(17 )以下程序运行后的输出结果是【17】。struct NODE int k;struct NODE *li nk;mai n() struct NODE m5,*p=m,*q=m+4;int i=0;while(p!=q)p->k=+i; p+;q->k=i+; q-;q->k=i;for(i=0;i<5;

32、i+) prin tf("%d",mi.k);prin tf("n");(18)以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时, 函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。#i ncludechar *huiwe n( char *str) char *p1,*p2; int i,t=0;p1=str;p2=【18 ; for(i=0;iv=strle n( str)/2;i+) if(*p1+!=*p2-)t=1;break; if(

33、【19 ) retur n( "yes!");else return(" no!");mai n() char str50;printf("Input:"); scanf("%s",str);printf("%sn",:考试大-计算机二级考 2005年4月笔试试卷参考答案一、选择题I- 5 DBDCA6-10CBDDCII- 15 BACDB16-20 CABAB21 -25 DABCB26-30 ACDDC31 -35 CBBAD36-40 CDCDC41-45 BADBA46-50 ADCD

34、B二、填空题(1)【1】19【2】对象【3】程序调试【4】关系(5)【5】算法(6)【6】10300【7】81(8)【8】4599(9)【9】10200(10) 【10】(11) 【11 】1B(12) 【12 】bri(13) 【13 】4334(14) 【14 】abcfg(15) 【15 】abcbcc(16) 【16 】010111212(17) 【17 】13431(18) 【18】str+strlen(str)-1【19】t=0或!t【20】huiwen(str)来源:考试大-计算机二级考人与人之间的距离虽然摸不着,看不见,但的的确确是一杆实实在在的秤。真与假,善与恶,美与丑,尽在秤杆上可以看出;人心的大小,胸怀的宽窄,拨一拨秤砣全然知晓。人与人之间的距离,不可太近。与人太近了,常常看人不清。一个人既有优点,也有缺点,所谓人无完人,金无赤足是也。初识时,走得太近就会模糊了不足,宠之;时间久了,原本的美丽之处也成了瑕疵,嫌之。与人太近了,便随手可得,有时得物,据为己有,太过贪财;有时得人,为己所用,也许贪色。贪财也好,贪色亦罢,都是一种贪心。与人太近了,最可悲的就是会把自己丢在别人身上,找不到自己的影子,忘了回家的路。这世上,根

温馨提示

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

评论

0/150

提交评论