4、若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是( )个:
A.3; B.4; C.5; D.6 5、关于成员函数特征的下述描述中,( )是错误的。
A.成员函数一般是内联函数; B.成员函数可以重载; C.成员函数可以设置参数的缺省值; D.成员函数可以是静态的。
6、已知fun(int)是类test的公有成员函数,p是指向成员函数fun()的指针,采用( )是正确的:
A.p=fun; B.p=test::fun(); C.p=fun(); D.p= test::fun; 7、 派生类的对象对它的基类成员中( )是可以访问的。
A.公有继承的公有成员; B.公有继承的私有成员; C.公有继承的保护成员; D.私有继承的公有成员 8、下述关于break语句的描述中,( )是不正确的。
A. break语句可用于循环体内,它将退出该重循环; B. break语句可用于开关语句中,它将退出开关语句。 C. break语句可用于if体内,它将退出if语句; D. break语句在一个循环体内可以出现多次。
9、下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( )合适。 A. 内联函数;
B. 重载函数; C. 递归调用; D. 嵌套调用。
10、下列的各类函数中,( )不是类的成员函数。
A. 构造函数; B. 析构函数; 11、( )不是构造函数的特征
A. 构造函数的函数名与类名相同; B. 构造函数可以重载;
C. 构造函数可以设置缺省参数; D. 构造函数必须指定类型说明。 三、判断题
13. 数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。( )
C . 友元函数;
D. 拷贝初始化构造函数;
第 6 页 共 9页
14. 隐含的类型转换都是保值映射,显式的类型转换都是非保值映射。( ) 15. While循环语句的循环体至少执行一次。( )
16. 在说明语句 int a(15),&b=a,*p=&a;中,b的值与*p的值是相等的。( )
17. 在不同类型操作数所组成的表达式中,其表达式的类型一定是最高类型double型。( ) 18. 静态类标识符在它的作用域之外是不存在的。( ) 19. 类中所提供的成员函数可以直接访问私有成员。( )
20. 某类的友元类中的所有成员函数可以存取或修改该类中的私有成员。( ) 21. 私有继承中,基类中所有成员对派生类的对象都是不可见的。( ) 22. 对象数组的元素可以是不同类的对象。( )
23. 多继承情况下,派生类的构造函数的执行顺序并不取决于定义派生类时所指定的各基
类的顺序。( )
三、读程题,写出程序的运行结果。
1、#include
void main() {
int a,b,c,d(5); c=2,c+=10;
a =b=10; a * = 2; b / = 2; c % = 2;
cout<
2、#include
void main() {
int x=3,y=3; switch(x%2) {
case 1: switch (y) { case 0:cout<<\
case 1:cout<<\ default: cout<<\ }
case 2:cout<<\ } }
第 7 页 共 9页
3、#include
void main()
{ for(int i=0;++i;i<5) {
if(i==3)
{ cout<<++i< 4、#include void swap(int x,int &y); void main() { int a(10),b; b=a/5; cout<<\ swap(a,b); cout<<\} void swap(int x,int &y) { int temp=x; x=y; y=temp; } 5、#include A(); A(int i,int j); ~A(){cout<<\ void print(); private: int a,b; }; A::A() 第 8 页 共 9页 { a=5;b=10; cout<<\ } A::A(int i,int j) { a=i,b=j;cout<<\void A::print() {cout<<\void main() { A obj1,obj2(15,18); obj1.print(); obj2.print(); } 四、综合应用题 编写一个简单程序,要求: 1)用while循环实现从键盘上输入20个整数并放入数组 2)求出数组元素的最大值及数组的平均值并输出。 第 9 页 共 9页