国家二级(C语言)机试模拟试卷130
(总分86, 做题时间90分钟)
1. 选择题
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 目标程序
C 汇编程序
D 可执行程序
12. 
以下叙述中正确的是(    )。
A C语言规定必须用main作为主函数名,程序将从此开始执行
B 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C C语言程序将从源程序中第一个函数开始执行
D main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等
13. 
以下选项中可用做C程序合法实数的是(    )。
A 3.0e0.2
B .1e0
C E9
D 9.12E
14. 
下列定义变量的语句中错误的是(    )。
A int_int;
B double int_;
C char For;
D noat US$:
15. 
表达式:int)((double)9/2)一9%2的值是(    )。
A 0
B 3
C 4
D 5
16. 
设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(    )。(注:口代表空格字符)
A 10口X<回车> 20口Y<回车>
B 10口X20口Y<回车>
C 10X<回车> 20Y<回车>
D 10口X口20口Y<回车>
17. 
以下选项中不能作为C语言合法常量的是(    )。
A 0.1e+6
B 'cd'
C “\a”
D '\011'
18. 
if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是(    )。
A 必须是逻辑值
B 必须是整数值
C 必须是正数
D 可以是任意合法的数值
19. 
有如下嵌套的if语句:if(a<b)if(a<c)  k=a;else k=c:elseif(b<c)  k=b;else k=c:以下选项中与上述if语句等价的语句是(    )。
k=(a<b)?((bc)?b:c);
B k=(a<b)?((a<c)?a:c):((b<c)?b:c);
C k=(a<b)?a:b;k=(b<c)?b:c;
D k=(a<b)?a:b;k=(a<c)?a:c;
20. 
有以下程序: #include main() { int k=5; while(一一k)prinff(“%d”,k一=3); prinff(“\n”); } 程序执行后的输出结果是( )。
A 1
B 2
C 4
D 死循环
21. 
有以下程序: #include main() { int i,j; for(i=3;i>=1;i一一) { for(j=1;j<=2;j++)prinff(“%d”,i+j); prinff(“\n”); } } } 程序运行后的输出结果是( )。
printf函数中大小写d通用吗A 4 3 2 5 4 3
B 4 5 3 4 2 3
C 2 3 3 4 4 5
D 2 3 3 4 2 3
22. 
有以下程序: #include main() { int k=5,n=0; do { switch(k) { ease 1:case 3:n+=1;k一一;break; default:n=0;k一一; case 2:ease 4:n+=2;k一一;break; } printf(“%d”,n); }while(k>0&&n
A 02356
B 0235
C 235
D 2356
23. 
以下关于return语句的叙述中正确的是(    )。
A 一个自定义函数中必须有一条return语句
B 一个自定义函数中可以根据不同情况设置多条return语句
C 定义成void类型的函数中可以有带返回值的return语句
D 没有return语句的自定义函数在执行结束时不能返回到调用处
24. 
已定义以下函数:    int fun(int*p)    {  return*p;}fun函数的返回值是(    )。
A 一个整数
B 不确定的值
C 形参P中存放的值
D 形参P的地址值
25. 
以下程序段完全正确的是(    )。
A int*p;8canf(“%d”,&p);
B int*p;seanf(“%d”,P);
C int k,*p=&k;scanf(“%d”,P);
D int k,*P;*P:&k;scanf(“%d”,P);
26. 
设有定义:double a[10],*s=a;以下能够代表数组元素a[3]的是(    )。
A (* s)[3]
B *(s+3)
C *s[3]
D *s+3
27. 
有以下程序: #include void f(int*q) { int i=0; for(;i
A 6,2,3,4,5,
B 2,2,3,4,5,
C 1,2,3,4,5,
D 2,3,4,5,6,
28. 
有以下程序: #include int fun(int(*s)[4],int n,int k) { int m,i; m=s[0][k]; for(i=1;im) m=s[i][k]; return m; } main() { int a[4][4]={{1,2,3,4}, {11,12,13,14}, {21,22,23,24}. {31,32,33,34}}; printf(“%d\n”,fun(a,4,0)); } 程序运行后的输出结果是( )。
A 4
B 34
C 31
D 32
29. 
以下选项中正确的语句组是(    )。
A char*s;s={“BOOK!”};
B char*s;s=“BOOK!”;
C ehar s[10];s=“BOOK!”;
D char s[];s=“BOOK!”;
30. 
若有定义语句:char*s1=“OK”,*s2=“ok”;以下选项中,能够输出“OK”的语句是(    )。
A if(strcmp(s1,s2)!=0)puts(s2);
B if(strcmp(s1,s2)!=0)puts(s1);
C if(stremp(s1,s2)==1)puts(s1);