重庆大学2022年秋季学期课程作业《C++程序设计语言》在线题库_第1页
重庆大学2022年秋季学期课程作业《C++程序设计语言》在线题库_第2页
重庆大学2022年秋季学期课程作业《C++程序设计语言》在线题库_第3页
重庆大学2022年秋季学期课程作业《C++程序设计语言》在线题库_第4页
重庆大学2022年秋季学期课程作业《C++程序设计语言》在线题库_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、单项选择题(共20题、共50分)

1.

程序中主函数的名字为()o

A、

Main

B、

main

C、

任意标识符

D、

MAIN

2.

C++语言的编译系统对宏命令的处理是()o

A、

和C++程序的其它语句同时进行编译

B、

在程序运行时进行

C、

在对源程序中其它成分正式编译之前进行

D、

在程序连接时进行

3.

假定AB为一个类,则执行“ABx;”语句时将自动调用该类的()。

A、

拷贝构造函数

B、

带参构造函数

C、

赋值重载函数

D、

无参构造函数

4.

软件产品与其他软件产品组合成一个整体的难易程度叫做软件的()。

A、

兼容性

B、

可维护性

C、

正确性

D、

可复用性

5.

派生类的对象对它的基类成员中()是可以访问的。

A、

公有继承的保护成员

B、

公有继承的公有成员

C、

私有继承的公有成员

D、

公有继承的私有成员

6.

采用重载函数的目的是()o

A、

提高速度

B、

实现共享

C、

使用方便,提高可读性

D、

减少空间

7.

在inta=3;*p=&a;中,*p的值是()。

A、

变量p的地址值

B、

变量a的地址值

C、

3

D、

无意义

8.

关于函数的返回值说法正确的是()。

A、

函数可以没有返回值,这时在函数定义,函数的类型说明就没必要了

B、

由return语句返回时,只带回一值,其类型在函数定义时确定

C、

函数调用就要有返回值,否则调用就没意义了

D、

其类型由调用表达式决定

9.

关于静态成员的描述中,()是错误的。

A、

静态数据成员初始化不使用其构造函数

B、

静态成员可分为静态数据成员和静态成员函数

C、

静态数据成员函数中不能直接引用非静态成员

D、

静态数据成员定义后必须在类体内进行初始化

10.

下面有关构造函数的描述中,正确的是()。

A、

构造函数必须带有参数

B、

构造函数可以带有返回值

C、

构造函数必须定义,不能缺省

D、

构造函数的名字与类名完全相同

11.

假设已经定义好了类student,现在要定义类derived,它是从student私有派生的,则定

义类derived的正确写法是()。

A、

