国家二级C++机试(选择题)模拟试卷463
选择题
1.算法的有穷性是指( )。(A)
A. 算法程序的运行时间是有限的
B. 算法程序所处理的数据量是有限的
C. 算法程序的长度是有限的
D. 算法只能被有限的用户使用
解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。
2.下列描述中正确的是( )。(D)
A. 一个逻辑数据结构只能有一种存储结构
B. 数据的逻辑结构属于线性结构,存储结构属于非线性结构
C. 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
解析:数据的逻辑结构是指数据集合中各数据元素之间所固有的逻辑关系;数据的存储结构是在对数据进行处理时,各数据元素在计算机中的存储关系。数据的存储结构是指数据的逻辑结构在计算机中的表示,一种逻辑结构可以表示成多种存储结构;而采用不同的存储结构,其数据处理的效率是不同的。
3.下列关于二叉树的叙述中,正确的是(B)
A. 叶子结点总是比度为2的结点少一个
B. 叶子结点总是比度为2的结点多一个
C. 叶子结点数是度为2的结点数的两倍
D. 度为2的结点数是度为1的结点数的两倍
解析:由二叉树的性质可以知道在二叉树中叶子结点总是比度为2的结点多一个。
4.已知有数组定义
char a[3][4];
下列表达式中错误的是( )。(A)
A. a[2]=\\
B. strcpy(a[2],\\
C. a[2][3]=’W’
D. a[0][1]=a[0][1]
解析:本题主要是对字符数组的考查。选项A中a[2]为一个地址,所以不能用等号进行赋值操作。
5.下列语句中,错误的是( )。(D)
A. const int buffer=256;
B. const double*point;
C. int const buffer=256;
D. double木const point;
解析:此题考查的足常指针和指针常量的概念。常指针是指向一个常量的指针变量,指针自身的内容可以改变但指针指向的内容不可以改变;指针常量是一个常量,即不能修改指针自身的内存,但可以通过指针修改其所指向的内容。D选项中指针常量point没有初始化,编译无法通过。
6.下列函数原型声明中,错误的是( )。(C)
A. int function(int m,int n);
B. int function(int,int);
C. int function(int m=3,int n);
D. int function(int&m,int&n);
解析:在C++中,函数在使用之前要预先声明。这种声明在标准C++中称为函数原型,函数原型给出了函数名、返回类型以及在调用函数时必须提供的参数个数和类型。其语法为:();使用函数原型说明有两种形式:①直接使用函数定义的头部,并在后面加上一个分号:②在函数原型说明中省略参数列表中的形参变量名,仅给出函数名、函数类型、参数个数及次序。在选项C)中,给出了形参变量m的初值。
7.在软件设计中,不属于过程设计工具的是( )。(D)
A. PDL(过程设计语言)
B. PAD图
C. N一S图
D. DFD图
解析:DFD(数据流图Data一Flow一Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。它直接支持系统功能建模。在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。常见的过程设计工具有: 图形工具:程序流程图,N一S,PAD,HIPO。 表格工具:判定表。 语言工具:PDL(伪码)。
8.要定义一个引用变量P,使之引用类MyClass的一个对象,正确的定义语句是( )。(D)
A. MyClass p=MyClass;
B. MyClass p=new MyClass;
C. MyClass&p=new MyClass;
D. MyClass a,&p=a;
解析:在选项D)中,定义了MyClass类的一个对象a和引用变量p,并且声明p初始化为对a的引用。
9.有如下程序:
#include
using namespace std;
class Base{
public:
Base(int x=0){cout<<x;)
};
class Derived:public Base{
public:
Derived(int x=0){cout<<x;)
private:
Base val;
);
int main(){
Derived d(1);
return 0:
}
程序的输出结果是( )。(D)
A. 0
B. 1
C. 01
D. 001
解析:此题考查的是类的构造。建立类的对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右).>执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序.>执行自身的构造函数。本题中,首先会构造基类Base,调用Base类的构造函数,输出0;然后还定义了一个Base类的对象,再次调用Base类的默认构造函数输出0;最后构造自身,因主函数中传入了构造参数l,所以输出1。故最后输出结果是:001。
10.为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。(A)
A. 内联函数
B. 重载函数
C. 递归函数
D. 函数模板
解析:一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,一般只将规模很小而使用频繁的函数声明为内联函数,可以避免函数调用时间开销,从而提高运行速度。
11.在下列字符中,不允许作为C++标识符的是( )。(D)
A. b
B. B
C. _
D. 2
解析:C++的标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。
12.数据库。DB、数据库系统DBS、数据库管理系统DBMS之间的关系是(C)
A. DB包含.DBS和DBMS
B. DBMS包含DB和DBS
C. DBS包含DB和DBMS
D. 没有任何关系
解析:数据库系统(Database System简称DBS)由下列几个部分组成:数据库(DB)、数据库管理系统(DBMS)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。这五个部分构成了一个以数据库为核心的完整的运行实体,称为数据库系统。其中DB(I)ataBase)即数据库,是统一管理的相关数据的集合;DBMS(Database Manag
本文档预览:3600字符,共6263字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载