C++模拟试题.docx

上传人:b****8 文档编号:29604579 上传时间:2023-07-25 格式:DOCX 页数:22 大小:24.20KB
下载 相关 举报
C++模拟试题.docx_第1页
第1页 / 共22页
C++模拟试题.docx_第2页
第2页 / 共22页
C++模拟试题.docx_第3页
第3页 / 共22页
C++模拟试题.docx_第4页
第4页 / 共22页
C++模拟试题.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C++模拟试题.docx

《C++模拟试题.docx》由会员分享,可在线阅读,更多相关《C++模拟试题.docx(22页珍藏版)》请在冰豆网上搜索。

C++模拟试题.docx

C++模拟试题

CPP程序设计

模拟考试1--第1套试卷

1.已定义ch为字符型变量,以下赋值语句中错误的是(____)

  A.ch='\';

  B.ch=62+3;

  C.ch=NULL;

  D.ch='\xaa';

正确答案:

【A】  分值:

【1】  

2.下列定义数组的语句中正确的是(____)

  A.#definesize10 char str1[size],str2[size+2];

  B.charstr[];

  C.intnum['10'];

  D.intn=5;inta[n][n+2];

正确答案:

【A】  分值:

【1】  

3.对基类和派生类的关系描述中,错误的是(____)

  A.派生类是(____)基类的具体化

  B.基类继承了派生类的属性

  C.派生类是(____)基类定义的延续

  D.派生类是(____)基类的特殊化

正确答案:

【B】  分值:

【1】  

4.如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为(____)

  A.operator+(operator*(x,y),z)

  B.x.operator+(operator*(x,y),z)

  C.y.operator*(operator+(x,y),z)

  D.x.operator+(operator*(x,y))

正确答案:

【A】  分值:

【1】  

5.派生类构造函数的执行顺序是先执行________的构造函数,然后执行成员对象的构造函数,最后执行________的构造函数。

正确答案:

【基类或派生类】  分值:

【1】  

6.C++语言程序的注释可以出现在程序中的任何地方,一个注释以________作为开始和结束的标记。

正确答案:

【/**/】  分值:

【1】  

7.在C++中,编译系统自动为一个类生成缺省构造函数的条件是(____)

  A.该类没有定义任何有参构造函数

  B.该类没有定义任何无参构造函数

  C.该类没有定义任何构造函数

  D.该类没有定义任何成员函数

正确答案:

【C】  分值:

【1】  

8.有如下程序:

#include

usingnamespacestd;