classderived::publicstudent{//.}

B、

classderived::studentprivate{//〃〃.}

C、

classderived::privatestudent{//〃〃.}

D、

classderived::studentpublic{//〃八}

12.

软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应

的软件更新的难易程度叫做软件的()。

A、

兼容性

B、

可维护性

C、

正确性

D、

可复用性

13.

在关键字private后面定义的成员为类的()成员。

A、

保护

B、

私有

C、

任何

D、

公用

14.

运算符重载是对已有的运算符赋予多重含义,因此(

)o

A、

只能重载C++中已经有的运算符,不能定义新运算符

B、

可以对基本类型(如int类型)的数据,重新定义“运算符的含义

C、

C++中已经有的所有运算符都可以重载

D、

可以改变一个己有运算符的优先级和操作数个数

15.

以下关于函数模板叙述正确的是()。

A、

通过使用不同的类型参数,函数模板可以生成不同类型的函数

B、

函数模板也是一个具体类型的函数

C、

用函数模板定义的函数没有类型

D、

函数模板的类型参数与函数的参数是同一个概念

16.

友员的作用之一是()

A、

实现数据的隐蔽性

B、

提高程序的运行效率

C、

增加成员函数的种类

D、

加强类的封装

17.

()是析构函数的特征。

A、

析构函数的定义只能在类体内

B、

一个类中只能定义一个析构函数

C、

析构函数可以有各个或多个参数

D、

析构函数与类名不同

18.

在声明类时,下面的说法正确的是()。

A、

private,public,protected可以按任意顺序出现

B、

可以在类的声明中给数据成员赋初值

C、

没有用private,public,protected定义的数据成员是公有成员

D、

数据成员的数据类型可以是register

19.

在intb[][3]={{l},{3,2},{456},{0}};b[2][2]的值是()。

A、

5

B、

0

c、

6

D、

2

20.

关于成员函数特征的下列描述中,()是错误的。

A、

成员函数可以设置缺省参数值

B、

成员函数一定是内联函数

C、

成员函数可以是静态的

D、

成员函数可以重载

二、判断题(共20题、共50分)

1.

当以非成员函数形式重载运算符时,有时需要访问参与运算的对象的私有成员,那么我们可

以将这个成员函数设置为类的友元函数。

正确

错误

2.

C++程序中,要用文本方式处理输入/输出文件,可以使用下面的语句序列打开指定文件。

fstreammyf;myf.open("data",ios::in|ios::out);

正确

错误

3.

如果派生类的多个基类来源于同一祖先类,可以使用作用域限定符::来限定调用来自祖先类

的成员函数,以此消除多重继承带来的二义性。

正确

错误

4.

C++的函数重载概念,简单说就是在同一个程序中允许功能类似的函数使用相同的名字。

正确

错误

5.

将字符串数据:"Thisisateststring."作为string类型对象str的初始值,可以使用C++语句序

列:chars[]="Thisisateststring.";stringstr(s);。

正确

错误

6.

如果一个函数是某个类的友元函数,那么这个函数可以访问该类对象的私有成员和保护成员。

正确

错误

7.

如果析构函数是纯虚函数,那么它必须被实现,因为派生类的析构函数需要调用它。

正确

错误

8.

C++程序中,使用文件流对象的open函数打开文件,使用文件流对象的close函数关闭文件.

正确

错误

9.

string类型对象与字符数组的不同之处是:字符数组可以初始化,string类型对象不能进行

初始化。

正确

错误

10.

C++程序中,对于两个string类型对象而言,复合赋值运算(+=)和连接运算(+)是完全相

同的运算。

正确

错误

11.

程序中,流对象的输入域宽控制也可以使用对象的函数成员实现。

C++dncinwidth

正确

错误

12.

C++中定义函数时,无论参数表如何表示,只要返回值类型不相同就能实现重载。

正确

错误

13.

C++程序中初始化多维数组时,如果提供了数组的全部元素值,则可任意地选择省略其中一

维的长度指定。

正确

错误

14.

设有string类型对象si,使用sl.clear。可以清楚si中的所有字符内容。

正确

错误

15.

C++程序中,如果要求将文件中的所有数据依次进行处理,则使用文件的顺序读写方式处理

文件更为合理。

正确

错误

16.

C++程序中,创建动态二维数组时,必须要使用相应数据类型的二级指针来表示动态数组的

起始地址。

正确

错误

17.

虚函数不能被子孙类传递,也就是说基类如果有虚函数,它的直接派生类也具有这个同名的

虚函数,但是间接派生类就不具有。

正确

错误

18.

C++程序中,除了可按照C的方式处理文件外,还可以使用C++的文件流类库来处理文件数

据。

正确

错误

19.

C++程序中,对文件数据的读写主要分为顺序读些和随机读写。

正确

错误

20.

C++程序中,可以通过输出文件流对象和插入操作符(<<)配合将数据写入到数据文件中。

正确

错误一、单项选择题(共20题、共50分)

1.

下列()的调用方式是引用调用。

A、

形参是指针,实参是地址值

B、

形参是引用,实参是变量

C、

形参是变量,实参是地址值

D、

形参和实参都是变量

2.

在多文件结构的程序中,通常把含有main。函数的文件称为()。

A、

实现文件

B、

程序文件

C、

头文件

D、

主文件

3.

下列关于实参和形参说法错误的是()。

A、

实参与形参的类型必须一致,否则会发生“类型不匹配”的错误。

B、

实参对形参的数据传递是单向传递,调用结束后,实参单元被释放。

C、

形参必须是变量。

D、

实参可以是变量、常量、或表达式。

4.

在intb[][3]={{l},{3,2},{4,5,6},{0}};b[2][2]的值是()。

A、

2

B、

5

C、

6

D、

0

5.

由C++目标文件连接而成的可执行文件的缺省扩展名为()。

A、

exe

B、

obj

C、

lik

D、

cpp

6.

在C++中,继承方式有哪几种?()

A、

2

B、

3

C、

4

D、

1

7.

有以下语句structS{intg;charh;}T;则下面叙述中不正确的是()。

A、

该结构体包含2个成员

B、

S是struct类型的变量

C、

T是structS类型的变量

D、

S是结构体名

8.

关于成员函数特征的下列描述中,()是错误的。

A、

成员函数可以重载

B、

成员函数可以设置缺省参数值

C、

成员函数可以是静态的

D、

成员函数一定是内联函数

9.

关于内联函数说法错误的是()。

A、

内联函数的函数体内不能含有复杂的结构控制语句

B、

递归函数可以被用来作为内联函数

C、

内联函数一般适合于只有1〜5行语句的小函数

D、

不是任何一个函数都可定义成内联函数

10.

假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为()。

A、

OneClass&(OneClassp);

B、

OneClass(OneClass&p);

C、

OneClass(OneClass*p);

D、

OneClass(OneClassp);

11.

下面有关重载函数的说法中正确的是()。

A、

重载函数形参个数必须不同。

B、

重载函数必须有不同的形参列表。

C、

重载函数名可以不同。

D、

重载函数必须具有不同的返回值类型。

12.

面向对象方法的多态性是指()o

A、

一个对象在不同的运行环境中可以有不同的变体

B、

针对一消息,不同的对象可以以适合自身的方式加以响应

C、

一个对象可以是由多个其他对象组合而成的

D、

一个类可以派生出多个特殊类

13.

假定一个类的构造函数为B(intx,inty){a=x--;b=a*y--;},则执行Bx(3,5);语句后,x.a和

x.b的值分别为()。

A、

5和3

B、

3和15

c、

20和5

D、

3和5

14.

以下正确的描述是()。

A、

设置参数的默认值只能在定义函数时设置

B、

设置参数的默认值时,应该设置右边的参数

C、

设置参数的默认值时,应该全部参数都设置

D、

不允许设置参数的默认值

15.

运算符重载是对已有的运算符赋予多重含义,因此()o

A、

可以改变一个已有运算符的优先级和操作数个数

B、

只能重载C++中已经有的运算符,不能定义新运算符

C、

C++中已经有的所有运算符都可以重载

D、

可以对基本类型(如int类型)的数据,重新定义“运算符的含义

16.

以下关于函数模板叙述正确的是()。

A、

函数模板的类型参数与函数的参数是同一个概念

B、

通过使用不同的类型参数,函数模板可以生成不同类型的函数

C、

用函数模板定义的函数没有类型

D、

函数模板也是一个具体类型的函数

17.

下面对静态数据成员的描述中,正确的是()。

A、

类的每个对象都有自己的静态数据成员

B、

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

C、

静态数据成员不能通过类的对象调用

D、

类的不同对象有不同的静态数据成员值

18.

结构中定义的成员默认为()访问属性。

A、

private

B、

protected

C、

friend

D、

public

19.

假定一个类AB只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该类定

义的无参构造函数为()o

A、

AB(intaa=0):a(aa){}

B、

AB(intaa):a(aa){}

C、

AB()«

D、

AB(){a=0;}

20.

下列关于构造函数的描述中,错误的是()。

A、

构造函数在定义类对象的自动执行

B、

构造函数可以是内联函数

C、

构造函数不可以重载

D、

构造函数可以设置默认的参数

二、判断题(共20题、共50分)

1.

C++程序中,下面的语句序列可以正确打开和关闭指定文件。fstreammyf;

myf.open("data",ios::in|ios::out);fclose(myf);

正确

错误

2.

在重教()操作语句中,第一个圆括弧总是空的。

正确

错误

3.

C++语言支持多重继承,派生类将继承多个父类中共有的同名属性和方法。

正确

错误

4.

C++程序中,使用文件流对象的eof函数来判断文件数据是否已经处理完成。

正确

错误

5.

C++程序中,使用内联函数的目的是提高程序的执行效率。

正确

错误

6.

将字符串数据:"Thisisateststring."作为string类型对象str的初始值,可以使用C++语句:

stringstr("Thisisateststring.");,

正确

错误

7.

C++程序中可以使用C标准库中提供的字符分类标准函数,使用时需要用文件包含预处理命

令将cctype头文件包含到源程序中。

正确

错误

8.

C++中定义函数时,无论参数表如何表示,只要返回值类型不相同就能实现重载。

正确

错误

9.

C++程序中,可以通过文件流对象的tellg函数获取文件写位置指针与文件头之间的距离(字

节数)。

正确

错误

10.

C++程序中,使用setw指定的域宽格式控制仅对紧跟在其后的输出数据项有效。

正确

错误

11.

C++程序中,实现动态分配的运算符new和delete必须配合使用。

正确

错误

12.

C++程序中,可以使用表达式sl.empty()判断si是否空串。

正确

错误

13.

C++程序中,因为不能用文件流对象做函数的形式参数,所以不能将文件处理部分编制成独

立的函数。

正确

错误

14.

如果基类的析构函数定义为虚函数,那么这个基类的所有子孙类的析构函数都将是虚函数

正确

错误

15.

使用字符数组方式处理字符串数据时,一不小心可能出现数组越界的错误,而且往往不太容

易发现这类错误。

正确

错误

16.

C++程序中,要用二进制方式处理输入/输出文件,可以使用下面的语句序列打开指定文件。

fstreammyf;myf.open("data",ios::in|ios::out|ios::binary);

正确

错误

17.

C++程序中,对文件数据的读写主要分为顺序读些和随机读写.

正确

错误

18.

C++程序中,可以通过文件流对象的seekg移动文件的写位置指针。

正确

错误

19.

C++程序中,创建动态一维数组时,必须要使用相应数据类型的一级指针来表示动态数组的

起始地址。

正确

错误

20.

如果析构函数是纯虚函数,那么它必须被实现,因为派生类的析构函数需要调用它。

正确

错误

一、填空题(共10题、共30分)

1.

在C++程序中包含一个头文件或程序文件的预编译命令为。

在线答题

2.

在C++中存储字符串"abcdef”至少需要个字节。

在线答题

3.

在C++中,编译时的多态性是通过实现的,而运行时的多态性则是通过

__________实现的。

在线答题

4.

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

在线答题

5.

则的输出结果是。

enumPrintstatus{readyzbusy,error};cout<<busy

在线答题

6.

若udoublex=100;是文件FLCPP中的一个全局变量定义语句,若文件F2.CPP中的某个

函数需要访问此x,则应在文件F2.CPP中添加对x的声明语句为o

在线答题

7.

C++语言是在语言的基础上发展起来的。

在线答题

8.

执行char*p二newchar('a')操作后,p所指向的数据对象的值为。

在线答题

9.

C++支持两种多态性:时的多态性和时的多态性。

在线答题

10.

全局变量和静态局部变量具有静态生存期,存放在内存的____________区中。

在线答题

二、程序阅读题(共6题、共30分)

1.

阅读下面程序,写出输出结果。

/include<iostream>

usingnamespacestd;

classA

(

inta,b;

public:

A(){a=b=0;}

A(intaa,intbb)

(

a=aa;

b=bb;

cout«a«11«b«endl;

);

intmain()

Ax,y(2,3);

return0;

)

在线答题

2.

请写出如下程序的输出结果:

#include<iostream.h>

inta[]={2,4,6,8,10};

int&index(inti)

{returna[i];

)

voidmain()

(

inti;

index(3)=12;

for(i=0;i<=4;i++)

cout«a[i]«"

)

在线答题

3.

请写出如下程序的输出结果:

#include<iostream.h>

voidSwap(int&a,int&b);

voidmain()

intx(10),y(7);

cout«"x="«x«"y="«y«endl;

Swap(x,y);

cout«"x="«x«"y="«y«endl;

)

voidSwap(int&a,int&b)

{inttemp;temp=a;a=b;b=temp;}

在线答题

4.

写出下列程序的运行结果。

/include<iostream.h>

voidFun()

(

intnum=20;

cout«HTheFun'snumis"«num«endl;

)

voidmain()

(

intnum=10;

cout«"Themain'snumis"«num«endl;

Fun();

(

intnum=30;

cout«"TheField'snumis"«num«endl;

cout«"Themain'snumis"«num«endl;

在线答题

5.

阅读程序,写出运行结果。

/include<iostream.h>

inta=5;

voidfun(intb)

{

staticinta=10;

a+=b++;

cout«a;

)

voidmain()

(

intc=20;

fun(c);

a+=c++;

cout«a«endl;

)

在线答题

6.

#include<iostream>

#include<cstring>

usingnamespacestd;

i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论