计算机类 二级 C++
全国计算机等级考试 二级C++ 笔试模拟试题(十一) 49 题 含答案 C++
1 单选题 1 / 49
栈和队列的共同特点是
A 都是先进先出 B 都是先进后出 C 只允许在端点处插入和删除元素 D 没有共同点
查看答案 C. 只允许在端点处插入和删除元素
2 单选题 2 / 49
已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是
A acbed B decab C deabc D cedba
查看答案 D. cedba
3 单选题 3 / 49
链表不具有的特点是
A 不必事先估计存储空间 B 可随机访问任一元素 C 插入删除不需要移动元素 D 所需空间与线性表长度成正比
查看答案 B. 可随机访问任一元素
4 单选题 4 / 49
结构化程序设计的3种结构是
A 顺序结构、选择结构、转移结构 B 分支结构、等价结构、循环结构 C 多分支结构、赋值结构、等价结构 D 顺序结构、选择结构、循环结构
查看答案 D. 顺序结构、选择结构、循环结构
5 单选题 5 / 49
为了提高测试的效率,应该
A 随机选取测试数据 B 取一切可能的输入数据作为测试数据 C 在完成编码以后制定软件的测试计划 D 集中对付那些错误群集的程序
查看答案 D. 集中对付那些错误群集的程序
6 单选题 6 / 49
算法的时间复杂度是指
A 执行算法程序所需要的时间 B 算法程序的长度 C 算法执行过程中所需要的基本运算次数 D 算法程序中的指令条数
查看答案 C. 算法执行过程中所需要的基本运算次数
7 单选题 7 / 49
软件生命周期中所花费用最多的阶段是
A 详细设计 B 软件编码 C 软件测试 D 软件维护
查看答案 D. 软件维护
8 单选题 8 / 49
数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为
A C B Basic C DDL D DML
查看答案 C. DDL
9 单选题 9 / 49
下列有关数据库的描述,正确的是
A 数据库是一个DBF文件 B 数据库是一个关系 C 数据库是一个结构化的数据集合 D 数据库是一组文件
查看答案 C. 数据库是一个结构化的数据集合
10 单选题 10 / 49
下列有关数据库的描述,正确的是
A 数据处理是将信息转化为数据的过程 B 数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 C 关系中的每一列称为元组,一个元组就是一个字段 D 如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字
查看答案 D. 如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字
11 单选题 11 / 49
C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是
A 增加了一些新的运算符 B 允许函数重载,并允许设置缺省参数 C 规定函数说明符必须用原型 D 引进了类和对象的概念
查看答案 D. 引进了类和对象的概念
12 单选题 12 / 49
下列哪个是C++语言的有效标识符?
A _No1 B No.1 C 12345 D int
查看答案 A. _No1
13 单选题 13 / 49
设有定义int x;float y;,则10+x+y值的数据类型是
A int B double C float D 不确定
查看答案 C. float
14 单选题 14 / 49
下列程序的执行结果为 #include<iostream.h> void main() { int a=3,b=0; int *p=&a; b=+a++; cout<<*p<<","<<b<<endl; }
A 3,4 B 4,3 C 3,3 D 4,4
查看答案 B. 4,3
15 单选题 15 / 49
下面程序的运行结果为 #include<iostream.h> void main() { for(int a=0,x=0;!x&&a<=10;a++) { a++; } cout<<a<<endl; }
A 10 B 11 C 12 D 0
查看答案 C. 12
16 单选题 16 / 49
下列选项,不正确的是
A for(int a=1;a<=10;a++); B int a=1; do { a++; } while(a<=10) C int a=1; while(a<=10) { a++; } D for(int a=1;a<=10;a++)a++;
查看答案 B. int a=1; do { a++; } while(a<=10)
17 单选题 17 / 49
下面关于数组的初始化正确的是
A char str[]={′a′,′b′,′c′} B char str[2]={′a′,′b′,′c′} C char str[2][3]={{′a′,′b′},{′c′,′d′},{′e′,′f′}} D char str()={′a′,′b′,′c′}
查看答案 A. char str[]={′a′,′b′,′c′}
18 单选题 18 / 49
下列程序的输出结果为 #include<iostream.h> void main() { char *a[]={"hello","the","world"}; char **pa=a; pa++; cout<<*pa<<endl; }
A hello B the C world D hellotheworld
查看答案 B. the
19 单选题 19 / 49
决定C++语言中函数的返回值类型的是
A return语句中的表达式类型 B 调用该函数时系统随机产生的类型 C 调用该函数时的主调用函数类型 D 在定义该函数时所指定的数据类型
查看答案 D. 在定义该函数时所指定的数据类型
20 单选题 20 / 49
下列程序的输出结果是 #include<iostream.h> int min(int a,int b) { if (a<b)return a; else return b; return 0; } void main() { cout<<min(1,min(2,3))<<endl; }
A 0 B 1 C 2 D 3
查看答案 B. 1
21 单选题 21 / 49
下列程序的运行结果为 #include <iostream.h> void print(double a) { cout<<++a; } void print(int a,int b) { cout<<b<<a; } void main() { print(1.2); cout<<" "; print(3,4); }
A 1.234 B 2.234 C 1.243 D 2.243
查看答案 D. 2.243
22 单选题 22 / 49
对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是
A 公有类型 B 私有类型 C 保护类型 D 友元类型
查看答案 D. 友元类型
23 单选题 23 / 49
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是
A 友元函数 B 虚函数 C 构造函数 D 析构函数
查看答案 C. 构造函数
24 单选题 24 / 49
类的析构函数的作用是
A 一般成员函数的初始化 B 类的初始化 C 对象的初始化 D 删除类创建的对象
查看答案 D. 删除类创建的对象
25 单选题 25 / 49
下列说法正确的是
A 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方 B 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C 类的内联函数必须在类体内定义 D 类的内联函数必须在类体外通过加关键字inline定义
查看答案 B. 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
26 单选题 26 / 49
下面对静态数据成员的描述中,正确的是
A 静态数据成员可以在类体内进行初始化 B 静态数据成员不可以被类的对象调用 C 静态数据成员不能受private控制符的作用 D 静态数据成员可以直接用类名调用
查看答案 D. 静态数据成员可以直接用类名调用
27 单选题 27 / 49
下面对于友元函数描述正确的是
A 友元函数的实现必须在类的内部定义 B 友元函数是类的成员函数 C 友元函数破坏了类的封装性和隐藏性 D 友元函数不能访问类的私有成员
查看答案 C. 友元函数破坏了类的封装性和隐藏性
28 单选题 28 / 49
在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是
A 派生类的对象可以赋给基类的对象 B 派生类的对象可以初始化基类的引用 C 派生类的对象可以直接访问基类中的成员 D 派生类的对象的地址可以赋给指向基类的指针
查看答案 C. 派生类的对象可以直接访问基类中的成员
29 单选题 29 / 49
下面程序的运行结果为 #include<iostream.h> class A { public: A(){cout<<"1";} ~A(){cout<<"2";} }; class B:public A { public: B(){cout<<"3";} ~B(){cout<<"4";} }; void main() { B b; }
A 1234 B 1324 C 1342 D 3142
查看答案 C. 1342
30 单选题 30 / 49
下列关于虚基类的描述,错误的是
A 设置虚基类的目的是为了消除二义性 B 虚基类的构造函数在非虚基类之后调用 C 若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用 D 若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
查看答案 B. 虚基类的构造函数在非虚基类之后调用
31 单选题 31 / 49
下列关于多态性的描述,错误的是
A C++语言中的多态性分为编译时的多态性和运行时的多态性 B 编译时的多态性可通过函数重载实现 C 运行时的多态性可通过模板和虚函数实现 D 实现运行时多态性的机制称为动态绑定
查看答案 C. 运行时的多态性可通过模板和虚函数实现
32 单选题 32 / 49
下列运算符中,在C++语言中不能重载的是
A * B >= C :: D /
查看答案 C. ::
33 单选题 33 / 49
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
A ios::in B ios::out C ios::in | ios::out D 以上都不对
查看答案 D. 以上都不对
34 单选题 34 / 49
下列程序的运行结果是 #include<iostream.h> class A { int a; public: A(){a=0;} A(int aa) { a=aa; cout<<a++; } }; void main() { A x,y (2),z (3); cout<<endl; }
A 00 B 23 C 34 D 25
查看答案 B. 23
35 单选题 35 / 49
下面程序的输出结果是 #include<iostream.h> class example { int a; public: example(int b){a=b++;} void print(){a=a+1; cout<<a<<" ";} void print()const{cout <<a<<" ";} }; void main() { example x (3); const example y (2); x.print(); y.print(); }
A 2 2 B 4 3 C 4 2 D 3 2
查看答案 C. 4 2
36 填空题 36 / 49
算法的基本特征是可行性、确定性、__ 和拥有足够的情报。
查看答案 有穷性
37 填空题 37 / 49
在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 __ 。
查看答案 log2n
38 填空题 38 / 49
在面向对象的程序设计中,类描述的是具有相似性质的一组__ 。
查看答案 对象
39 填空题 39 / 49
通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为__ 。
查看答案 软件生命周期
40 填空题 40 / 49
数据库管理系统常见的数据模型有层次模型、网状模型和__ 3种。
查看答案 关系模型
41 填空题 41 / 49
在C++语言的结构化程序设计中,__ 是程序的基本组成单元;在C++语言的面向对象设计框架中,__ 是程序的基本组成单元。
查看答案 42 填空题 42 / 49
假设int a=1,b=2;,则表达式(++a/b)*b--的值为__ 。
查看答案 2
43 填空题 43 / 49
C++语言提供的基本控制结构可以分为3种类型:顺序结构、__ 和循环结构。
查看答案 选择结构
44 填空题 44 / 49
C++语句const char *const p="hello";,所定义的指针p和它所指的内容都不能被 __ 。
查看答案 改变
45 填空题 45 / 49
C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取__ 方式。
查看答案 传地址
46 填空题 46 / 49
对于下面定义的类MyClass,请在函数f()中添加对象成员把n的值修改为50。 class MyClass { public: MyClass(int x){n = x;} void SetNum(int nl){n = nl;} private: int n; }; int f() { MyC1ass *ptr = new MyClass(45);__ }
查看答案 ptr->SetNum(50);
47 填空题 47 / 49
继承的方式有公有继承、私有继承和__ 3种。
查看答案 保护继承
48 填空题 48 / 49
表达式operator+(x,y)还可以表示为__ 。
查看答案 x+y
49 填空题 49 / 49
类模板的使用实际上是将类模板实例化成一个具体的__ 。
查看答案 类