国家二级C++机试(选择题)模拟试卷487
选择题
1.下列描述中正确的是(D)
A. 一个逻辑数据结构只能有一种存储结构
B. 数据的逻辑结构属于线性结构,存储结构属于非线性结构
C. 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
解析:数据的逻辑结构是指数据集合中各数据元素之间所固有的逻辑关系:数据的存储结构是在对数据进行处理时,各数据元素在计算机中的存储关系。数据的存储结构是指数据的逻辑结构在计算机中的表示,一种逻辑结构可以表示成多种存储结构;而采用不同的存储结构,其数据处理的效率是不同的。
2.下列叙述中正确的是( )。(B)
A. 有一个以上根结点的数据结构不一定是非线性结构
B. 只有一个根结点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:在数据结构中,树这类的数据结构只有一个根结点,但它不是线性结构。
3.下列数据结构中,属于非线性结构的是( )。(C)
A. 循环队列
B. 带链队列
C. 二叉树
D. 带链栈
解析:根据数据结构中各数据元素之间的前后件关系的复杂程度,一般将数据结构分为两大类:线性结构和非线性结构。循环队列、带链队列和带链栈都是线性结构,而二叉树是非线性结构。
4.下列关于C++函数的叙述中,正确的是( )。(C)
A. 每个函数至少要具有一个参数
B. 每个函数都必须返回一个值
C. 函数在被调用之前必须先声明
D. 函数不能自己调用自己
解析:此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。
5.下列有关继承和派生的叙述中,正确的是( )。(D)
A. 如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员
B. 派生类的成员函数可以访问基类的所有成员
C. 基类对象可以赋值给派生类对象
D. 如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类
解析:私有继承方式为基类的公用成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有,但派生类对象可以访问基类的保护成员,所以基类对象不能赋值给派生类对象。抽象类是指含有纯虚拟函数的类,所以选项D正确。
6.数据字典(DD)所定义的对象都包含于( )。(A)
A. 数据流图(DFD图)
B. 程序流程图
C. 软件结构图
D. 方框图
解析:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
7.下面不能作为结构化方法软件需求分析工具的是( )。(A)
A. 系统结构图
B. 数据字典(DD)
C. 数据流程图(DFD图)
D. 判定表
解析:按照DeMarco的定义,“结构化分析就是使用数据流图(DFD图)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。”系统结构图不能作为结构化方法软件需求分析工具。
8.有如下语句序列:char str[10];cin>>str;当从键盘输入“I love this game”时,str中的字符串是( )。(D)
A. “I love this game”
B. “I love thi”
C. “I love”
D. “I”
解析:cin是C++预定义的标准输入流对象,cin用来接收字符串时,遇“空格”、“TAB”、“回车”时都会结束。所以本题答案为D。
9.在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是( )。(B)
A. 逻辑设计
B. 需求分析
C. 详细设计
D. 物理设计
解析:软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。
10.下列for循环的循环体执行次数为( )。
for(int i(0),j(10);i=j=4;i++,j–)(D)
A. 0
B. 1
C. 4
D. 无限
解析:循环条件i=i=4;是个赋值语句,使得i,i的值非0,所以是死循环。
11.己知枚举类型定义语句为:
enum
Token{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是( )。(A)
A. 枚举常量NAME的值为1
B. 枚举常量NUMBER的值为1
C. 枚举常量MINUS的值为6
D. 枚举常量PRINT的值为10
解析:此题考查的是枚举类型的声明。声明枚举类型的语法形式为:enum类型名{枚举值表}。需注意的是:当n个枚举值全部未赋常量值时,它们自左至右分别与整数0、1、2、3…n-1对应;若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1、m+2…对应,直到下一个赋了值的枚举值或结束。枚举常量NAME的值为0。
12.属于对象构成成份的是(A)
A. 规则
B. 属性
C. 标识
D. 方法(或操作)
解析:对象由属性、方法和标识构成。
13.下列字符串中可以用作C++标识符的是( )。(D)
A. 2009var
B. goto
C. test一2009
D. _123
解析:标识符是用户为程序中各种需要命名的“元素”所起的名字。标识符的组成要符合一定的规则:①标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。②标识符不能与任意一个关键字同名。③标识符中的字母区分大小写。④标识符不宜过长。C++语言一般设定一个标识符的有效长度为32个字符。由这四条规则可知,选项D)为正确答案。
14.在定义函数模板或类模板时,开头的保留字是( )。(B)
A. typename
B. template
C. class
D. typedef
解析:定义函数模板或类模板时,开头的保留字是template。
15.有如下程序:
#include<iostream>
#include<cstring>
using namespace std;
class XCF{
int a:
public:
XCF(int aa=0):a(aa){cout<<\\(B)
A. 1215588
B. 1218855
C. 12185
D. 128512
解析:在这个程序中在建立对象d1(5)时,调用构造函数XCF(int aa=0):a(aa){cout<<\\
16.有如下语句序列:
ifstream infile(\\(B)
A. 以读方式打开成功
本文档预览:3600字符,共7876字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载