计算机二级c语言历年真题及答案
【篇一:国家计算机二级c语言历年真题及答案】
class=txt>c语言程序设计
(考试时间90分钟,满分100分)
一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)
(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) 可封装 d) 自顶向下
1 / 23
c) 模块化 d) 逐步求精
(7)软件详细设计产生的图如下: 该图是 a) n-s图 b) pad图
c) 程序流程图 d) e-r图
(8)数据库管理系统是 a)操作系统的一部分
b) 在操作系统支持下的系统软件 c) 一种编译系统 d) 一种操作系统
(9)在e-r图中,用来表示实体联系的图形是 a) 椭圆图 b) 矩形 c) 菱形 d) 三角形
(10)有三个关系r,s和t如下:
其中关系t由关系r和s通过某种操作得到,该操作为 a) 选择 b) 投影 c) 交 d) 并
(11)以下叙述中正确的是
a)程序设计的任务就是编写程序代码并上机调试 b)程序设计的任务就是确定所用数据结构 c)程序设计的任务就是确定所用算法 d)以上三种说法都不完整
(12)以下选项中,能用作用户标识符的是 a)void b)8_8 c)_0_
d)unsigned
(13)阅读以下程序
2 / 23
#include main()
{ int case; float printf;
printf(“请输入2个数:”);
scanf(“%d %f”,case,pjrintf); printf(“%d %f\\n”,case,printf); }
该程序编译时产生错误,其出错原因是
a)定义语句出错,case是关键字,不能用作用户自定义标识符 b)定义语句出错,printf不能用作用户自定义标识符 c)定义语句无错,scanf不能作为输入函数使用 d)定义语句无错,printf不能输出case的值 (14)表达式:(int)((double)9/2)-(9)%2的值是 a)0 b)3 c)4 d)5
(15)若有定义语句:int x=10;,则表达式x-=x+x的值为 a)-20 b)-10 c)0 d)10
(16)有以下程序 #include main()
{ int a=1,b=0;
printf(“%d,”,b=a+b); printf(“%d\\n”,a=2*b); }
程序运行后的输出结果是 a)0,0 c)3,2 d)1,2
17)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是
a)if(ab) c=a,a=b,b=c; b)if(ab) {c=a,a=b,b=c;}
3 / 23
c)if(ab) c=a;a=b;b=c; d)if(ab) {c=a;a=b;b=c;} (18)有以下程序 #include main()
{ int c=0,k;
for (k=1;k3;k++) switch (k)
{ default: c+=k
case 2: c++;break; case 4: c+=2;break; }
printf(“%d\\n”,c); }
程序运行后的输出结果是 a)3 b)5 c)7 d)9
(19)以下程序段中,与语句:k=ab?(bc?1:0):0;功能相同的是 a)if((ab)(bc)) k=1; else k=0;
b)if((ab)||(bc) k=1; else k=0;
c)if(a=b) k=0; else if(b=c) k=1; d)if(ab) k=1; else if(bc) k=1; else k=0;
20)有以下程序 #include
{ char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++)
if(s[i]=’a’s[i]=’z’) n++; printf(“%d\\n”,n); }
程序运行后的输出结果是 a)0
4 / 23
b)2 c)3 d)5
(21)有以下程序 #include main()
{ int n=2,k=0;
while(k++n++2);
printf(“%d %d\\n”,k,n); }
程序运行后的输出结果是 a)0 2 b)1 3 c)5 7 d)1 2
(22)有以下定义语句,编译时会出现编译错误的是 a)char a=’a’; b)char a=’\\n’; c)char a=’aa’; d)char a=’\\x2d’; (23)有以下程序 #include main()
{ char c1,c2; c1=’a’+’8’-‘4’; c2=’a’+’8’-‘5’;
printf(“%c,%d\\n”,c1,c2); }
已知字母a的ascii码为65,程序运行后的输出结果是 a)e,68
【篇二:2014年三月全国计算机二级c语言上机考试
题库】
txt>题库100套 第01套:
5 / 23