2018年9月计算机二级C++考试考前自测练习题(1)
单选题
1.在C++中,cin是一个( )。
A.类
B.对象
C.模板
D.函数
2.在下列字符中,不允许作为C++标识符的是( )。
A.b
B.B
C._
D.2
3.下列叙述中,错误的是( )。
A.false是一个逻辑型常量
B.“b”’是一个字符型常量
C.365是一个int常量
D.3.1415926是一个double常量
4.若x和y是程序中的两个整型变量,则下列if语句中正确的是( )。
A.if(x==O)y=1;elsey=2;
B.if(x==0)theny=1elsey=2
C.if(x==O)y=1elsey=2;
D.ifx==0y=1elsey=2;
5.要定义整型数组x,使之包括初值为0的3个元素,下列语句中错误的是( )。
A.intx[3]={0,0,0};
B.intx[]={0};
C.staticintx[3]={0);
D.intx[]={0,0,0};
6.关于函数中的<返回类型>,下列表述中错误的是( )。
A.<返回类型>中有可能包含关键字int
B.<返回类型>中有可能包含自定义标识符
C.<返回类型>中有可能包含字符*
D.<返回类型>中可能包含[]
7.要定义一个引用变量P,使之引用类MyClass的一个对象,正确的定义语句是( )。
A.MyClassp=MyClass;
B.MyClassp=newMyClass;
C.MyClass&p=newMyClass;
D.MyClassa,&p=a;
8.有如下两个类定义:
classXX{
private:
doublexl;
protected:
doublex2;
public:
doublex3;
};
claseYY:protectedXX{
private:
doubleyl;
protected:
doubley2;
public:
doubley3;
};
在类YY中保护成员变量的个数是( )。
A.1
B.2
C.3
D.4
9.下列关于运算符重载的描述中,错误的是( )。
A.可以通过运算符重载在C++中创建新的运算符
B.赋值运算符只能重载为成员函数
C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象
D.重载类型转换运算符时不需要声明返回类型
10.下列关于类模板的描述中,错误的是( )。
A.类模板的成员函数都是模板函数
B.可以为类模板参数设置默认值
C.类模板描述了一组类
D.类模板中只允许有一个类型参数
参考答案:
1.B。【解析】C++提供了一套输入、输出流类的对象,它们是cin、cout和eerr,对应C语言中的3个文件指针stdin、stdout、stderr,分别指向终端输入、终端输出和标准出错输出(也从终端输出)。
cin与>>一起完成输入操作,cout、eerr与<<一起完成输出与标准错误输出。
2.D。【解析】在C++中,标识符只能以字母、数字和下画线组成,并且首字母不能为数字。所以D选项错误。
3.D。0【解析]double型数据一般占8个字节,D选项超出了范围。
4.A。【解析】if…else语句的格式“if(<条件>)<语句1>else<语句2>”注意语句结束要以分号结尾,对照题中选项可知A正确。
5.D。【解析】选项D中整型数组x的第一个元素是NULL,不是0,故选D。
6.B。【解析】<返回类型>又称函数类型,表示一个
函数所计算(或运行)的结果值类型,这里的类型可以是预定义类型(如int)、复合类型(如double*)、用户定义类型(如枚举类),若返回值只做更新(或设置)等操作,则该函数返回类型为void类型,函数类型和内置数组不能作为返回类型,但类类型和容器类型可以被直接返回。
7.D。【解析】选项A错误不存在这样的定义方式;选项B定义了一个M:yClass类的对象P;选项C是Java里的定义方式。
8.C。【解析】派生类从基类保护继承classYY:pr0-teetedXX时,基类的公有成员在派生类中变为保护成员,基类的保护成员在派生类中仍然是保护成员;本题中YY本身有一个保护成员y2,再加上基类XX的x2和x3,故选C。
9.A。【解析】运算符的重载是针对C++中原有运算符进行的,不能通过重载创造新的运算符。
10.D。【解析】类模板是一系列相关类的模板,类成员组成相同,成员函数的源代码形式相同,所不同的是所针对的类型。类模板的成员函数都是模板函数,在用类模板定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法按函数模板的方式省略模板实参。但可以为类模板的参数设置默认值。由此可知应选D。
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>