模拟题三及参考答案.docx

上传人:wj 文档编号:921343 上传时间:2023-04-30 格式:DOCX 页数:8 大小:16.37KB
下载 相关 举报
模拟题三及参考答案.docx_第1页
第1页 / 共8页
模拟题三及参考答案.docx_第2页
第2页 / 共8页
模拟题三及参考答案.docx_第3页
第3页 / 共8页
模拟题三及参考答案.docx_第4页
第4页 / 共8页
模拟题三及参考答案.docx_第5页
第5页 / 共8页
模拟题三及参考答案.docx_第6页
第6页 / 共8页
模拟题三及参考答案.docx_第7页
第7页 / 共8页
模拟题三及参考答案.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

模拟题三及参考答案.docx

《模拟题三及参考答案.docx》由会员分享,可在线阅读,更多相关《模拟题三及参考答案.docx(8页珍藏版)》请在冰点文库上搜索。

模拟题三及参考答案.docx

模拟题三及参考答案

 

1.C++对C语言作了很多改进,下列描述中_____ 使得C语言发生了质变,即从面向过程变成又面向对象  (2分)

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

    B.允许函数重载,并允许设置默认参数

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

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

 

2. 按照标识符的要求,_______符号不能组成标识符。

(2分)

    A.连接符

    B.下划线

    C.大小写字母

    D.数字字符   

  

3. 选择出合法的 if语句(设有intx,a,b,c;)。

