国家二级C语言机试(选择题)模拟试卷581
选择题
1.下列叙述中正确的是( )。(B)
A. CPU能直接访问计算机内存
B. CPU可以通过总线访问计算机内存和各种输入输出设备
C. CPU不仅能直接访问计算机内存,也能直接访问计算机外存
D. CPU不能直接访问寄存器,必须通过总线来访问寄存器
解析:CPU不能直接访问计算机内存和各种输入输出设备,需要通过总线来访问。CPU包括运算器和控制器两部分,它们都包含寄存器或高速存储区域。故本题答案为B选项。
2.下列叙述中正确的是( )。(A)
A. 算法的复杂度包括时间复杂度与空间复杂度
B. 算法的复杂度是指算法控制结构的复杂程度
C. 算法的复杂度是指算法程序中指令的数量
D. 算法的复杂度是指算法所处理的数据量
解析:算法的复杂度是指算法在编写成可执行程序后,运行时所需要的资源。资源包括时间资源和内存资源。算法的复杂度包括时间复杂度与空间复杂度。算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度是指算法在执行过程中所需要的内存空间。故本题答案为A选项。
3.某带链队列的初始状态为front=rear=NULL。经过一系列正常的入队与出队操作后,front=rear=10。该队列中的元素个数为( )。(B)
A. 0
B. 1
C. 1或0
D. 不确定
解析:带链队列为空时,头指针和尾指针都为NULL;队列中只有一个元素时,头指针和尾指针都指向这个元素。故本题答案为B选项。
4.下列算法中均以比较作为基本运算,则平均情况与最坏情况下的时间复杂度相同的是( )。(A)
A. 在顺序存储的线性表中寻找最大项
B. 在顺序存储的线性表中进行顺序查找
C. 在顺序存储的有序表中进行对分查找
D. 在链式存储的有序表中进行查找
解析:寻找最大项,无论如何都要查看所有的数据,与数据原始排列顺序没有多大关系,无所谓最坏情况和最好情况,或者说平均情况与最坏情况下的时间复杂度是相同的。而查找无论是对分查找还是顺序查找,都与要找的数据和原始的数据排列情况有关。最好情况下是第1次查看的一个数据恰好是要找的数据,只需要比较1次;如果没有找到再查看下一个数据,直到找到为止。最坏情况下是最后一次查看的数据才是要找的,顺序查找和对分查找在最坏情况下比较的次数分别是n和log2n,平均情况下则是\\
5.软件生命周期可分为定义阶段、开发阶段和维护阶段,以下属于定义阶段任务的是( )。(C)
A. 软件设计
B. 软件测试
C. 可行性研究
D. 数据库设计
解析:软件生命周期可分为定义阶段、开发阶段和维护阶段。
软件定义阶段的任务是:确定软件开发工作必须完成的目标;确定工程的可行性。
软件开发阶段的任务是:具体完成设计和实现定义阶段所定义的软件,通常包括总体设计、详细设计、编码和测试。其中总体设计和详细设计又称为系统设计,编码和测试又称为系统实现。
软件维护阶段的任务是:使软件在运行中持久地满足用户的需要。故本题答案为C选项。
6.在黑盒测试方法中,设计测试用例的根据是( )。(D)
A. 数据结构
B. 模块间的逻辑关系
C. 程序调用规则
D. 软件要完成的功能
解析:黑盒测试又称为功能测试或数据驱动测试。黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。它完全不考虑程序内部的逻辑结构和内部特征,只依据程序的需求和功能说明,检查程序的功能是否符合它的功能要求。故本题答案为D选项。
7. E—R图中用来表示实体的图形是( )。(C)
A. 菱形
B. 三角形
C. 矩形
D. 椭圆形
解析:在E—R图中实体用矩形表示,在矩形框内写实体名;属性用椭圆形表示,并用无向边将其与相应的\\
8.定义部门的关系模式如下:
部门(部门号,部门名,部门成员,部门总经理)
使它不满足第一范式的属性是( )。(B)
A. 部门名
B. 部门成员
C. 部门总经理
D. 部门号
解析:对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式。本题中\\
9.按照C语言规定的用户标识符命名规则,不能出现在用户标识符中的是( )。(D)
A. 大写字母
B. 下划线
C. 数字
D. 连接符
解析:C语言的标识符由字母、数字、下划线组成,且第1个字符必须是字母或下划线,所以D选项中的连接符不合法。故本题答案为D选项。
10.以下可以正确且安全地用作用户标识符的一组选项是( )。(A)
A. _32int,long64
B. Switch,unsigned
C. Abc,getch
D. 3break,enter
解析:C语言中,合法的标识符由字母、数字和下划线组成,并且第1个字符必须是字母或下划线。D选项中的\\
11.设变量已正确定义并赋值,下列表达式中正确的是( )。(A)
A. x=y+z+5,++y
B. int(15.8%5)
C. x=y*5=x+z
D. x=25%5.0
解析:运算符\\
12.若变量已经正确定义并赋值,则针对程序段\\(B)
A. C语言的顺序结构不允许将多条语句写在一行里
B. 程序顺序结构对于此段程序是从左至右依次执行的
C. 此程序段的执行顺序是,先执行\\
D. 将此段程序的前两个分号改成逗号,后面一个不变,则不能实现a和b值的交换
解析:C语言允许将多条语句写在一行,所以A选项错误;题干中的程序段是从左至右依次执行的,所以B选项正确,C选项错误。题干中的程序段的前两个分号改成逗号,就构成了逗号表达式。逗号表达式会依次从左到右计算各个表达式,整个表达式的值是最后一个表达式的值,此例也可以实现a和b值的交换,所以D选项错误。故本题答案为B选项。
13.设有定义\\(C)
A. 123.46,123.0
B. 123.45,123
C. 123.46,123
D. 123.45,123.
解析:对于double类型的实数,可以在printf函数的格式控制字符串中使用\\
14.有以下程序:
#include <stdio.h>
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{ case 0:a++;break;
case 1:b++;break;
}
case 2:a++;b++;break;
case3:a++;b++;
{
printf(\\(B)
A. a=2,b=2
B. a=2,b=1
本文档预览:3600字符,共6839字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载