国家二级(C语言)机试模拟试卷426
选择题
1.下列叙述中正确的是( )。(B)
A. 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B. 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C. 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D. 线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性
解析:线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。
2.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。(D)
A. 快速排序
B. 冒泡排序
C. 直接插入排序
D. 堆排序
解析:除了堆排序算法的比较次数是O(nlog2,n),其他的都是,n(n-1)/2。
3.有以下程序:
#include<stdio.h>
main()
{ int x;
scanf(’’%dt’’,&x);
if(x<=0);else
if(x!=5)printf(’’%d\n’’,x);
}
程序运行时,输入的值在哪个范围才会有输出结果( )。(B)
A. 不等于5的整数
B. 大于0且不等5的整数
C. 大于0或等于5的整数
D. 小于5的整数
解析:题目中,虽然else和第二个if不在同一行上,但等价于在同一行上,因此,程序的意思是当x大于0且不等于5时将其打印出来。
4.若运行时给变量x输入12,则以下程序的运行结果是( )。
main()
{ int x,y;
scanf(’’%d’’,&x);
y=x>127x+10:x-12;
printff(’’%d\n’’,y);
}(A)
A. 0
B. 22
C. 12
D. 10
解析:本题考查三目条件运算符“?:”。表达式“x>127x+10:x-12”即,如果x>12成立,则x+10的值即为此表达式的值,否则x.12即为此表达式的值。因为x=12,所以x>12不成立,所以执行“y=x-12=0”。
5.有以下程序:
#include <stdio.h>
fun(int x, int y)
{ static int m=0, i=2;
i+=m+1; m=i+x+y; return m;
}
main()
{ int j=1, m=1, k;
k=fun(j,m); printf(\\(A)
A. 5, 11
B. 5, 5
C. 11, 11
D. 11, 5
解析:声明静态局部变量:函数调用结束后,其占用的存储单元不释放,在下次该函数调用时,该变量保留上一次函数调用结束时的值。本题子函数fun中的变量 i和m均为静态局部变量。所以第一次调用fun函数,返回m的值为5,第二次再调用fun函数时,i的值为3,m的值已经是5了,所以执行i+=m+1,i的值变为9,m=i+x+y=9+1+1=11。
6.下列程序的输出结果为( )。
main()
{ union un
{char*name;
int age;
int pay;
}s;
s.name=\\(B )
A. 32
B. 3000
C. 0
D. 不确定
解析:本题考查的是联合体的有关概念。因为联合体是各个成员共享一段存储空间,此段存储空间最终存放的是最后存入的成员的值,所以题目中输出s.age实际上输出了最后存入的3000,因为3000已经把原来存入的s.age(32)的值覆盖。
7.下列队列的描述中,正确的是( )。(D)
A. 队列属于非线性表
B. 队列在队尾删除数据
C. 队列按“先进后出”进行数据操作
D. 队列按“先进先出”进行数据操作
解析:队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。队列的操作数是依据先进先出的原则进行的。因此队列亦称作先进先出的线性表,或后进后出的线性表。
8.在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。(C)
A. 需求分析阶段
B. 概念设计阶段
C. 逻辑设计阶段
D. 物理设计阶段
解析:E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。
9.下面程序的运行结果是( )。
y=5;x=14;y=((x=3*y,x+6),x—1);
printf(“x=%d,y=%d”,X,y);(C)
A. x=27,y=27
B. x=12,y=13
C. x=15,y=14
D. x=y=27
解析:本题考查的是逗号表达式。逗号表达式的求解步骤是先求解表达式1,然后依次求解表达式2,直到表达式N的值。整个逗号表达式的值就是最后一个表达式N的值。表达式(x=3*y,x+6)中,x=15。表达式y=x-1=14。
10.字符串\\(B)
A. 11
B. 10
C. 5
D. 3
解析:本题涉及字符串最基本的2个概念:①字符串的长度是指字符串中字符的个数,但不包括字符串结束符;②以反斜杆’\’开头的特殊字符序列,意思是把反斜杆后面的字符序列转换成特定的含义,而不是原来的含义,不包含在字符串长度之内,’\’连同后面的字符为一个长度;而’%’也是如此。
11.数据库应用系统中的核心问题是( )。(A)
A. 数据库设计
B. 数据库系统设计
C. 数据库维护
D. 数据库管理员培训
解析:数据库应用系统中的核心问题是数据库的设计。
12.对关系S和关系R进行集合运算,结果中既包含关系S中的所有元组也包含关系R中的所有元组,这样的集合运算称为( )。(A)
A. 并运算
B. 交运算
C. 差运算
D. 除运算
解析:关系的并运算是指,由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。
13.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。(C)
A. 课号,成绩
B. 学号,成绩
C. 学号,课号
D. 学号,姓名,成绩
解析:学号是学生表s的主键,课号是课程表c的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C。
14.有以下程序:
#include<stdio.h
本文档预览:3600字符,共14706字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载