单项选择题(本大题共20小题,每小题1分,共20分) 1.C++源程序文件扩展名为( A ) A..cpp B..h C..1ib D..obj
5.对使用关键字new所开辟的动态存储空间,释放时必须使用( C ) A.free B.create C.delete
D.realse
6.从本质上看,引用是被引用变量的( B ) A.拷贝 B.别名 C.复制 D.克隆
7.在函数调用时,如某一默认参数要指明一个特定值,则有(B ) A.其之前所有参数都必须赋值
B.其之后所有参数都必须赋值
C.其前、后所有参数都必须赋值 D.其前、后所有参数都不必赋值
8.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是( C ) A.int m = max(22,max(59,70));
B.int m = max(max(22,59),70);
C.int m = max(22,59,70); D.int m = max(59,max(22,70));
9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( B )
A.int m=min(min(15,26),min(15,47)); B.int m=min(15,26,47); C.int m=min(15,min(47,26)); D.int m =min(min(47,26),16);
13.函数int & min(int &,int &)返回参数中较小者,设有两整型变量int a=10;int b=15; 在执行语句min(a,b)--;之后,a,b值分别为( B ) A.9,14 B.9,15 C.10,14 D.10,15
16.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15; 则执行swap(a,b)后,a、b值分别为( C ) A.10,10 C.15,10
B.10,15
D.15,15
17.设函数void swap(int,int)将交换两形参数值,如有两整型变量int a=10;int b=15,则执行swap(a,b);之后,a,b值分别为( C ) A.15,10 B.15,15 C.10,15 D.10,10
18.设函数void subone (int)将形参值减1,如有整形变量int b=10;则执行subone(b)后,b
的值为( B ) A.9 B.10 C.11 D.未知
10.下列函数不能和函数void print(char)构成重载的是( C ) A.int print(int); B.void print(char,char); C.int print(char); D.void print(int,int);
15.函数int sum(int a=l,int b=1,int c=3)可与下列哪个函数同时声明( C ) A.double sum(int); B.char sum(int,int); C.int sum(double); D.int sum(int,int,int); 11.C++类中定义的成员默认访问属性为( B ) A.public B.private C.protected D.friend 12.决定C++语言中函数的返回值类型的是( D ) A.return语句中的表达式类型
B.调用该函数时系统随机产生的类型 C.调用该函数时的主调用函数类型 D.在定义该函数时所指定的数据类型
14.声明函数为内联函数时所使用的关键字为( B ) A.const B.inline C.short D.signed
19.声明函数int Func(int a=0,int b=3,int c=4)相当于声明了几个函数形式( A A.1 B.2 C.3 D.4
20.函数默认参数在函数原型中说明,默认参数必须放在参数序列的( C ) A.前部 B.中部 C.后部 D.两端
21.下列哪个类型函数不适合声明为内联函数( A ) A.函数体语句较多 B.函数体语句较少 C.函数执行时间较短
D.函数执行时间过长
22.int Func(int,int);不可与下列哪个函数构成重载( B ) A.int Func(int,int,int);
B.double Func(int,int);
C.double Func(double,double); D.double Func(int,double);
)23.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为( B ) A.9 B.10 C.11 D.未知 24.下列哪种默认参数的声明是不正确的( C ) A. int max(int a,int b,int c,int d=0); B. int max(int a,int b,int c=0,int d=0); C. int max(int a=0,int b,int c=0,int d=0); D. int max(int a,int b=0,int c=0,int d=0);
25.设int &max(int &,int &)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为( C ) A.10,15 B.11,15 C.10,16 D.1l,16 26.包含哪种语句的函数不能声明为内联函数( A ) A.循环 B.变量自增自减 C.if...else… D.变量声明
*27.对类中声明的变量,下列描述中正确的是( C ) A.属于全局变量 B.只属于该类
C.属于该类,某些情况下也可被该类不同实例所共享 D.任何情况下都可被该类所有实例共享 28.类的私有成员可在何处访问( D )
A.通过子类的对象访问 B.本类及子类的成员函数中 C.通过该类对象访问
D.本类的成员函数中
29.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是( A ) A.编译器总是自动创建一个不带参数的构造函数 B.这个类没有构造函数 C.这个类不需要构造函数 D.该类不能通过编译
30.一个类可包含析构函数的个数是( B ) A.0个 B.1个
C.至少一个 D.0个或多个
31.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来( A ) A.<> B.“” C.() D.{}
32.一个类拥有多个构造函数,则这些构造函数间为( A ) A.重载关系 B.重复关系 C.拷贝关系 D.无关系 33.对于拷贝构造函数point::point(point & p),下列说明正确的是( C ) A.该函数只能访问P的私有成员 B.该函数不能访问P的公有成员 C.该函数可以访问P的私有和公有成员 D.该函数不能访问P的成员 34.使用delete[]删除对象数组时,描述正确的是( A ) A.数组中各元素都调用析构函数 B.数组中各元素都调用构造函数 C.不调用析构函数 D.只有首元素调用析构函数
35.this指针存在的目的是( B ) A.保证基类公有成员在子类中可以被访问
B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码 C.保证基类保护成员在子类中可以被访问 D.保证基类私有成员在子类中可以被访问 36.下列关于类的权限的描述错误的是( A ) A.类本身的成员函数只能访问自身的私有成员 B.类的对象只能访问该类的公有成员
C.普通函数不能直接访问类的公有成员,必须通过对象访问 D.一个类可以将另一个类的对象作为成员
37.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是( A.A类构造函数先执行 B.成员构造函数先执行 C.两者并行执行
D.不能确定
*38.下列描述错误的是( A ) A.在创建对象前,静态成员不存在 B.静态成员是类的成员
C.静态成员不能是虚函数
D.静态成员函数不能直接访问非静态成员
39.对于友元描述正确的是( B ) A.友元是本类的成员函数 B.友元不是本类的成员函数
C.友元不是函数
D.友元不能访问本类私有成员
*40.在哪种派生方式中,派生类可以访问基类中的protected成员( B )A.public和private B.public和protected C.protected和private D.仅protected
B )
相关推荐: