国家二级C语言机试(选择题)模拟试卷321
选择题
1.下列描述中正确的是(D)
A. 一个逻辑数据结构只能有一种存储结构
B. 数据的逻辑结构属于线性结构,存储结构属于非线性结构
C. 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
解析:数据的逻辑结构是指数据集合中各数据元素之间所固有的逻辑关系;数据的存储结构是在对数据进行处理时,各数据元素在计算机中的存储关系。数据的存储结构是指数据的逻辑结构在计算机中的表示,一种逻辑结构可以表示成多种存储结构;而采用不同的存储结构,其数据处理的效率是不同的。
2.下列描述中正确的是( )。(D)
A. 数据的逻辑结构与存储结构必定是一一对应的
B. 由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构
C. 程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构
D. 以上三种说法都不对
解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等。
3.若二维数组a有m列,则在a[i][j]前的元素个数为( )。(B)
A. j*m+i
B. i*m+j
C. j*m+i+1
D. i*m+j+1
解析:二维数组的元素可以看成是按矩阵形式存放的,总是先存放第一行的元素,再存放第二行的元素。数组第一维的下标是i,说明它前面还有i行,有i*m个元素,数组第二维的下标是i,说明它前面还有j列,有j个元素,所以共有i*m+j个元素。
4.下面结构体的定义语句中,错误的是( )。
A
解析:分号代表该结构体定义语句的结束,选项A的结构体没有定义完全就用该结构体另外定义变量,用法有误,所以答案选A。
5.以下选项中不能用作C程序合法常量的是(B)
A. ’\123’
B. 1,234
C. 123
D. \x7D
解析:选项B中的1,234在两侧加双引号才是C程序的合法字符串常量。
6.设循环队列为Q(1: m),初始状态为front=rear=m。现经过一系列的入队与退队运算后,front=rear=1,则该循环队列中的元素个数为( )。(D)
A. 1
B. 2
C. m-1
D. 0或m
解析:在循环队列中,当front=rear时,有两种情况,一种是队列为空,另一种是队列为满,所以答案选D。
7.数据库设计过程不包括( )。(D)
A. 概念设计
B. 逻辑设计
C. 物理设计
D. 算法设计
解析:数据库设计过程主要包括需求分析、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。答案为D选项。
8.若有以下程序
#include
main() {
int a=0,b=0,c=0,d;
c= (a+=b,,b+=a); /*第4行*/
d=c;; /*第5行*/
; /*第6行*/
printf(“%d,%d,%d\n”,a,b,c);/*第7行*/
}
编译时出现错误,你认为出错的是(A)
A. 第4行
B. 第5行
C. 第6行
D. 第7行
解析:第4行出错,在第4行括号中两个逗号不可以为空。单独的分号为C语言的空语句,是编译程序可以识别并且编译的,因此第5、6行都是正确的。
9.下面程序执行后的输出结果是( )。
main()
{ int array[3][3],*p,i;
p=&array[0][0];
for(i=p;i<9;i++)
p[i]=i+1;
printf(\\(B)
A. 3
B. 6
C. 9
D. 随机数
解析:本题中,指针变量p指向数组array,输出array[1][2]相等于输出p所指向的数组的第6个元素(下标为5),即p[5]。
10.有三个关系R、S和T如下:
(D)
A. 自然连接
B. 并
C. 交
D. 差
解析:由关系T中的数据可以看出,其数据由属于关系R但是不属于关系S的数据组成。所以关系T是由关系R和S通过差运算得到的。
11.对长度为n的线性表作快速排序,在最坏情况下,比较次数为( )。(D)
A. n
B. n一1
C. n(n—1)
D. n(n一1)/2
解析:快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较(n一1)+(n一2)+…+1=n(n一1)/2,故D选项正确。
12.下面不能作为结构化方法软件需求分析工具的是(A)
A. 系统结构图
B. 数据字典(DD)
C. 数据流程图
D. 判定表
解析:按照DeMarco的定义,“结构化分析就是使用数据流图(DFD图)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。”系统结构图不能作为结构化方法软件需求分析工具。
13.关于“while(条件表达式)循环体”,以下叙述正确的是(C)
A. 循环体的执行次数总是比条件表达式的执行次数多一次
B. 条件表达式的执行次数与循环体的执行次数一样
C. 条件表达式的执行次数总是比循环体的执行次数多一次
D. 条件表达式的执行次数与循环体的执行次数无关
解析:while语句中表达式是循环条件,语句为循环体。while语句中当表达式计算的值为真(非0)时,执行循环体语句。因此条件表达式执行的次数总是比循环体多一次。
14.关于逻辑表达式的叙述中正确的是( )。(D)
A. 关系运算符的结果有三种:0,1,一1
B. 对于逻辑表达式:a++‖ b++,设a的值为1,则求解表达式的值后,b的值会发生改变
C. 对于逻辑表达式:a++&&b++,设a的值为0,则求解表达式的值后,b的值会发生改变
D. else不是一条独立的语句,它只是if语句的一部分
解析:在分支结构中else不能单独使用,和if匹配使用,要注意逻辑与运算和逻辑或运算出现的短路现象,关系运算结果仅有0和1。
15.结构化程序设计的3种结构是( )。(B)
A. 顺序结构,分支结构,跳转结构
B. 顺序结构,选择结构,循环结构
C. 分支结构,选择结构,循环结构
D. 分支结构,跳转结构,循环结构
本文档预览:3600字符,共12822字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载