国家二级C语言机试(选择题)模拟试卷314
选择题
1.算法的时间复杂度是指(D)
A. 算法的执行时间
B. 算法所处理的数据最
C. 算法程序中的语句或指令条数
D. 算法在执行过程中所需要的基本运算次数
解析:算法的时间复杂度,是指执行算法所需要的计算工作量。算法的工作量可以用算法在执行过程中所需基本运算的执行次数来度量。
2.下列叙述中正确的是(D)
A. 在C程序中:main函数的位置是固定的
B. C程序中所有函数之间都可以相互调用
C. 每个C程序文件中都必须要有一个main函数
D. 在C程序的函数中不能定义另一个函数
解析:当一个程序作为另一个程序的子程序,并且它自己不独立执行时,这该程序可以没有主函数。主函数的位置不固定,并且可以调用程序中的其他函数,而其他函数不可以调用main(1函数。C语言‘规定,不能在函数的内部定义函数。
3.设循环队列存储空间为Q(1:50)。初始状态为front=rear=50。经过一系列入队和退队操作后,front=14,rear=19,则该循环队列中的元素个数为(D)
A. 46
B. 45
C. 6
D. 5
解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素为队列中的元素。本题中的元素个数是从队列的索引15位置开始到索引19位置,共有5元素。
4.下列叙述中正确的是(B)
A. 有一个以上根结点的数据结构不一定是非线性结构
B. 只有一个根结点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:在数据结构中,树这类的的数据结构只有一个根结点,但它不是线性结构。
5.为了对有序表进行对分查找,则要求有序表( )。(A)
A. 只能顺序存储
B. 只能链式存储
C. 可以顺序存储也可以链式存储
D. 任何存储方式
解析:对分查找必须满足用顺序存储结构,且线性表是有序表两个条件,答案选A。
6.以下关于C语言数据类型使用的叙述中错误的是(C)
A. 若要保存带有多位小数的数据,可使用双精度类型
B. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
C. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型
D. 整数类型表示的自然数是准确无误差的
解析:在C语言中没有定义逻辑类型,而是用0代表假,用非零代表真。
7.若有定义语句charc=’\\\\101’;则变量C在内存中占(C)
A. 2个字节
B. 3个字节
C. 1个字节
D. 4个字节
解析:每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCⅡ码的形式存放在变量的内存单元之中的。
8.建立表示学生选修课程活动的实体联系模型,其中的丽个实体分别是( )。(D)
A. 学生和学号
B. 课程和课程号
C. 课程和成绩
D. 学生和课程
解析:实体是概念世界中的基本单位,是客观存在并可以相互区别的事物。要建立表示学生选修课程活动的实体联系模型,能互相区别并可以联系起来的实体是学生和课程。
9.带链的栈与顺序存储的栈相比,其优点是(C)
A. 入栈与退栈操作方便
B. 可以省略栈底指针
C. 入栈操作时不会受栈存储空间的限制而发生溢出
D. 所占存储空间相同
解析:带链的栈与顺序存储的栈相比优点是不受连续存储空间大小的限制,即不需考虑栈满的问题,故选项C正确。
10.有三个关系R、S和T如下,
(A)
A. 交
B. 差
C. 选择
D. 并
解析:关系R与S经交运算后所得到的关系是由那些既在R内又在S内的有序组所组成,记为R∩S。本题中,关系T中的行既属于关系R又属于关系S,故为交运算。
11.某二叉树中度为2的结点有10个,则该二叉树中有( )个叶子结点。(C)
A. 9
B. 10
C. 11
D. 12
解析:根据二叉树的性质3:对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。
12.设x=061,y=016,则z=x|y的值是( )。(C)
A. 00001111
B. 11111111
C. 00111111
D. 11000000
解析:将八进制的x和y化为二进制数,分别得:x=0011 0001,y=0000 1110,则z=x|y=00110001|0000 1110=0011 1111,故本题的答案为C)。
13.设二叉树的后序序列与中序序列均为ABCDEFGH,则该二叉树的前序序列为(A)
A. HGFEDCBA
B. ABCDEFGH
C. ABCDHGFE
D. DCBAHGFE
解析:后序遍历中,最后一个字母是根结点,也就是H是根结点;在中序遍历中,根结点前面的是左子树、后面的是右子树,H后面没有,因此该树没有右子树。同理,可判断出该树是第一个完全的左子树。由此可画出这个二叉树,然后根据二叉树可的前序序列为HGFEDCBA。
14.以下各项中,当x为大于1的奇数时,值为0的表达式是( )。(A)
A. x%2==0
B. x/2
C. x%2!=0
D. x%2==1
解析:当x为大于1的奇数时,x%2==0表达式为0,所以答案为A。
15.将E-R图转换为关系模式时,实体和联系都可以表示为(C)
A. 属性
B. 键
C. 关系
D. 域
解析:将E-R图转换为关系模式时,实体和联系都可以表示为关系。
16.C语言主要是借助以下哪种手段来实现程序模块化(D)
A. 定义常量和外部变量
B. 使用丰富的数据类型
C. 使用三种基本结构语句
D. 定义函数
解析:C语言用函数实现软件的模块化设计。
17.以下可以将任意一个两位整数n的个位数与十位数对换的表达式为( )。(A)
A. (n-n/10*10)*10+n/10
B. n-n/10*10+n/10
C. n/10+(n-n/10)
D. (n-n/10)*10+(n/10)
解析:考查运算符与表达式,方法是想办法得到个位数字和十位数字,然后个位数字*10+十位数字即可将个位数和十位数对换。A)中,n/10*10将整数中的十位部分提取出来,然后用n-n/10*10即得该整数的个位数字,n/10得到十位数字,(n-n/10*10)*10+n/10即完成对换,A)正确。同时易得选项B)、C)、D)三个选项都不正确,答案选A)。
18.有以下程序
#include
int fun(int a
本文档预览:3600字符,共11911字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载