C 自考历年真题小集 下载本文

复使用关键字______。

31.C++类的构造函数名与______名称一样,且没有返回值。

32.C++规定,当一个成员函数被调用时,系统自动向它传递一个隐含的参数,该参数是一个指向调用该函数的对象的指针,该指针被称为______指针。

33.声明一个常成员函数Fun,其返回类型为char,第一个参数类型为int,第二个参数类型为double,函数Fun的声明原型是______。

34.C++语言中的“聚合”隐含了两种实现方式,一种是______,另一种是用一个类的对象作为一种广义的数据类型来定义整体对象的一个属性。

35.简单成员函数是指声明中不含const、______和static关键字的函数。

36.在派生类中继承的基类成员的初始化,需要由派生类的构造函数调用基类的______来完成。

37.在C++中,利用向量类模板定义一个具有20个int的向量,其所有元素被置为1,实现此操作的语句是______。

38.vector类中用于获取无需再次分配内存就能容纳的对象个数的方法是______。 39.动态联编是程序运行到需要的语句处才动态确定的,这称为______多态性。 40.C++重载“=”运算符的函数名是______。

三、改错题(本大题共5小题,每小题4分,共20分)

下面的每题中有一处错误,请用下横线标出错误所在行并给出修改意见 41.#include

#define PI 3.14; void main() {

double i; int r;

cout<<″输入圆形半径:″; cin>>r;

i=2 * PI * r;

cout<<″圆形周长=″

private: int x,y; public:

A(int a=0,b=1); void Show(); }; A::A(int a,int b) { x=a; y=b; }

void A::Show() {

cout<<″x=″

unsigned char var; public:

A(unsigned char x){ var=x: }

void print(){ cout<<″var=″<} };

void main() {

A a(″x″) ; a. print (); }

44. #include < iostream. h> class Class {

public:

void print(int a,int b) {

cout< < ″int:″ < < a < < endl; cout < < ″int:″ < < b < < endl; }

void print(char * a,char * b) {

cout< < ″string:″ < < a < < endl; cout < <″ string:″ < < b < < endl; }

void print(char * a,unsigned int b){ cout < < ″string:″ < < a < < endl; cout < < ″int:″ < < b < < endl; } };

void main() {

Class cls;

cls. print(10,20); cls. print(′c′,1); cls. print(′x′,′y′); cls. print(″Hello!″,0); }

45. #include < iostream. h > class Class {

private: int val; public:

void func( int a) {

val = a; } };

void main() {

Class * cls ;

cls - > func(10) ; }

四、完成程序题(本大题共5小题,每题4分,共20分)

46.将下面程序补充完整,使程序计算100以内所有可被7整除的自然数之和。 #include void main() {

int x=1; int sum=0; while(true) {

if(x>100){ ______; }

if(______){ sum=sum+x; } x++; }

cout<}

47.将下面程序补充完整,使程序执行结果为9。 #include class Class{ public: ______{ x=a; }

______{

return x * x;

}

private: int x; };

void main() {

Class a(3); cout<}

48.将下面程序补充完整,使程序正确的初始化私有变量var及释放资源。 class Class {

private: int * var; public:

Class(int num); ~Class(); }; Class::Class(int num) {

_______; }

Class::~Class() {

_______; }

49.将下面程序补充完整,使程序的输出结果为: ClassA::Print ClassB::Print 程序如下: #include class Base {

public:

virtual void Print() const { cout<<″Base::Print″<} };

class ClassA:public Base {

public:

void Print()const{cout<<″ClassA::Print″<}; class ClassB:public Base {

public:

void Print()const{cout<<″ClassB::Print″<};