国家二级C++机试(选择题)模拟试卷397
选择题
1.下列关于栈的叙述正确的是( )。(B)
A. 栈按“先进先出”组织数据
B. 栈按“先进后出”组织数据
C. 只能在栈底插入数据
D. 不能删除数据
解析:栈是限定在一端进行插入和删除的线性表,允许进行插入和删除元素的一端称为栈顶,另一端称为栈底。栈是按照“先进后出”的原则组织数据的。
2.关键字unsigned不能修饰的类型是( )。(C)
A. char
B. int
C. float
D. long int
解析:实型常量指的是float和double两种数据类型,而signed和unsigned只对整型数起作用,用于确定它们的数据范围(例如16位系统中,一个signedint是-32768~32767,而unsigned int是0~65535)。unsigned对浮点数是无意义的。
3.有如下程序
(A)
A. ***
B. ###
C. ***###
D. 无输出
解析:本题的考点是双分支选择语句的执行流程,答题的关键点在于选择条件的判定。双分支选择语句的执行流程是首先计算if后表达式的值,如果表达式的值为非零,则执行if后面的分支,否则执行与其匹配的else后面的分支。本题执行时虽然输入变量a的值为‘+’,但是在执行if后括号内表达式(a=’*’)的时,由于此表达式为赋值表达式,因此表达式的值为赋值号右边的值’*’,其ASCII码的值非零,执行if后面的输出语句“***”后回车。
4.下列叙述中正确的是( )。(B)
A. 有一个以上根结点的数据结构不一定是非线性结构
B. 只有一个根结点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:在数据结构中,树这类的的数据结构只有一个根结点,但它不是线性结构。
5.一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为(B)
A. 219
B. 229
C. 230
D. 231
解析:根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个,故总结点数=叶子节点数+度为2的节点数+度为1的节点数=80+79+70=229。
6.有如下程序:
#include
usiIlg namespace std;
class Pair{
int m,n;
public:
Pair(int j,int k):m(j),n(k){}
int get(){retUHl m;}
int get()eonst{retUrn In+n;}
};
int main(){
Pair a(3,5).;
const Pair b(3,5);
cout<<a.get()<<b.get();
return 0;
}
执行这个程序的输出结果是( )。(B)
A. 33
B. 38
C. 83
D. 88
解析:本题考查常对象、常成员函数及构造函数。常对象只能调用常成员函数,所以本题中,对象a为普通对象,执行a.get()后,会执行默认构造函数,输出3;对象b为常对象,执行b.get()后,会执行常构造函数,输出8。
7.数据字典(DD)所定义的对象都包含于( )。(A)
A. 数据流图(DFD图)
B. 程序流程图
C. 软件结构图
D. 方框图
解析:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
8.有如下程序:
#include
using namespace std;
class Book{
public:
Book(char*t=“”){strcpy(title,t);}
private:
char title[40];
};
class Novel:public Book{
public:
Novel(char*t=“”):Book(t){}
char *Category()const{return“文学”;}
};
int main(){
Book*pb;
pb=new Novel();
cout<Category();
delete pb;
return 0;
}
若程序运行时输出结果是“文学”,则横线处缺失的语句是( )。(D)
A. char*Category( );
B. char*Category( )const;
C. virtual char*Category( )const;
D. virtual char*Category( )eonst=0;
解析:本题考查纯虚函数和抽象类,纯虚函数是在声明虚函数时被“初始化”为0的函数,包含纯虚函数的类为抽象类,抽象类是不能被实例化的,但是可以定义指向抽象类数据的指针变量,当派生类成为具体类后,就可以用这种指针指向派生类的对象,然后通过该指针调用虚函数,实现多态性的操作。所以本题答案为D。
9.在下列double型常量表示中,错误的是( )。(A)
A. E15
B. 35
C. 3E5
D. 3E-5
解析:在C++中,科学计数法表示小数的方法:E(e)左右必须有数,且E(e)的右侧只能为整数。
10.下列对重载函数的描述中,( )是错误的。(A)
A. 重载函数中不允许使用默认参数
B. 重载函数中编译是根据参数表进行选择
C. 不要使用重载函数来描述毫不相干的函数
D. 构造函数重载将会给初始化带来多种方式
解析:选项A中,重载函数中是允许使用默认参数的;为了使重载函数有意义,不要使用重载函数来描述毫无相干的函数;重载函数中编译是根据参数表进行选择,包括参数的个数和类型。
11.数据库系统的三级模式不包括( )。(D)
A. 概念模式
B. 内模式
C. 外模式
D. 数据模式
解析:数据库系统的三级模式包括概念模式、外模式和内模式(物理模式)。
12.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(B)
A. 外模式
B. 内模式
C. 概念模式
D. 逻辑模式
解析:数据库有三层模式结构,逻辑模式是数据的全局逻辑结构的描述,外模式也称为子模式,是局部数据的逻辑结构描述,而内模式也称为存储模式,是数据库物理存储结构和存取方法的描述。
13.下面描述中不属于数据库系统特点的是( )。(C)
A. 数据共
本文档预览:3600字符,共11819字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载