- 5
- 0
- 约3.5千字
- 约 4页
- 2022-09-24 发布于上海
- 举报
《C++程序设计》课程考试试卷
学年第 学期 各班级
时量:100分钟 总分:100分,考试形式:闭卷
一、填空题(每题2分,共20分)
1.C++源程序的扩展名是 .
2.类中使用关键字static说明的成员称为 成员.
3.具有相同函数名但具有不同实现的函数称为 函数.
4.构造函数是一个函数名称与 相同的特殊的成员函数.
5.静态成员是属于 的,被该类的所有对象共有,它除了可以通过对象名来引用外,还可以使用类名限定来引用.
6.类默认的拷贝构造函数的参数只有一个,该拷贝构造函数的参数是 .
7.定义一个类B的对象b1,并给它赋值,其实参值为5,该语句为 .
8.类的析构函数有 个参数.
9.在保护继承方式下,基类的public成员成为派生类的 成员.
10.运算符重载是通过函数来实现的,定义运算符重载函数要使用关键字 .
二、判断题(每题2分,共20分)
1.C++是一门面向对象的程序设计语言,支持封装性和继承性,不支持多态性.
2.break语句和continue语句都可以出现在while循环体中,且二者作用和执行过程完全相同的.
3.构造函数和析构函数都是系统自动调用的成员函数.
4.静态成员函数中引用静态数据成员和非静态数据成员的方式是相同的.
5.基类可以派生出派生类,派生类还可以作基类派生出新的派生类.
6.类中成员的访问权限可以是私有,公有或保护的,且默认的访问权限是私有的.
7.静态成员函数既可使用对象引用,也可使用类名加作用域运算符的方法来引用.
8.使用new运算符创建的对象称为堆对象.
9.基类中成员在派生类中都是可以访问的.
10.虚函数就是纯虚函数,纯虚函数就是虚函数,二者是相同的.
三、选择题(每题3分,共15分)
1.已知:int stu[3][3]={{1, 5, 6},{3},{0,2}}; 数组元素stu [1][1]的值为( ).
A.2 B.1 C.0 D.3
2.下列关于析构函数的描述中,错误的是( ).
A.析构函数的函数体都为空 B.析构函数是用来释放对象的
C.析构函数是系统自动调用的 D.析构函数是不能重载的
3.下列关键字中,不属于定义类时使用的关键字是( ).
A.class B.private C.public D.default
4.下列关于友元函数的描述中,错误的是( ).
A.友元函数不是成员函数 B.友元函数的调用方法同一般函数
C.友元函数只可访问类的私有成员 D.友元函数可以是另一类中的成员函数
5.下列关键字中,用来说明虚函数的关键字是( ).
A.inline B.virtual C.operator D.public
四、简答(每题5分,共15分)
1. C++语言程序中具有什么特点的函数适合被定义为内联函数,内联函数在实现过程中与一般函数有何不同?
2. C++语言程序中使用const定义的常量比使用#define定义的常量有何优点?
3. 简单描述C++语言程序中的类的构造函数有什么特点?
五、程序阅读题(每题6分,共30分)
1、写过递归函数fac(int n)的调用过程,从键盘输入5,分析程序并写出运行结果.
#include iostream.h
int fac(int n);
void main()
{ int n;
cout请输入一个n: ;
cinn;
coutn!=fac(n)endl;
}
int fac(int n)
{ if(n==1)return 1;
else return n*fac(n-1);
}
2、语句friend void Print(Date );定义了 Date类的友员,分析友员的特性,并写出程序的运行结果.
#include iostream.h
class Date
{ public:
Date(int y,int m,int d)
{ year=y; month=m; day=d; }
friend void Print(Date );
private:
int year,month,day;
};
void Print(Date d)
{ coutd.year/d.month/d.dayendl; }
void main()
{ Date d1(2008,8,8),d2(2015,12,24);
Print(d1);
Print(d2);
}
3、分析下列程序,填写下表中各类成
原创力文档

文档评论(0)