classMyClass{

public:

MyClass(intx):

val(x){}

voidSet(intx){val=x;}

voidPrint()const{cout<<"val="<

private:

intval;

};

intmain(){

constMyClassobj1(10);

MyClassobj2(20);

obj1.Print();//语句1

obj2.Print();//语句2

obj1.Set(20);//语句3

obj2.Set(30);//语句4

return0;

}

其主函数中错误的语句是(____)

  A.语句1

  B.语句2

  C.语句3

  D.语句4

正确答案:

【C】  分值:

【1】  

9.有如下程序

#include

usingnamespacestd;

classPublication{//出版物类

charname[30];

public:

Publication(char*name="未知名称"){

strcpy(this->name,name);

}

constchar*getName()const{returnname;}

virtualconstchar*getType()const{return"未知类型";}

};

classBook:

publicPublication{//书类

public:

Book(char*name):

Publication(name){}

virtualconstchar*getType()const{return"书";}

};

voidshowPublication(Publication&p){

cout<

"<

}

intmain(){

Bookbook("精彩人生");

showPublication(book);

return0;

}

运行时的输出结果是(____)

  A.未知类型:

未知名称

  B.未知类型:

精彩人生

  C.书:

未知名称

  D.书:

精彩人生

正确答案:

【D】  分值:

【1】  

10.C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是(____)

  A.增加了一些新的运算符

  B.允许函数重载,并允许设置缺省参数

  C.规定函数说明符必须用原型

  D.引进了类和对象的概念

正确答案:

【D】  分值:

【1】  

11.在下列运算符中,(____)优先级最高。

  A.<=

  B.*=

  C.+

  D.*

正确答案:

【D】  分值:

【1】  

12.下列关于C++函数的描述中正确的是(____)

  A.主函数是程序的入口,它由用户定义的函数调用

  B.函数在调用之前必须先被声明

  C.每个用户定义的函数只能被其他函数调用一次

  D.函数是C++中面向对象程序设计框架的基本组成单元

正确答案:

【B】  分值:

【1】  

13.设置虚基类的目的是________,通过________表示虚基类。

正确答案:

【解决二义性问题或用关键字virtual】  分值:

【1】  

14.以下不属于对象的基本特点的是(____)

  A.分类性

  B.多态性

  C.继承性

  D.封装性

正确答案:

【C】  分值:

【1】  

15.关于静态数据成员的描述中正确的是(____)

  A.类的静态数据成员不是类的所有对象共享的数据

  B.类的静态数据成员不能被类的成员函数调用

  C.类的静态数据成员不能被类的构造函数调用

  D.类的静态数据成员必须进行初始化

正确答案:

【D】  分值:

【1】  

16.C++语言函数中不能由系统自动生成的是(____)

  A.析构函数

  B.构造函数

  C.内联函数

  D.拷贝构造函数

正确答案:

【C】  分值:

【1】  

17.下列的描述中(____)是错误的。

  A.使用全局变量可以从被调用函数中获取多个操作结果

  B.局部变量可以初始化,若不初始化,则系统默认它的值为0

  C.当函数调用完后,静态局部变量的值不会消失

  D.全局变量若不初始化,则系统默认它的值为0

正确答案:

【B】  分值:

【1】  

18.以下不能对二维数组a进行正确初始化的语句是(____)

  A.inta[2][3]={0};

  B.inta[][3]={{0,1},{0}};

  C.inta[2][3]={{0,1},{2,3},{4,5}};

  D.inta[][3]={0,1,2,3,4,5};

正确答案:

【C】  分值:

【1】  

19.若用数组名作为调用函数的实参,则传递给形参的是(____)

  A.数组存贮首地址

  B.数组的第一个元素值

  C.数组中全部元素的值

  D.数组元素的个数

正确答案:

【A】  分值:

【1】  

20.在类定义的外部,可以被访问的成员有

  A.所有类成员

  B.private或protected的类成员

  C.public的类成员

  D.public或private的类成员

正确答案:

【C】  分值:

【1】  

21.下面对构造函数的不正确描述是(____)

  A.系统提供默认的构造函数

  B.构造函数可以有参数,所以也可以有返回值

  C.构造函数可以重载

  D.构造函数可以设置默认参数

正确答案:

【B】  分值:

【1】  

22.下面对友员的错误叙述是(____)

  A.关键字friend用于声明友员

  B.一个类中的成员函数可以是另一个类的友员

  C.友员函数访问对象的成员不受访问特性影响

  D.友员函数通过this指针访问对象成员

正确答案:

【D】  分值:

【1】  

23.要求用成员函数重载的运算符是(____)

  A.=

  B.==

  C.<=

  D.++

正确答案:

【A】  分值:

【1】  

24.下面关于类型转换的描述中,错误的是(____)

  A.任何形式的构造函数都可以实现数据类型转换。

  B.带非默认参数的构造函数可以把基本类型数据转换成类类型对象。

  C.类型转换函数可以把类类型对象转换为其他指定类型对象。

  D.类型转换函数只能定义为一个类的成员函数,不能定义为类的友员函数。

正确答案:

【A】  分值:

【1】  

25.在c++中,类之间的继承关系具有(____)

  A.自反性

  B.对称性

  C.传递性

  D.反对称性

正确答案:

【C】  分值:

【1】  

26.将以下程序写成三目运算表达式是________。

if(a>b)max=a;

  elsemax=b;

正确答案:

【max=(a>b)?

a:

b;】  分值:

【1】  

27.不论派生类以何种方式继承基类,都不能直接使用基类的

  A.public成员

  B.private成员

  C.protected成员

  D.所有成员

正确答案:

【B】  分值:

【1】  

28.下面程序的结果为________。

  #include

  voidmain()

  {inta=1,b=2;

  boolc=1;

  if((a>b)||c)cout<<″true″<

  else

  cout<<″false″<

正确答案:

【true】  分值:

【1】  

29.以下程序的执行结果为________。

  #include

  usingnamespacestd;

  classbase

  {

  public:

  virtualvoidwho()

  {cout<<″baseclass″<

  };

  classderive1:

publicbase

  {

  public:

  voidwho()

  {cout<<″derive1class″<

  };

  classderive2:

publicbase

  {

  public:

  voidwho()

  {cout<<″derive2class″<

  };

  voidmain()

  {

  baseobj1,*p;

  derive1obj2;

  derive2obj3;

  p=&obj1;

  p->who();

  p=&obj2;

  p->who();

  p=&obj3;

  p->who();

  }

正确答案:

【baseclassderive1classderive2class】  分值:

【1】  

30.下面函数原型中,(____)声明了fun为纯虚函数。

  A.voidfun()=0;

  B.virtualvoidfun()=0;

  C.virtualvoidfun();

  D.virtualvoidfun(){};

正确答案:

【B】  分值:

【1】  

31.若一个类中含有纯虚函数,则该类称为(____)

  A.基类

  B.纯基类

  C.抽象类

  D.派生类

正确答案:

【C】  分值:

【1】  

32.下面描述中,正确的是(____)

  A.虚函数是没有实现的函数

  B.纯虚函数是返回值等于0的函数

  C.抽象类是只有纯虚函数的类

  D.抽象类指针可以指向不同的派生类

正确答案:

【D】  分值:

【1】  

33.下列格式控制符,既可以用于输入,又可以用于输出的是(____)

  A.setbase

  B.setfill

  C.setprecision

  D.setw

正确答案:

【A】  分值:

【1】  

34.要求打开文件D:

\file.dat,并能够写入数据,正确的语句是(____)

  A.ifstreaminfile(“D:

\\file.dat”,ios:

:

in);

  B.ifstreaminfile(“D:

\\file.dat”,ios:

:

out);

  C.ofstreamoutfile(D:

\\file.dat",ios:

:

in);

  D.fstreaminfile(“D:

\\file.dat”,ios:

:

in|ios:

:

out);

正确答案:

【D】  分值:

【1】  

35.用于输出表达式值的标准输出流对象是________。

正确答案:

【cout】  分值:

【1】  

36.存储字符’a’和字符串”a”分别需要占用________和________个字节。

正确答案:

【1或2】  分值:

【1】  

37.在C++语言中,一个函数由函数头和________组成。

正确答案:

【函数体】  分值:

【1】  

38.程序的编译是以________为单位进行的。

正确答案:

【文件】  分值:

【1】  

39.如果一个派生类只有一个唯一的基类,则这样的继承关系称为________。

正确答案:

【单继承】  分值:

【1】  

40.C++支持两种多态性:

________时的多态性和________时的多态性。

正确答案:

【编译或运行】  分值:

【1】  

41.类定义中,既包含数据成员,也包含________成员。

正确答案:

【函数】  分值:

【1】  

42.类中的数据成员的访问属性通常被指明为________。

正确答案:

【private】  分值:

【1】  

43.类中的供外部调用定义的函数成员,其访问属性通常被定义为________。

正确答案:

【public】  分值:

【1】  

44.为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为________。

正确答案:

【private】  分值:

【1】  

45.若要把类外定义的成员函数规定为内联函数,则必须把________关键字放到函数原型或函数头的前面。

正确答案:

【inline】  分值:

【1】  

46.若采用p->abc(y)表达式调用一个成员函数,在成员函数中使用的________

就代表了类外的p指针。

正确答案:

【this】  分值:

【1】  

47.当用户为一个类定义有________时,则系统不会为该类再自动生成一个默认构造函数。

正确答案:

【构造函数】  分值:

【1】  

48.对类中常量成员的初始化只能通过在构造函数中给出的________来实现的。

正确答案:

【参数初始化表】  分值:

【1】  

49.假定AB类中只包含一个整型数据成员a,并且它是一个引用成员,若利用引用参数aa对其进行初始化,则该类的构造函数的定义为________。

正确答案:

【AB(int&aa):

a(aa){};】  分值:

【1】  

50.定指针p指向一个动态分配的类对象,则当执行“deletep;”语句时,在释放p

所指向的动态存储空间之前将自动调用该类的________。

正确答案:

【析构函数】  分值:

【1】  

51.定用户为类AB定义了一个构造函数“AB(intaa=0):

a(aa){}”,则定义该类的对象时,可以有________种不同的定义格式。

正确答案:

【2】  分值:

【1】  

52.假定用户只为类AB定义了一个构造函数“AB():

a(0),b(0){}”,则定义该类对象x的定义语句“ABx;”是______(正确/错误)的。

正确答案:

【正确】  分值:

【1】  

53.假定AB为一个类,该类中含有一个指向动态数组空间的指针成员pa,则在该类的析构函数中应该包含有一条________语句。

正确答案:

【delete[]pa;】  分值:

【1】  

54.在一个或若干个类的基础上构造一个新类,被称为________。

正确答案:

【继承】  分值:

【1】  

55.派生类的成员函数可以直接访问基类的公有和保护成员,不能直接访问

基类的________成员。

正确答案:

【私有】  分值:

【1】  

56.当保护继承时,基类的公有和保护成员在派生类中成为保护成员,派生

类对象不能直接访问基类的________成员。

正确答案:

【任何】  分值:

【1】  

57.以下关于C++类的说法中正确的是(____)

  A.C++语言的默认访问权限是private

  B.C++语言中的类定义,用户一定要自己定义一个构造函数用于实例化类

  C.C++语言中的成员函数的实现部分一定要写在类定义外

  D.C++语言中的类不能够嵌套定义

正确答案:

【A】  分值:

【1】  

58.一个类可以从直接或间接的祖先中继承所有属性和方法。

采用这个方法提高了软件的________。

正确答案:

【可重用性】  分值:

【1】  

59.静态成员函数可以直接访问类的________成员,不能直接访问类的________成员。

正确答案:

【静态或非静态】  分值:

【1】  

60.在C++语言的结构化程序设计中,________是程序的基本组成单元;在C++语言的面向对象设计框架中,________是程序的基本组成单元。

正确答案:

【函数或类】  分值:

【1】  

61.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是(____)

  A.派生类的对象可以赋给基类的对象

  B.派生类的对象可以初始化基类的引用

  C.派生类的对象可以直接访问基类中的成员

  D.派生类的对象的地址可以赋给指向基类的指针

正确答案:

【C】  分值:

【1】  

62.类是一个支持集成的抽象数据类型,而对象的类的________。

正确答案:

【实例】  分值:

【1】  

63.在C++中,cin是一个(____)

  A.类

  B.对象

  C.模板

  D.函数

正确答案:

【B】  分值:

【1】  

64.下列描述中错误的是(____)

  A.派生类可以作为基类派生其他的子类

  B.派生类继承基类的所有数据成员

  C.派生类可以有多个基类

  D.派生类不能继承一些函数成员

正确答案:

【B】  分值:

【1】  

65.以下对C++语言函数的有关描述中,正确的是(____)

  A.在C++语言中调用函数,只能把实参的值传给形参,形参的值不能传送给实参

  B.C++语言函数既可以嵌套定义又可以递归调用

  C.函数必须无返回值,否则不能使用函数

  D.函数必须有返回值,返回值类型不定

正确答案:

【A】  分值:

【1】  

66.对于模板定义关键字class和typename说法不正确的是(____)

  A.程序中的class并不能都替换为typename

  B.class和typename都可互相替换

  C.程序中的typename都能替换为class

  D.程序中的部分class可以替换为typename

正确答案:

【B】  分值:

【1】  

67.下面关于数组的描述错误的是(____)

  A.在C++语言中数组的名字就是指向该数组第一个元素的指针

  B.长度为n的数组,下标的范围是0~n-1

  C.数组的大小必须在编译时确定

  D.数组只能通过值参数和引用参数两种方式传递给函数

正确答案:

【D】  分值:

【1】  

68.下面的(____)选项不能作为函数的返回类型

  A.void

  B.int

  C.new

  D.long

正确答案:

【C】  分值:

【1】  

69.可以把具有相同属性的一些不同对象归类,称为________。

正确答案:

【对象类】  分值:

【1】  

70.下列定义中p指向的地址可更改,但*p不能够更改的是(____)

  A.constint*P

  B.int*constp;

  C.constint*constp;

  D.int*p;

正确答案:

【A】  分值:

【1】  

71.C++中封装性、继承性和________是面向对象思想的主要特征。

正确答案:

【多态性】  分值:

【1】  

72.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是(____)

  A.公有类型

  B.私有类型

  C.保护类型

  D.友元类型

正确答案:

【D】  分值:

【1】  

73.下列关于运算符重载的叙述中,正确的是(____)

  A.通过运算符重载,可以定义新的运算符

  B.有的运算符只能作为成员函数重载

  C.若重载运算符+,则相应的运算符函数名是+

  D.重载一个二元运算符时,必须声明两个形参

正确答案:

【B】  分值:

【1】  

74.下列关于模板的叙述中,错误的是(____)

  A.调用模板函数时,在一定条件下可以省略模板实参

  B.可以用int、double这样的类型修饰符来声明模板参数

  C.模板声明中的关键字class都可以用关键字typename替代

  D.模板的形参表中可以有多个参数

正确答案:

【D】  分值:

【1】  

75.对类的构造函数和析构函数描述正确的是(____)

  A.构造函数可以重载,析构函数不能重载

  B.构造函数不能重载,析构函数可以重载

  C.构造函数可以重载,析构函数也可以重载

  D.构造函数不能重载,析构函数也不能重载

正确答案:

【A】  分值:

【1】  

76.通过使用new和delete两个运算符进行的分配为________存储分配。

正确答案:

【动态】  分值:

【1】  

77.将x+y中的+运算符用友元函数重载应写为________。

正确答案:

【operator+(x,y)】  分值:

【1】  

78.下列描述中(____)是正确的

  A.私有派生的子类无法访问父类的成员

  B.类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的

  C.私有派生类不能作为基类派生子类

  D.私有派生类的所有子孙类将无法继续继承该类的成员

正确答案:

【B】  分值:

【1】  

79.while和do-while循环的主要区别是(____)

  A.do-while的循环体至少无条件执行一次

  B.while的循环控制条件比do-while的循环控制条件更严格

  C.do-while允许从外部转到循环体内

  D.do-while的循环体不能是复合语句

正确答案:

【A】  分值:

【1】  

80.关于友元的概念错误的是(____)

  A.友元函数没有thi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1