(16)下面关于break语句的描述中,不正确的是
A)break可以用于循环体内
B) break语句可以在for循环语句中出现多次
C)break语句可以在switch语句中出现多次
D)break语句可用于if条件判断语句内
(17)下面关于数组的描述错误的是
A)在C++语言中数组的名字就是指向该数组第一个元素的指针
B)长度为n的数组,下标的范围是0-n-1
C)数组的大小必须在编译时确定
D)数组只能通过值参数和引用参数两种方式传递给函数
(18)下面程序错误的语句是
①#include
②void main()
③{
④int*p=new int[1];
⑤p=9;
⑥cout <<*p< ⑦delete[]p
⑧}
A)④ B)⑤ C)⑥ D)⑦
(19)下面的哪个选项不能作为函数的返回类型?
A)void B)int C)new D)long
(20)不能作为重载函数的调用的依据是
A)参数个数
B)参数类型
C)函数类型
D)函数名称
(21)下列程序的输出结果为
#include< iostream. h>
int func(int n)
{
if〔n<1)return 1;
else return n+tune(n-1):
return 0;
}
void main()
{
cout< A) 0 B)10 C)15 D)16
(22)在C++语言中,数据封装要解决的问题是
A)数据的规范化
B)便于数据转换
C)避免数据丢失
D)防止不同模块之间数据的非法访问
(23)以下程序中,错误的行是
①#include
②class A
③{
④ public:
⑤ int n=2:
⑥ A( int val){cout< ⑦ ~A(){};
⑧};
⑨void main()
⑩{
⑩ A a(0);
⑩}
A)⑤ B)⑥ C)⑦ D)⑩
(24)对类的构造函数和析构函数描述正确的是
A)构造函数可以重载,析构函数不能重载
B)构造函数不能重载,析构函数可以重载
C)构造函数可以重载,析构函数也可以重载
D)构造函数不能重载,析构函数也不能重载
(25)下面程序的运行结果为
#include(iostream. h>
class A
{
int num;
public:
A(int i){num=i;}
A(A &a){num=a. num++;}
void print(){cout< };
void main()
{
A a(1),b(a);
a. print();
b.print();
A)11 B)12 C)21 D)22
(26)下面对静态数据成员的描述中,正确的是
A)静态数据成员是类的所有对象共享的数据
B)类的每个对象都有自己的静态数据成员
C)类的不同对象有不同的静态数据成员值
D)静态数据成员不能通过类的对象调用
(27)如果类A被说明成类B的友元,则
A)类A的成员即类B的成员
B)类B的成员即类A的成员
C)类A的成员函数不得访问类B的成员
D)类B不一定是类A的友元
(28)可以用p.a的形式访问派生类对象P的基类成员a,其中a是
A)私有继承的公有成员
B)公有继承的私有成员
C)公有继承的保护成员
D)公有继承的公有成员
(29)建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为
A)abc
B)acb
C)cab
D)cba
(30)下面关于虚函数的描述,错误的是
A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C)虚函数可以是另一个类的友元函数,但不能是静态成员函数
D)基类中说明的纯虚函数在其任何派生类中都必须实现
(31)下面关于模板的描述,错误的是
A)函数模板和类模板的参数可以是任意的数据类型
B)类模板不能直接使用,必须先实例化为相应的模板类.然后定义了模板类的对象后才能使用
C)函数模板不能直接使用,需要实例化为模板函数后才能使用
D)类模板的成员函数都是模板函数
(32)语句ofstream f(”SALARY. DAT",ios::app iios::binary);的功能是建立流对象f,试图打开文件SAL:aRY. D AT并与之连接,并且
A)若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B)若文件存在,将其置为空文件;若文件不存在,打开失败
C)若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D)若文件存在,打开失败;若文件不存在,建立一个新文件
(33)下面程序的运行结果是
#include
void main()
{
int num=1;
int &ref=num:
ref=ref+2;
cout<(num;
num=num+3;
cout<[ }]
A)13 B)16 C)36 D)33
(34)下面程序的运行结果是
#include
void fun(int*a,int*b)
{
int x=*a
*a=,b;*b=x;
cout<<*a<<*b<<” ”;
}
void main()
{
int x=1,y=2;
fun(&x,&y);
cout< }
A)12 12 B)12 21 C)21 12 D)21 21
(35)下列程序的运行结果为
#include
int i=0;
class A{
public:
A()}i++;}
};
void main()
{
Aa,b[3],*c;
c=b:
cout< }
A)2 B)3 C)4 D)5 【责编:oyshaoli 纠错】
[1] [2] [3] 