国家二级(C++)机试模拟试卷112
选择题
1.下列叙述中正确的是( )。(D)
A. 栈是“先进先出”的线性表
B. 队列是“先进后出”的线性表
C. 循环队列是非线性结构
D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
解析:栈是先进后出的线性表,所以A错误;队列是先进先出的线性表,所以B错误;循环队列是线性结构的线性表,所以C错误。
2.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。(C)
A. 10
B. 8
C. 6
D. 4
解析:根据二叉树的基本性质3:在任意一颗二又树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中是5+1=6个。
3.下列排序方法中,最坏情况下比较次数最少的是( )。(D)
A. 冒泡排序
B. 简单选择排序
C. 直接插入排序
D. 堆排序
解析:冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较n(n—1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n。
4.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。(C)
A. 编译程序
B. 操作系统
C. 教务管理系统
D. 汇编程序
解析:编译软件、操作系统、汇编程序都属于系统软件,只有c教务管理系统才是应用软件。
5.下面叙述中错误的是( )。(A)
A. 软件测试的目的是发现错误并改正错误
B. 对被调试的程序进行“错误定位”是程序调试的必要步骤
C. 程序调试通常也称为Debug
D. 软件测试应严格执行测试计划,排除测试的随意性
解析:软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
6.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。(B)
A. 提高耦合性降低内聚性有利于提高模块的独立性
B. 降低耦合性提高内聚性有利于提高模块的独立性
C. 耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D. 内聚性是指模块间互相连接的紧密程度
解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A错误,B正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以C与D错误。
7.数据库应用系统中的核心问题是( )。(A)
A. 数据库设计
B. 数据库系统设计
C. 数据库维护
D. 数据库管理员培训
解析:数据库应用系统中的核心问题是数据库的设计。
8.有两个关系R,S如下:
(B)
A. 选择
B. 投影
C. 插入
D. 连接
解析:投影运算是指对于关系内的域指定可引入新的运算。本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。所以选择B。
9.将E-R图转换为关系模式时,实体和联系都可以表示为( )。(C)
A. 属性
B. 键
C. 关系
D. 域
解析:从E—R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。
10.字面常量42、4.2、42L的数据类型分别是( )。(C)
A. long、double、int
B. :long、float、int
C. int、double、long
D. int、float、long
解析:本题考查整型变量的类型和浮点变量的类型,42默认为int型数据,42后面加上L后,表示long型数据,4.2默认为dotlble型数据。
11.有如下程序段:
int i=0,j=1;
nt &r=i;//①
r=j;//② ’
int *p=&i;//③
*p=&r;//④
其中会产生编译错误的语句是( )。(A)
A. ④
B. ③
C. ②
D. ①
解析:本题考查指针和引用。①为引用,使用正确;④中&r表示一个地址,而*p已经是一个值了,不能将一个指针赋值给一个值,所以编译错误。
12.必须用一对大括号括起来的程序段是( )。(D)
A. switch语句中的ease标号语句
B. if语句的分支
C. 循环语句的循环体
D. 函数的函数体
解析:本题考查C++基本控制结构,A、B、C三个选项中的大括号不是必须的,而D选项中的函数体必须使用大括号。
13.下列符号中不属于C++关键字的是( )。(D)
A. friend
B. namespace
C. continue
D. byte
解析:本题考查C++关键字,属于基本常识,显然D选项不正确。
14.下列有关函数重载的叙述中,错误的是( )。(C)
A. 函数重载就是用相同的函数名定义多个函数
B. 重载函数的参数列表必须不同
C. 重载函数的返回值类型必须不同
D. 重载函数的参数可以带有默认值
解析:所谓函数重载是指同一个函数名可以对应着多个函数的实现。每种实现对应着一个函数体,这些函数的名字相同,但是函数参数的类型不同,还允许参数的个数不同,但不能只有函数的返回值类型不同而参数的个数和类型相同的重载。所以本题答案为C。
15.下列有关运算符重载的叙述中,正确的是( )。(A)
A. 运算符重载是多态性的一种表现
B. C++中可以通过运算符重载创造新的运算符
C. C++中所有运算符都可以作为非成员函数重载
D. 重载运算符时可以改变其结合性
解析:重载运算符的规则如下:①C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载;②C++不能重载的运算符只有5个;③重载不能改变运算符运算对象的个数;④重载不能改变运算符的优先级和结合性;⑤重载运算符的函数不能有默认的参数;⑥重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是C++的标准类型。故本题答案为A。
16.在下列原型所示的C++函数中,按“传值”方式传递参数的是( )。(A)
本文档预览:3600字符,共16122字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载