国家二级C语言机试(选择题)模拟试卷582
选择题
1.如果指令中的地址码部分直接给出了操作数,则称为( )。(C)
A. 隐含寻址
B. 直接寻址
C. 立即寻址
D. 寄存器寻址
解析:寻址方式是指找到当前正在执行指令的地址以及下一条将要执行指令的地址的方法。寻址方式被分为指令寻址和数据寻址两大类。其中,指令寻址分为顺序寻址和跳跃寻址两种。常见的数据寻址有立即寻址(所需的操作数由指令的地址码部分直接给出)、直接寻址(指令的地址码部分给出操作数在存储器中的地址)、隐含寻址(操作数的地址隐含在指令的操作码或者某个寄存器中)、间接寻址、寄存器寻址、寄存器间接寻址、基址寻址、变址寻址、相对寻址和堆栈寻址。故本题答案为C选项。
2.下列叙述中正确的是( )。(B)
A. 算法的时间复杂度与计算机的运行速度有关
B. 算法的时间复杂度与运行算法时特定的输入有关
C. 算法的时间复杂度与算法程序中的语句条数成正比
D. 算法的时间复杂度与算法程序编写者的水平有关
解析:为了能够比较客观地反映一个算法的效率,算法计算工作量的度量,不仅应该与所使用的计算机、采用的程序设计语言以及程序编写者无关,而且应该与算法实现过程中的许多细节无关。为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的计算工作量。算法所执行的基本运算次数还与问题的规模有关;对应一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关。故本题答案为B选项。
3.某带链队列的初始状态为front=rear=NULL。经过一系列正常的入队与出队操作后,front=10,rear=5。该队列中的元素个数为( )。(D)
A. 4
B. 5
C. 6
D. 不确定
解析:带链队列即使用链表来表示队列,而链表中的元素存储在不连续的地址中,因此当front=10,rear=5时,不能确定队列中元素的个数。故本题答案为D选项。
4.线性表的长度为n。在最坏情况下比较次数为n—1的算法是( )。(C)
A. 顺序查找
B. 同时寻找最大项与最小项
C. 寻找最大项
D. 有序表的插入
解析:顺序查找要逐个查看所有元素,会比较n次。在最坏情况下,寻找最大项无论如何需要查看表中所有元素,n个元素比较次数为n—1。同时寻找最大项和最小项,需要为判断较大值和较小值分别进行比较,会有更多的比较次数。有序表的插入最坏情况下是插入表中的最后一个元素的后面位置,会比较n次。故本题答案为C选项。
5.软件生命周期中,解决软件\\(A)
A. 需求分析
B. 软件设计
C. 软件实现
D. 可行性研究
解析:软件生命周期可细化为可行性研究和计划制定、需求分析、软件设计(总体设计和详细设计)、编码、软件测试、软件运行和维护等阶段。需求分析是对待开发软件提出的需求进行分析并给出详细定义,是解决软件\\
6.以下属于白盒测试方法的是( )。(B)
A. 等价类划分法
B. 判定—条件覆盖
C. 因果图法
D. 错误推测法(猜错法)
解析:白盒测试方法主要有逻辑覆盖、基本路径测试等。其中,逻辑覆盖又包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断一条件覆盖。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法和因果图法等。故本题答案为B选项。
7.关系数据模型的3个组成部分中不包括( )。(B)
A. 关系的数据操作
B. 关系的并发控制
C. 关系的数据结构
D. 关系的数据约束
解析:关系数据模型的3个组成部分:关系的数据结构(用二维表表示)、关系的数据操作(查询、删除、插入、修改)、关系的数据约束(实体完整性约束、参照完整性约束、用户定义的完整性约束)。故本题答案为B选项。
8.定义学生、教师和课程的关系模式S(S#,Sn,Sd,Dc,Sa)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄)、C(C#,Cn,P#)(其属性分别为课程号、课程名、选修课)、SC(S#,C#,G)(其属性分别为学号、课程号、成绩),则该关系模式为( )。(B)
A. 第一范式
B. 第二范式
C. 第三范式
D. BC范式
解析:本题中关系模式s中的\\
9.以下选项中,能用作用户标识符的是( )。(A)
A. _0_
B. 8_8
C. void
D. unsigned
解析:C语言的标识符由字母、数字、下划线组成,且第1个字符必须是字母或下划线。另外,关键字不能作为标识符。B选项中以数字8开头,所以B选项错误。C选项与D选项中用的是关键字\\
10.以下选项中合法的C语言常量是( )。(B)
A. C—STR’
B. 2014.1
C. \1.0
D. 2EK
解析:所谓常量,是指在程序运行的过程中,其值不能被改变的量。在C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。A选项是字符串,需要使用双引号;C选项不是合法的常量形式;D选项为实型常量中的指数形式,但指数形式e(E)之前必须是数字,之后必须为整数。故本题答案为B选项。
11.设有定义\\(C)
A. ++k
B. k+=1
C. k++
D. k+1
解析:表达式\\
12.设有定义\\(D)
A. k—=i;
B. k=——i;
C. k=i—1;
D. k=i——;
解析:A选项是复合的赋值运算符,等价于\\
13.有以下程序:
#include <stdio.h>
main()
{
int X=072:
printf(\\(D)
A. >073<
B. >73<
C. >142<
D. >59<
解析:题干中x是一个整型变量,赋值为072。以0开头的整数是八进制的表示形式。printf函数中,格式字符%d表示以十进制形式输出\\
14.若有定义\\(A)
A.
B.
C.
D.
解析:B选项中,\\
15.以下不构成无限循环的语句或语句组的是( )。
(A)
A.
B.
C.
D.
解析:A选项中do后面的语句只执行了一次便结束了循环;B选项中条件while(1)永远成立,所以是死循环;C选项中n的值为10,而循环体为空语句,所以while(n)永远为真,进入死循环;D选项中for语句第2个表达式为空,所以没有判断条件,进入死循环。故本题答案为A选项。
16.有以下程序段:
char cl,c2;
for(cl=’0’,c2=’9’;cl<c2;cl++,c2——)<
本文档预览:3600字符,共6493字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载