国家二级(C语言)机试模拟试卷134
选择题
1.关于计算机算法的时间复杂度的叙述中正确的是( )。(C)
A. 算法的时间复杂度与算法程序中的撰写细节有关
B. 算法的时间复杂度与计算机的运行速度有关
C. 算法的时间复杂度与运行算法时特定的输入有关
D. 算法的时间复杂度与算法程序编制者的水平有关
解析:计算机算法的时间复杂度是指执行算法所需要的计算工作量,它不仅应该与所使用的计算机、程序、设计语言以及程序编制者无关,而且与算法实现过程中的许多细节也无关。可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。算法所执行的基本运算次数还与问题的规模有关,对应一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关。所以本题答案为选项C。
2.下列各排序算法中,最坏情况下的时间复杂度最低的是( )。(C)
A. 快速排序
B. 冒泡排序
C. 堆排序
D. 希尔排序
解析:堆排序最坏情况下的时间复杂度为O(nlog2n),希尔排序最坏情况下的时间复杂度为O(n2),快速排序、冒泡排序最坏情况下的时间复杂度为O(n2)。所以本题答案为C选项。
3.下列叙述中正确的是( )。(B)
A. 有一个以上根节点的数据结构不一定是非线性结构
B. 只有一个根节点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:C和D选项均是线性结构,有一个以上根节点的数据结构一定是非线性结构,所以只有选项B正确。
4.某二叉树共有121个节点,其中有78个度为2的节点,则该二叉树中的叶子节点数为( )。(B)
A. 不存在这样的二叉树
B. 79
C. 120
D. 49
解析:根据二叉树的基本性质,对任何一棵二叉树,度为O的节点(即叶子节点)总是比度为2的节点多一个。题目中度为2的节点为78个,则叶子节点为78+1=79个。所以本题答案为B选项。
5.在设计计算机程序时,结构化程序的三种基本结构是( )。(C)
A. 跳转、迭代和回溯
B. 跳转、函数和子程序
C. 顺序、选择和循环
D. 调用、返回和选择
解析:结构化程序的三种基本结构是顺序、选择和循环,这三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
6.下面描述中错误的是( )。(A)
A. 系统总体结构图支持软件系统的详细设计
B. 软件设计是将软件需求转换为软件表示的过程
C. 数据结构与数据库设计是软件设计的任务之一
D. PAD图是软件详细设计的表示工具
解析:系统总体结构图不支持详细设计,所以选项A的描述错误,其他选项均正确。
7.计算机软件设计过程中,不属于需求规格说明的是( )。(B)
A. 运行环境
B. 算法详细设计
C. 软件的性能
D. 软件的主要功能
解析:软件需求规格说明应重点描述软件的目标,软件的功能需求、性能需求和运行环境等。功能需求是软件需求规格说明。给出软件要执行什么功能的详尽描述。性能需求是指定量地描述软件系统应满足的具体性能需求,即各种软件功能的速度、响应时间、恢复时间。外部接口指软件如何与人、系统的硬件及其他硬件和其他软件进行交互。属性是指与软件有关的质量属性,如正确性、可用性、可靠性、安全性、可维护性等。约束条件包括影响软件实现的各种设计约束,如使用的标准、编程语言、数据库完整性方针、资源限制、运行环境等方面的要求。
8.不属于数据库管理技术发展的三个阶段的是( )。(D)
A. 人工管理阶段
B. 文件系统阶段
C. 数据库阶段
D. 面向对象阶段
解析:数据库管理技术的三个阶段是人工管理阶段、文件系统阶段和数据库系统阶段。人工管理阶段没有专门的软件对数据进行管理。。
9.建立表示学生借书活动的实体联系模型,其中的两个实体分别是( )。(B)
A. 书号和学号
B. 学生和图书
C. 学生和学号
D. 书名和书号
解析:实体是概念世界中的基本单位,是客观存在并可以相互区别的事物。要建立表示学生借书活动的实体联系模型。能互相区别并可以联系起来的实体是学生和图书。
10.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的关系是( )。(D)
A. 1:1关系
B. 1:m关系
C. m:1关系
D. m:n关系
解析:一个教师可讲授多门课程,一门课程可由多个教师讲授,所以实体教师和课程间的关系是m:n的关系。
11.关于计算机算法的叙述中不正确的是( )。(A)
A. 只要能够成功编译和运行的算法都会得到期望的结果
B. 算法的操作步骤应该是有限的
C. 算法中每一条指令必须有确切的含义
D. 算法可以用各种描述方法来进行描述
解析:计算机算法应该具有有穷性、确定性和有效性。有穷性是指一个算法应该包含有限的操作步骤而不能是无限的,所以选项B正确;确定性是指算法中每一个步骤应当是确定的,而不能是含糊的、模棱两可的,所以选项C正确;算法可以使用自然语言、流程图、伪代码等多种描述方法来进行描述,所以选项D正确;算法的有效性是指算法中每一个步骤应当能有效地执行,并得到确定的结果,但算法设计有Bug也可能得不到预期结果,所以A选项错误。
12.若有定义语句:
int x=l;
则表达式x一=x+2的值为( )。(B)
A. 2
B. -2
C. 0
D. 一1
解析:表达式x-=x+2等价于x=x-(x+2),x=1,所以结果为:1—3=一2。
13.若有定义:
float a=22;int i=0,k=18;
下列选项中不合法的C语言表达式是( )。(C)
A. a=a+=3,i++;
B. i=(a+i)<=(a+k);
C. i=a%3;
D. i=!k;
解析:求模运算符“%”的操作数只能是整数,所以C选项不合法。
14.关于科学计数法,下列选项中合法的C语言实数是( )。(A)
A. .2e0
B. 0.2e0.2
C. E2.1
D. 3E
解析:C语言中,实数的指数形式一般为:aEn,其中a为十进制数,n为十进制整数,表示的值为:a×10n;B、C选项错在阶码必须是整数,D选项错在无阶码,所以答案为A项。
15.以下C语言表达式中,与k=i++完全等价的表达式是( )。(A)
A. k=i,i=i+1
B. i=i+1,k=i
C. k=++i
D. k+=i+1
解析:本题考查自加1运算符,i++表示i的当前值参与运算后,再自增1,所以表达式k=i++等价于k=i,i=i+1,所以答案选A。
16.关于C语言用户标识符的叙述中,错误的是( )。(A)
A. 若用户标识符的命名与预定义标识符相同,命名无效
B. 若用户标识符的命名与关键字相同.将产生编译错误
C. 若用户标识符的命名与预定义标识符相同。预定义标识符失去原有含义
本文档预览:3600字符,共17941字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载