国家二级(C++)机试模拟试卷516
选择题
1.算法的有穷性是指( )。(A)
A. 算法程序的运行时间是有限的
B. 算法程序所处理的数据量是有限的
C. 算法程序的长度是有限的
D. 算法只能被有限的用户使用
解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。
2.有三个关系R、S和T如下:
(D)
A. 并
B. 自然连接
C. 笛卡尔积
D. 交
解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B错误。笛卡尔积是用R集合中元素为第一元素,s集合中元素为第二元素构成的有序对,所以C错误。根据关系T可以很明显地看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D。
3.数据管理技术发展的三个阶段中,( )没有专门的软件对数据进行管理。
I.人工管理阶段
II.文件系统阶段
III.数据库阶段(A)
A. 仅I
B. 仅III
C. I和II
D. II和III
解析:数掘管理技术发展的三个阶段中,只有人工管理阶段,没有操作系统,没有管理数据的软件,数据处理方式是批处理。在文件系统阶段,操作系统中已经有了专门数据管理软件,一般称为文件系统。在数据库系统阶段,出现了统一管理数据的专门软件系统,即数据库管理系统。
4.若有如下程序段:
#include
using namespace std;
int main()
{
char*p=“abcdefgh”,*r;
r==p;
cout<<*r<<endl;
return 0;
)
该程序的输出结果是( )。(A)
A. a
B. b
C. c
D. d
解析:字符指针p指向“abcdefgh”字符串,语句“r=p;”是r指向p指向的字符串,而*r则是指向字符串中的第一个字符。即a。
5.以下程序的执行结果为( )。
#include
class Sample
{
int n;
public:
Sample(int i){n=i;}
operator++(){n++;} //前缀重载运算符
operator++(int){n+=2;} //后缀重载运算符
void disp()
{
cout<<\\(A)
A. n=4
n=3
B. n=1
n=2
C. n=3
n=4
D. n=5
n=6
解析:此题考查的是“++”运算符的重载。为了区分前缀和后缀运算符,规定:重载后缀运算符时必须多一个虚拟参数:int。本题中, A(2)首先给n赋值2,语句A++,调用的是后缀运算符重载语句,使得n加2变为4。B(2)首先给n赋值2,然后语句++B,调用前缀运算符重载函数,使得n加1。因此最终的输出结果是n=4 n=3。
6.下列叙述中正确的是( )。(D)
A. 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B. 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D. 循环队列中元素的个数是由队头指针和队尾指针共同决定
解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中需要队头指针与队尾指针来共同反映队列中元素的动态变化情况,所以B与C错误。
7.若要把函数void fun0定义为TestClass的友元函数,则应该在类TestClass的定义中加入的语句是( )。(C )
A. void friend fun0
B. friend fun()
C. friend Void fun()
D. TestClass void fun()
解析:如果在类以外的其他地方定义了一个函数,在类体中用friend对该函数进行声明,此函数就称为本类的友元函数。因为函数为void fun(),根据友元定义补全语句为“friend void fun():”。
8.下面程序的输出结果为( )。
#include
void main()
{int x;
int&y=x;//变量引用
y=99;
cout<<“x=”<<x<<endl:
}(A)
A. x=99
B. x=9
C. x=0
D. 异常
解析:程序中的“inl&y=x;”语句中的“&”引用运算符。&y=x语句叮以理解为y具有x的地址,所以v的值99,x的值也是99.所以答案是x=99。
9.下列选项中不属于结构化程序设计原则的是( )。(A)
A. 可封装
B. 自顶向下
C. 模块化
D. 逐步求精
解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
10.有如下类定义:
class AA{
int a:
public:
AA(int n=0):a(n){}
};
class BB:public AA{
public:
BB(int n)_________
};
其中横线处缺失的部分是( )。
B
解析:本题考查公用继承对基类成员的&访问属性。公用继承中,基类的公用成员和保护成员&在派生类中保持原有访问属性,其私有成员仍为基类&私有,本题中若要给派生类继承下来基类的私有成员&赋值,那么只能调用基类的成员函数来对它赋值,所以&本题答案为B。
11.在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是( )。(B)
A. 逻辑设计
B. 需求分析
C. 详细设计
D. 物理设计
解析:软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。
12.有如下程序:
#include<iostream>
using namespace std;
class VAC{
public:
int f()const{ret
本文档预览:3600字符,共15311字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载