国家二级(C++)机试模拟试卷329
选择题
1.程序流程图中带有箭头的线段表示的是( )。(C)
A. 图元关系
B. 数据流
C. 控制流
D. 调用关系
解析:在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。
2.下列关于栈的叙述正确的是( )。(B)
A. 栈按“先进先出”组织数据
B. 栈按“先进后出”组织数据
C. 只能在栈底插人数据
D. 不能删除数据
解析:栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。
3.有三个关系R、S和T如下:
(D)
A. 并
B. 自然连接
C. 笛卡尔积
D. 交
解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C错误。根据关系T可以很明显地看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D。
4.有如下程序:
int x=3;
do{
x-=2:
cout<<X;
}while(!(–x));
执行这个程序的输出结果是( )。(C)
A. 1
B. 3 0
C. 1-2
D. 死循环
解析:本题考查do…while语句,执行do…while语句时,先执行循环体内的语句,然后判断while中表达式的值,表达式为非零时,返回重新执行循环体语句。在本题中,先执行循环体内的语句,输出1,然后判断表达式,为非零,且此时x为0;再次执行循环体时,输出-2,然后判断表达式为0,不执行,退出,所以答案为C。
5.下列关于虚函数的说明中,正确的是( )。(B)
A. 从虚基类继承的函数都是虚函数
B. 虚函数不得是静态成员函数
C. 只能通过指针或引用调用虚函数
D. 抽象类中的成员函数都是虚函数
解析:在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public。如果一个类包含了纯虚函数,称此类为抽象类。所以本题答案为B。
6.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(A)
A. 冒泡排序为n(n-1)/2
B. 简单插入排序为n
C. 希尔排序为n
D. 快速排序为n/2
解析:在最坏情况下,冒泡排序所需要的比较次数为n(n-1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为O(n1.5);堆排序所需要的比较次数为O(nlog2n)。
7.若有如下程序:
#include
using namespace std;
int s=0:
class sample
{
static int n;
public:
sample(int i)
{n=i;}
static void add()
{s+=n;}
};
int sample::n=0:
int main()
{sample a(2),b(5);
sample::add();
cout<<s<<endl;
return 0:
}
程序运行后的输出结果是( )。(B)
A. 2
B. 5
C. 7
D. 3
解析:执行语句“sample a(2),b(5)”;的结果是使n的值最终变为5,sample::add()语句调用函数static void add(),使得s=s+n=5。
8.在每个C++程序中必须有且仅有一个( )。(B)
A. 函数
B. 主函数
C. 预处理指令
D. 语句
解析:在每一个C++程序中必须有且只有一个主函数,每个程序的执行都是从主函数的开始。
9.以下程序运行后的输出结果是( )。
#include
void main()
{char a[]=\\(D)
A. 2,6
B. 3,5
C. 4,7
D. 3,6
解析:程序中首先定义字符数组a,然后在while循环中统计字符a和b的个数。其中j记录a的个数,k记录b的个数。,第一个if语句是当第i个字符为a时,i加1;第二个if语句是当第i个字符为b时,k加1。
10.设有如下关系表:
(C)
A. T=R/S
B. T=R×S
C. T=R∩S
D. T=R∪S
解析:T就是关系R中有的,同时S中也有的有序组(4、5、6),即交运算(n)。
11.有三个关系R、S和T如下:
(B)
A. 自然连接
B. 差
C. 交
D. 并
解析:关系T中的元组是R关系中有而s关系中没有的元组的集合,所以进行的是差的运算。
12.某系统总体结构图如下图所示:
(C)
A. 7
B. 6
C. 3
D. 2
解析:根据总体结构图可以看出该树的深度为3,比如:XY系统一功能2一功能2.1,就是最深的度数的一个表现。
13.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。(A)
A. auto和register
B. extern和register
C. autO和static
D. static和register
解析:动态变量(auto)存储在内在中的动态存储区,只在程序运行中,系统才临时给变量分配内存单元;全局变量(extern)一经定义,系统为其分配固定的内存单元;静态变量(static),编译系统为其分配固定的存储空间;寄存器变量(register)不
本文档预览:3600字符,共16696字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载