二级C++笔试377_真题无答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级C++笔试377
(总分100, 做题时间90分钟)
一、选择题
下列各题A、B、C、D四个选项中,只有一个选项是正确的。
1.
具有3个结点的二叉树有( )。
SSS_SINGLE_SEL
A 2种形态
B 4种形态
C 7种形态
D 5种形态
2.
下面的描述中,正确的是( )。
SSS_SINGLE_SEL
A virtual可以用来声明虚函数
B 含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类
C 即使基类的构造函数没有参数,派生类也必须建立构造函数
D 静态数据成员可以通过成员初始化列表来初始化
3.
有如下程序: #include <iostream> #include <iomanip
> using namespace std; int
main() { cout.fill('*'); cout.width(6);
cout.fill('#'); cout<<123<<
end1; return 0; } 执行生的输出结果是( )。
SSS_SINGLE_SEL
A ###123
B 123###
C ***123
D 123***
4.
下列关于顺序存储结构叙述中错误的是( )。
SSS_SINGLE_SEL
A 存储密度大
B 逻辑上相邻的结点物理上不必邻
C 可以通过计算直接确定第i个结点的存储地址
D 插入、删除运算操作不方便
5.
有如下函数模板定义:template<class T>T func(T x, T
y){return x*x+y*y;} 在下列对func的调用中,错误的是( )。
SSS_SINGLE_SEL
A func(3,5);
B func(3.0,5.5);
C func(3,5.5)
D func<int>(3,5.5);
6.
下列叙述中正确的是( )。
SSS_SINGLE_SEL
A 一个逻辑数据结构只能有一种存储结构
B 数据的逻辑结构属于线性结构,存储结构属于非线性结构
C 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
7.
关于数据库系统三级模式的说法,下列( )是正确的。
SSS_SINGLE_SEL
A 外模式、概念模式、内模式都只有一个
B 外模式有多个,概念模式和内模式只有一个
C 外模式只有一个,概念模式和内模式有多个
D 3个模式中,只有概念模式才是真正存在的
8.
以下不使用线性结构表示实体之间联系的模型的是( )。
SSS_SINGLE_SEL
A 线性表
B 栈和队列
C 二叉树
D 以上三个都不是
9.
下列关于运算符重载的描述中,正确的是( )。
SSS_SINGLE_SEL
A 运算符重载可以改变运算符的操作数的个数
B 运算符重载可以改变优先级
C 运算符重载可以改变结合性
D 运算符重载不可以改变语法结构
10.
软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。
SSS_SINGLE_SEL
A 模块间的关系
B 系统结构部件转换成软件的过程描述
C 软件层次结构
D 软件开发过程
11.
关于在调用模板函数时模板实参的使用,下列表述正确的是( )。
SSS_SINGLE_SEL
A 对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略
B 对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略
C 对于虚拟类型参数所对应的模板实参,若能够省略则必须省略
D 对于常规参数所对应的模板实参,任何情况下都不能省略
12.
以下四种说法中,正确的一项是( )。
SSS_SINGLE_SEL
A C++允许在字符串上进行整体操作
B 语句:char vn[]="Brown"; 将vn定义成一个有5个元素的数组,因为"Brown"中含有5个字符
C 对指针只要赋给一个地址值就可以了
D 一维的指针数组实际上是一个二维数组
13.
如果类A被说明成类B的友元,则( )。
SSS_SINGLE_SEL
A 类A的成员即类B的成员
B 类B的成员即类A的成员
C 类A的成员函数不得访问类B的成员
D 类A的成员函数可以访问类B的成员
14.
有如下程序#include <iostream>#include <iomanip >using namespace std; int main( ){ cout<<setprecision(3)<<fixed<<setfill('*')<<setw(8); cout<<12.345<<__________<<34.567; return
0; } 若程序的输出
是:**12.345**34.567 则程序中下划线处遗漏的操作符是( )。
SSS_SINGLE_SEL
A setprecision(3)
B fixed
C setfill('*')
D setw(8)
15.
模板是实现类属机制的一种工具,其功能非常强大,它允许用户构造类属类,即( )。
SSS_SINGLE_SEL
A 模板函数
B 函数模板
C 模板类
D 类模板
16.
下列对于虚函数和重载函数的叙述,正确的是( )。
SSS_SINGLE_SEL
A 虚函数要求函数名、返回值类型和参数序列完全相同
B 重载函数要求函数有相同的返回值类型和函数名称,并有不同的参数序列
C 虚函数是根据对象的不同去调用不同类的虚函数
D 虚函数和重载函数都是在运行时表现出多态功能
17.
下面程序的运行结果为( )。
#include<iostream.h>void swap (int &a, int b) { int
temp; temp=a++; a=b; b=temp; } void
main() { int a=2,b=3; swap(a, b); cout<<a<<","<<b<<end1; }
SSS_SINGLE_SEL
A 2,3
B 3,2
C 2,2
D 3,3
18.
下列选项中不属于软件生命周期开发阶段任务的是( )。
SSS_SINGLE_SEL
A 软件测试
B 概要设计
C 软件维护
D 详细设计
19.
有如下定义语句:int a[]={1,2,3,4,5);,则对语句int *p=a;正确的描述是( )。
SSS_SINGLE_SEL
A 语句int *p=a;定义不正确
B 语句int *p=a;初始化变量p,使其指向数组对象a的第一个元素
C 语句int *p=a;是把a[0]的值赋给变量p
D 语句int *p=a;是把a[1]的值赋给变量p
20.
下列字符串中,正确的C++标识符是( )。
SSS_SINGLE_SEL
A foo-1
B 2b
C new
D _256
21.
一个类的友元函数或友元类能够通过成员操作符访问该类的( )。
SSS_SINGLE_SEL
A 私有成员
B 保护成员
C 公有成员
D 公用成员、保护成员和私有成员
22.
( )复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。
SSS_SINGLE_SEL
A 详细设计
B 系统设计
C 正式
D 非正式
23.
以下关键字不能用来声明类的访问权限的是( )。
SSS_SINGLE_SEL
A public
B static
C protected
D private
24.
有如下程序:#include <iostream>using namespace
std; class AA{ int
n; public: AA(int k):n(k) { } int
get(){return n; } int get()const{return
n+1;} } int main() { AA
a(5); const AA b(6); cout<<a.get()<<
b.get(); return 0; } 执行后的输出结果是
( )。
SSS_SINGLE_SEL
A 55
B 57
C 75
D 77
25.
设有以下说明和定义:#include<iostream. h>Void main() { typedef union { long i; int k[5]; char
c; } DATE; struct date {int cat; DATE cow; double dog; }too; DATE max; cout<<(sizeof(struct
date)+sizeof(max))<<end1;}
SSS_SINGLE_SEL
A 26
B 52
C 18
D 8
26.
下列叙述中正确的是( )。
SSS_SINGLE_SEL
A 黑箱(盒)测试方法完全不考虑程序的内部结构和内部特征
B 黑箱(盒)测试方法主要考虑程序的内部结构和内部特征
C 白箱(盒)测试不考虑程序内部的逻辑结构
D 上述三种说法都不对
27.
下列运算符不能重载为友元函数的是( )。
SSS_SINGLE_SEL
A = () [] ->
B + - ++ --
C ><>=<=
D += -= *= /=
28.
在下面叙述中,不正确的是( )。
SSS_SINGLE_SEL
A 一个类的所有对象都有各自的数据成员,它们共享函数成员
B 一个类中可以有多个同名的成员函数
C 一个类中可以有多个构造函数、多个析构函数
D 在一个类中可以声明另一个类的对象作为它的数据成员
29.
在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则( )。
SSS_SINGLE_SEL
A 完全相同
B 完全不同
C 部分相同,部分不同
D 以上都不对
30.
下列关于C++函数的叙述中,正确的是( )。
SSS_SINGLE_SEL
A 每个函数至少要具有一个参数
B 每个函数都必须返回一个值
C 函数在被调用之前必须先声明
D 函数不能自己调用自己
31.
算法具有五个特性,以下选项中不属于算法特性的是( )。
SSS_SINGLE_SEL
A 有穷性
B 简洁性
C 确定性
D 输入输出性
32.
在下列选项中,没有构成死循环的程序是( )。
SSS_SINGLE_SEL
A int
i=100; while(1) { i=i%100+1; if(i >100)break; }
B for(;;);
C int k=1000; do{++k} while (k>=1000);
D int s=36; while(;--s;
33.
下面关于this指针的说法中,不正确的是( )。
SSS_SINGLE_SEL
A 当调用类的成员函数时,指针this被自动传递给该成员函数
B 当调用类的成员函数时,指针this实际上指向了该类的一个对象
C 友元函数也可以被传递指针this
D 在缺省状态下,所有的成员函数都自动传递一个指针给激活它的对象
34.
下列对派生类的表述中,错误的是( )。
SSS_SINGLE_SEL
A 一个派生类可以作为另一个派生类的基类
B 派生类至少有一个基类
C 派生类的缺省继承方式是private
D 派生类只继承了基类的公有成员和保护成员
35.
带有基类的多层派生类构造函数的成员初始化列表中都要排出虚基类的构造函数,这样将对虚基类的子对象初始( )。
SSS_SINGLE_SEL
A 与虚基类下面的派生类个数有关
B 多次
C 二次
D 一次
二、填空题
1.
在数据库的概念结构设计中,常用的描述工具是【1】。
SSS_FILL
2.
数据库系统中实现各种数据管理功能的核心软件称为【2】。
SSS_FILL
3.
数组是有序数据的集合,数组中的每个元素具有相同的【3】。
SSS_FILL
4.
按照逻辑结构分类,数据结构可分为线性结构和非线性结构,栈属
于【4】。
SSS_FILL
5.
在程序设计阶段应该采取【5】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
SSS_FILL
6.
下面程序的输出结果为【6】。
#include <iostream>
using namespace std;
void initialize(int printNo, int state=0);
void initialize(iht printNo= 1,int state);
int main()
{
initialize();
return 0;
}
void initialize(int printNo, int state)
{
cout<<printNo<<","<<state<<end1;
}
SSS_FILL
7.
语句cout<<setiosflags(ios::showpos)<<38<<""<<-38<<end1;的输出结果为【7】。
SSS_FILL
8.
友元类的所有成员函数都是另一个类的【8】函数。
SSS_FILL
9.
虚函数必须是类的【9】。
SSS_FILL
10.
类ostream的成员函数【10】用于执行无格式输出,成员函数put用于输出单个字符。
SSS_FILL
11.
C++本身没有定义I/O操作,但I/O操作包含在C++实现中。
C++标准库iostream提供了基本的I/O类。
I/O操作分别由类istream和【11】提供。
SSS_FILL
12.
阅读下面程序:
#include <iostream.h>
int fun2(int m)
{
if(m%3==0)
return 1;
else
return 0;
}
void fun1(int m, int &s)
{
int i;
for (i=1; i<m; i++)
if(fun2(i))
S=S*i;
}
void main()
{
int n=9, s=2;
fun1(n, s);
cout<<s<<end1;
}
该程序的运行结果是【12】。
SSS_FILL
13.
有如下程序:
#include <iostream>
using namespace std;
class PARENT
{
public:
PARENT() { cout<<"PARENT"; }
};
class SON: public PARENT
{
public:
SON() { cout<<"SON"; }
};
int main()
{
SON son;
PARENT *p;
p=&son;
return 0;
}
执行上面程序的输出是【13】。
SSS_FILL
14.
虚基类说明格式如下:slass派生类名【14】<继承方式><基类名>。
SSS_FILL
15.
下面程序的执行结果是【15】。
#include <iostream.h>
void main()
{
int n=0,x=0;
do
{
n++;
if(n%3==2&&n%5==3&&n%7==2)
x=1;
} while(x!=1);
cout<<"n="<<n<<end1;
}
SSS_FILL
1。