C++初级试题及答案
选择题
第一章
1下列说法正确的是(A、B)。
A.使用cin和cout进行标准输入输出时必须包含头文件iostream
B.在编写一个控制台应用程序时,程序中有且只能有一个main 函数
C.在一个控制台应用程序中,可以有多个main函数
D.一条C++语句中可以定义多个不同类型的变量
2下列说法正确的是(B、C)。
A.C++字符集中包括汉字
B.C++中myname和Myname表示不同的标识符
C._name是一个合法的C++标识符
D.1name是一个合法的C++标识符
3已知:const double PI=3.14;则以下语句中正确的是(A、D)。
A.double a=2*PI;
B.PI=3.14159;
C.cin>>PI;
4下列说法正确的是(B、C、D)。
A.定义内联函数需要在函数声明处加上inline关键字
B.定义内联函数需要在函数定义处加上inline关键字
C.内联函数是为了避免函数调用所引起的额外时间开销
D.内联函数中不能包括循环、switch等复杂结构控制语句
5已知函数调用f(3,4,5)是正确的函数调用,则下列选项中函数f可能的声明形式包括(A、B、D)。
A.void f(int a,int b,int c);
B.void f(int a,int b,int c=10);
C.void f(int a=20,int b,int c=10);
D.void f(int a,int b,int c=10,int d=20);
6下列选项中,正确的函数重载包括(B、D)。
A.void f(int a)和int f(int a)
B.void f(int a,int b)和void f(int a)
C.void f(int a,int b=5)和void f(int a)
D.void f(int a)和void f(double a)
7下列语句中正确的是(A、B)。
A.int*p=new int(3);
B.int*p=new int[3];
C.int*p=new int[3](3)
D.int*p=new int[];
8已知int a=10;int&r=a;,则下列语句中,能够将变量a的值设置为3的语句包括(A、B、D)。
A.r-=7;
B.a-=7;构造函数可以被重载
C.&r=3;
D.a=3
9已知函数:
void f(int a,int&b)
{a+=2;b+=2;},变量int x=3,y=5;,则以下说法正确的是(B、C)。
A.执行f(x,y)后,x的值是5
B.执行f(x,y)后,x的值是3
C.执行f(x,y)后,y的值是7
D.执行f(x,y)后,y的值是5
第二章
1下列(B、D)不是构造函数的特征。
A.构造函数可以重载
B.构造函数必须指定函数类型
C.构造函数在创建对象时自动调用
D.构造函数不可以设置默认参数
2下面对友元的正确描述是(A、C、D)。
A.关键字friend用于声明友元
B.友元函数通过this指针访问对象成员
C.一个类的成员函数可以是另一个类的友元
D.友元函数访问对象的成员不受访问特性影响
第三章
1在C++中,不能被派生类继承的函数是(A、B、C)。
A.析构函数
B.拷贝构造函数
C.构造函数
D.成员函数
2基类中的公有成员可能是派生类的(A、C、D)。
A.private成员
B.友元成员
C.protected成员
D.public成员
3基类中的公有成员可能是派生类的(A、B、C)。
A.private成员
B.protected成员
C.public成员
D.友元成员
4下面描述中,正确的是(C、D)。
A.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序一致
B.多重继承中创建派生类对象时各基类构造函数的调用顺序与基类构造函数在初始化列表中的出现顺序一致
C.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序相反
D.多重继承中,如果派生类的初始化列表中没有某个基类构造函数的调用语句,则表示调用该基类的无参构造函数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论