计算机类二级C++

2008年9月计算机等级考试二级C++笔试试题

50 题含答案C++
共 50 题返回本类
1单选题1 / 50
一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是(    )。
查看答案
B. EDCBA54321
2单选题2 / 50
下列叙述中正确的是(    )。
查看答案
D. 循环队列中元素的个数是由队头指针和队尾指针共同决定
3单选题3 / 50
在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是(    )。
查看答案
C. O(log2n)
4单选题4 / 50
下列叙述中正确的是(    )。
查看答案
A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
5单选题5 / 50
数据流图中带有箭头的线段表示的是(    )。
查看答案
D. 数据流
6单选题6 / 50
在软件开发中,需求分析阶段可以使用的工具是(    )。
查看答案
B. DFD 图
7单选题7 / 50
在面向对象方法中,不属于“对象”基本特点的是(    )。
查看答案
A. 一致性
8单选题8 / 50
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(    )。
查看答案
B. 一对多
9单选题9 / 50
在数据管理技术发展的三个阶段中,数据共享最好的是(    )。
查看答案
C. 数据库系统阶段
10单选题10 / 50
有三个关系 R、S 和 T 如下:
 
R  S  T  
AB BC ABC
m1 13 m13
n2 35    

由关系 R 和 S 通过运算得到关系 T,则所使用的运算为()。
查看答案
D. 自然连接
11单选题11 / 50
在下列原型所示的 C++函数中,按“传值”方式传递参数的是(    )。
查看答案
A. void f1(int x);
12单选题12 / 50
在 C++中,编译系统自动为一个类生成缺省构造函数的条件是(    )。
查看答案
A. 该类没有定义任何有参构造函数
13单选题13 / 50
在一个派生类的成员函数中,试图调用其基类的成员函数“void f(    );”,但无法通过编译。这说明(    )。
查看答案
C. 派生类的继承方式为私有
14单选题14 / 50
下列关于运算符重载的叙述中,错误的是(    )。
查看答案
B. 所有的运算符都可以通过重载而被赋予新的含义
15单选题15 / 50
下列关于模板的叙述中,错误的是(    )。
查看答案
D. 模板的形参表中可以有多个参数
16单选题16 / 50
要利用 C++流进行文件操作,必须在程序中包含的头文件是(    )。
查看答案
B. fstream
18单选题18 / 50
下列语句中错误的是(    )。
查看答案
D. const int*point=new int(10);
19单选题19 / 50
有如下程序:
#include<iostream>
using namespace std;
int main(){
int sum;
for(int i=0; i<6; i+=3){
sum=i;
for(int j = i; j<6; j++)sum+=j;
}
cout<<sum<<end1;
return 0;
}
运行时的输出结果是(    )。
查看答案
A. 3
20单选题20 / 50
下列语句中,正确的是(    )。
查看答案
D. char myString[12]="Hello-World!";
21单选题21 / 50
若已经声明了函数原型“void fun(int a, double b=0.0);”,则下列重载函数声明中正确的是(    )。
查看答案
C. void fun(double a, int B);
22单选题22 / 50
有如下程序:
#include<iostream>
using namespace std;
class Sample{
public:
Sample(){}
~Sample(){cout<<'*';}
};
int main(){
Sample temp[2], *pTemp[2];
return 0;
}
执行这个程序输出星号(*)的个数为(    )。
查看答案
C. 3
23单选题23 / 50
下列选项中,与实现运行时多态性无关的是(    )。
查看答案
A. 重载函数
24单选题24 / 50
下列运算符函数中,肯定不属于类 Value 的成员函数的是(    )。
查看答案
D. Value operator/(Value);
25单选题25 / 50
下列模板声明中,有语法错误的是(    )。
查看答案
C. template<class T>T fun(T *p){return *p;}
27单选题27 / 50
有如下程序:
#include<iostream>
using namespace std;
class MyClass{
public:
MyClass(int i=0){cout<<1;}
MyClass(const MyClass&x){cout<<2;}
查看答案
C. 121444
28单选题28 / 50
有如下程序:
#include<iostream>
using namespace std;
class MyClass{
public:
MyClass(int x):val(x){}
void Set(int x){val=x;}
void Print()const{cout<<"val="<<val<<'\t';}
private:
int val;
};
int main(){
const MyClass obj1(10);
MyClass obj2(20);
obj1.Print(); //语句 1
obj2.Print(); //语句 2
obj1.Set(20); //语句 3
obj2.Set(30); //语句 4
return 0;
}
其主函数中错误的语句是(    )。
查看答案
B. 语句 2
29单选题29 / 50
在类声明中,紧跟在“public:”后声明的成员的访问权限是(    )。
查看答案
A. 私有
30单选题30 / 50
对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是(    )。
查看答案
D. 公有或保护
31单选题31 / 50
定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为(    )。
查看答案
A. 私有继承
32单选题32 / 50
建立一个有成员对象的派生类对象时,各构造函数体的执行次序为(    )。
查看答案
C. 基类、成员对象类、派生类
33单选题33 / 50
如果表达式 a>=b 中的“>=”是作为非成员函数重载的运算符,则可以等效地表示为
( )。
查看答案
A. a.operator>=(b)
34单选题34 / 50
当使用 ofstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。
查看答案
B. ios_base::binary
35单选题35 / 50
在一个抽象类中,一定包含有(    )。
查看答案
C. 模板函数
38填空题38 / 50
软件工程三要素包括方法、工具和过程,其中,__支持软件开发的各个环节
的控制和管理。
查看答案
过程
42填空题42 / 50
已知数组 a 中有 n 个元素,下列语句将数组 a 中从下标 xl 开始的 k 个元素移动到从下标 x2 开始的 k 个元素中,其中 0<=xl<x2<n,x2+k<n,请将下列语句补充完整。
For (int i = xl+k-1; i>=xl; i--)
a[__]=a[i];
查看答案
设计
43填空题43 / 50
有如下程序:
#include<iostream>
using namespace std;
int fun1(int x) {return++x;}
int fun2(int &x) {return++x;}
int main(){
int x=1,y=2;
y=fun 1(fun2(x));
cout<<x<<','<<y;
return 0:
}
程序的输出结果是__。
查看答案
选择结构(或条件结构)
44填空题44 / 50
有如下程序:
#include<iostream>
using namespace std;
class pumpkin{
public:
pumpkin(){++count;}
~pumpkin(){--count;}
static void total_count(){
cout<<count<<"pumpkin(s)"<<end1;
}
private:
static int count;
};
int pumpkin::count=0;
int main(){
pumpkin pl[10];
pumpkin::total_count();
return 0;
}
这个程序的输出结果是__。
查看答案
RunSQL
45填空题45 / 50
有如下递归函数:
int Fun(int n){
if(n<=1) return 1;
__
}
请补充完整,使得函数 Fun 能够正确计算形参 n 的阶乘。
查看答案
动态
46填空题46 / 50
请在下列程序中的空格处填写正确的语句:
class Sample{
public:
Sample(){}
~Sample(){}
void SetData(int data) { //将 Sample 类成员变量 data 设置成形参的值
__
}
private: int data;
};
查看答案
64
47填空题47 / 50
有如下类定义,请将Sample类的拷贝构造函数补充完整。
class Sample{
public:
Sample(){)
~Sample() {if(p) delete p;)
Sample (const Sample& s){
__
}
void SetData(int data) {p=new int(data);}
private:
int*p;
};
查看答案
num
49填空题49 / 50
有如下程序:
#include<iostream>
using namespace std;
class Wages{ //“工资”类
double base; //基本工资
double bonus; //奖金
double tax; //税金
public:
Wages(double CBase, double CBonus, double CTax):
base(CBase), bonus(CBonus), tax(CTax){}
double getPay()const; //返回应付工资额
Wages operator+(Wages w)const; //重载加法
};
double Wages::getPay()const{return base+bonus-tax;}
Wages Wages::operator+(Wages w)const{
return Wages(base+w.base, bonus+w.bonus, tax+w.tax);
}
int main(){
Wages wl(2000,500,100),w2(5000,1000,300);
cout<<(wl+w2).getPay0<<end1;
retun 0;
}
程序的输出结果是__
查看答案
rs.eof
50填空题50 / 50
有如下程序:
#include<iostream>
using namespace std;
class Pet{
char name[10];
public:
Pet(char*name){strcpy(this->name, name);}
const char*getName()const {return name;}
virtual void call()const=0;
};
class Dog: public Pet{
public:
Dog(char*name):Pet(name){}
void call()const{cout<<"汪汪叫";}
};
class Cat:public Pet{
public:
Cat(char*name):Pet(name){}
void call()const{cout<<"喵喵叫";}
};
int main(){
Pet*pet1=new Dog("哈克"), *pet2=new Cat("吉米");
cout<<pet1->getName();pet1->call(); cout<<end1;
cout<<pet2->getName();pet2->call(); cout<<end1;
return 0;
}
程序的输出结果是__
查看答案
fd
← 上一卷下一卷 →