《c语言等级考试试题.docx》由会员分享,可在线阅读,更多相关《c语言等级考试试题.docx(13页珍藏版)》请在第一文库网上搜索。
1、全国计算机二级C语言笔试试题一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变
2、化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误O改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低O软件质量难以控制D)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程O软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A) 一组对象所具有的相似性质B) 一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分
3、原则是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)结构化程序使用got。语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由
4、三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A) C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:in
5、ta;1ongb;doub1ex,y;则以下选项中正确的表达式是A)a%(int)(x-y)B) a=x!=y;C) (a*y)%bD) y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200C)字符斜杠:二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)有以下程序main()inta=1,b=0:if(!a)b+;e1seif(a=0)if(a)b+=2;e1seb
6、+=3;Primf(M%d,b);)程序运行后的输出结果是A) 0B) 1C) 2D) 3(19)若有定义语句inta,b;doub1ex;则下列选项中没有错误的是case0:a+;break;case1:b+;break;defau1t:a+;b+;D)switch(int)(x)%2)case0:a+;break;case1:b+;break;defau1t:a+;b+;C)switch(int)x%2)defau1t:a+;b+;defau1t:a+;b+;)(20)有以下程序main()inta=1,b=2;whi1e(a6)b+=a;a+=2;b%二10;printf(,%d,%dn
7、”,a,b);)程序运行后的输出结果是A) 5,11B) 7,1(21)有以下程序#inc1udemain()inty=10;whi1e(y);printf(,Y=%dn,Y);)程序执行后的输出结果是A) y=0B) y=-1C) y=1D) Whi1e构成无限循环(22)有以下程序#inc1udemain()charsJ=,rstuvn;printf(,%cn,*s2);)程序运行后的输出结果是A)tuvB)字符t的ASCn码值C)tD)出错(23)有以下程序main()charx=STRING”;xOJ=0;x1=,0,;x2J=,0,;printf(,%d%dn”,sizeof(x),
8、str1en(x);)程序运行后的输出结果是A) 61B) 7OC) 63D) 71(24)有以下程序#inc1udeIntf(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(%du,&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;以下选项中与此语
9、句等价的是A) intp4;B) int*p;C) int*(p4j);D) int(*p)4j;(27)下列定义数组的语句中,正确的是A)intN=10;B)#defineN10intxN;intxN;C)intx0.10;D)intX;(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是A) inta5=01;B) intb=0,0,0,0,0;C) intc2+3;D) inti=5,di;(29)有以下程序#inc1udevoidf(int*p);main()inta5=12,3,4,5,*r=a;f(r);Primf(%dn”;*r);)voidf(int*p)p=p+3
10、;printf(%d,*p);程序运行后的输出结果是A)1,4B)4,4C)3,1D)4,1(30)有以下程序(函数fun只对下标为偶数的元素进行操作)#inc1udevoidfun(int*a;intn)inti、j、k、t;forG=OjVn1;1+=2)k=ijfor(j=i;jak)k=j;t=a(i;ai=ak;a(k=t;)main()intaaIOj=1、2、3、4、5、6、7,i;fun(aa、7);for(i=0,i7;i+)printf(,%d,aa1i);printf(,n,0;)程序运行后的输出结果是A)7,2,5,4,3,6,1B)1,6,3,4,5,2,7C)7,6
11、,5,4,3,2,1D)1,7,3,562,1(31)下列选项中,能够满足“若字符串S1等于字符串s2,则执行ST”要求的是A) if(strcmp(s2,s1)=0)ST;B) if(s1=s2)ST;C) if(Strcpy(s1,s2)=1)ST;D) if(s1-s2=0)ST;(32)以下不能将s所指字符串正确复制到t所指存储空间的是A) whi1e(*t=*s)t+;s+;B) for(i=O;ti=si;i+);C) do*t+=*s+;whi1e(*s);D) for(i=O,j=O;ti+=sj+;);(33)有以下程序(StrCat函数用以连接两个字符串)# inc1ude
12、# inc1udemain()chara20=,ABCDOEFG0,b=IJK;strcat(a,b);printf(%sn”,a);)程序运行后的输出结果是A) ABCDEOFGOIJKB) ABCDIJKC) IJKD) EFGIJK(34)有以下程序,程序中库函数is1ower(Ch)用以判断Ch中的字母是否为小写字母#inc1udeVstdio.h#inc1udevoidfun(char*p)inti=0;whi1e(pi)if(pi=,9&is1ower(pi-1J)pi-1=pi-1-*a,+*A,;i+;)main()charsi100=,abcdEFG!”;fun(si);pr
13、intf(%sn”,si);)程序运行后的输出结果是A) abcdEFG!B) AbCdEFg!C) aBcDEFG!D) abcdEFg!(35)有以下程序ttinc1udevoidfun(intx)if(x/21)fun(x/2);printf(d,x);)main()fun(7);printf(n);)程序运行后的输出结果是A) 137B) 731C) 73D) 37(36)有以下程序#inc1udeintfun()staticintx=1;x+=1;returnx;)main()inti;s=1;for(i=1;i=5;i+)s+=fun();Printf(%dn,s);)C) 6D) 120(37)有以下程序# inctude# inc1udeVstd1ib.hMain()int*a,*b,*c;a=b=c=(int*)ma11oc(sizeof(int);*a=1;*b=2,*c=3;a=b;printf(%d,%d,%dn”,*a,*b,*c);)程序运行后的输出结果是A)3,3,3B)2,2,3C)1,2,3D)1,1,3(38)有以下程序# inc1ud