(2分) 

    A.if(a==b)x++;

    B.if(a=

    C.if(a<>b)x++;

D.if(a=>b)x++;   

 

4. 下列while循环的次数是_______。

While(inti=0)i--;(2分)

    A.0

    B.1

    C.5

D.无限   

 

5. 下列_______为一个已有的数据类型另外命名。

(2分) 

    A.enum

    B.struct

    C.typedef

D.union   

 

6.表达式 18/4*Sqrt(4.0)/5 值的数据类型是_______。

(2分)

    A.int

    B.float

    C.double

D.不确定   

 

7.sizeof(double)是一个______表达式。

(2分)   

 A.整型

    B.双精度

    C.不合法

D.函数调用   

 

8. 内联函数定义中,_____不正确。

(2分)    

A.内联函数体内不能有循环语句和switch语句。

    B.执行时在调用处用函数体进行替换。

    C.内联函数的声明必须出现在内联函数第一次被调用之前。

D.对内联函数不能进行异常接口声明。

 

 

9. 函数不可以_______。

(2分)

    A.嵌套调用

    B.直接递归调用

    C.间接递归调用

D.主函数调用主函数   

 

10. 有关函数重载的描述哪些是正确的?

(2分) 

    A.对不同类型的数据进行相同的操作需定义名称完全不同的函数。

    B.对不同类型的数据进行相同的操作需定义名称相同的函数。

    C.对相同类型的数据进行不同的操作需定义相同的函数。

D.对相同类型的数据进行相同的操作需定义完全不同的函数。

 

 

11. 下列函数中,____不能重载。

(2分) 

    A.成员函数

    B.非成员函数

    C.析构函数

D.构造函数   

 

12. 关于虚函数的描述中,_____是正确的。

(2分)

    A.虚函数是一个static类型的成员函数

    B.虚函数是一个非成员函数

    C.基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数

D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型   

 

13. 下列运算符中,_____运算符在C++中不能重载。

(2分)

    A.&&

    B.[]

    C.:

:

D.new   

 

14.C++语言本身没有定义I/O操作,但I/O操作包含在C++实现中。

C++标准库iostream库提供了基本的I/O类。

I/O操作分别由两个类istream和ostream提供,由它们派生出一个类____,提供双向I/O操作。

使用I/O流的程序需要包含iostream.h。

(2分) 

    A.iostream

    B.iostream.h

    C.ostream

    D.cin   

 

15. 友元关系是:

(2分) 

   A.单向且能传递

    B.双向且不能传递

    C.单向且不能传递

D.双向且能传递  

 

16. 在C++类中可以包含________种具有不同访问控制权的成员。

(3分)

    A.私有

    B.公有

    C.保护

D.继承

 

17. 函数模板的优点________。

(3分)

    A.创建通用功能的函数

    B.支持多种不同形参

    C.任何子程序调用只要一个模板函数即可

D.简化重载函数的函数体设计   

 

18. 对某具体问题进行抽象分析的结果是通过____来描述和实现的(2分)

 

19. 类成员的访问控制属性中私有类型的说明用____(2分)

 

20. 多态是通过___函数和虚函数等技术来实现的(2分)

 

21. 成员函数类外实现时函数名前必须使用___来限定(2分)

 

22. 构造函数在定义对象时由___调用(2分)

 

23. 类模板定义中使用_____关键字(2分)

 

24. 对象的生存期可以分为静态和___两种(2分)

 

25. 全局变量是具有___作用域的变量(2分)

 

26.C++程序按结构可划分为:

类___文件、类定义文件和类使用文件(2分)

 

27. 利用I/O流类库中的操纵符_____可以设置输出宽度。

(2分)

 

28. 利用I/O流类库中的格式标志值______设置以右对齐格式输出数据。

(2分)

 

 

29. 分析以下程序执行的结果(11分)

#include

classSample

{

   intx,y;

   public:

       Sample(){x=y=0;}

       Sample(inta,intb){x=a;y=b;}

       ~Sample()

       {

           if(x==y)

               cout<<"x=y"<

           else

               cout<<"x!

=y"<

       }

       voiddisp()

       {

           cout<<"x="<

       }

};

voidmain()

{

   Samples1(2,3);

   s1.disp();

   s1.~Sample();

}

30. 分析以下程序的执行结果(11分)

#include

classSample

{

   intx,y;

   public:

       Sample(){x=y=0;}

   Sample(inta,intb){x=a;y=b;}

   ~Sample()

   {

       if(x==y)

           cout<<"x=y"<

       else

           cout<<"x!

=y"<

   }

   voiddisp()

   {

       cout<<"x="<

   }

};

voidmain()

{

   Samples1,s2(2,3);

   s1.disp();

   s2.disp();

}

31. 编写一个程序,已有若干学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。

(20分)

 

参考答案:

 

 

1

D

2

A

3

A

4

A

5

C

6

C

7

A

8

B

9

D

10

B

11

C

12

C

13

C

14

A

15

C

16

ABC

17

ABD

18

19

private

20

重载

21

类域标记

22

系统自动

23

template

24

动态

25

文件

26

申明

27

setw()

28

ios:

:

right

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

29. 解:

 x=2,y=3

         x!

=y

         x!

=y

    本题说明了可以显式调用析构函数。

首先定义了一个类Sample,在main()中定义了它的一个对象,定义s1对象时调用其重载构造函数(x=2,y=3),然后,调用其成员函数输出数据成员,然后调用一次析构函数,最后在退出程序时又自动调用析构函数,所以输出为:

   x=2,y=3

   x!

=y

   x!

=y

注意:

析构函数不同于构造函数,析构函数既能被显式调用,也能被隐式调用。

 

 

30. 解:

x=0,y=0

         x=2,y=3

         x!

=y

         x=y

    本题说明了析构函数的调用顺序,这里定义了两个对象,先顺序调用s1和s2对象的构造函数,再调用各自的成员函数disp(),最后顺序调用s2和s1的析构函数。

所以输出为:

   x=0,y=0

   x=2,y=3

   x!

=y

   x=y

31. 解:

    设计一个学生类Stud,除了包括no(学号)、name(姓名)、和deg(成绩)数据成员外。

有两个静态变量sum和num,分别存放总分和人数,另有一个构造函数、一个普通成员函数disp()和一个静态成员函数avg(),它用于计算平均分。

本题程序如下:

#include

#include

classStud

{

   intno;

   charname[10];

   intdeg;

   staticintsum;

   staticintnum;

   public:

       Stud(intn,charna[],intd)

       {

           no=n;deg=d;

           strcpy(name,na);

           sum+=d;

           num++;

       }

       staticdoubleavg()

       {

           returnsum/num;

       }

       voiddisp()

       {

           printf("%-5d%-8s%3d\n",no,name,deg);

       }

};

intStud:

:

sum=0;

intStud:

:

num=0;

voidmain()

{

   Studs1(1,"Li",89),s2(2,"Chen",78),s3(3,"Zheng",94);

   printf("\n学号   姓名   成绩\n");

   s1.disp();

   s2.disp();

   s3.disp();

   printf("   平均分=%g\n\n",Stud:

:

avg());

}

本程序的执行结果如下:

学号        姓名        成绩

1         Li           89

2         Chen         78

3         Zheng        94

   平均分=87

 

 

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2