专技天下代学代刷-培训计划代学沉梦刷课网课代学QQ:1459753/////////////中国大学MOOC 面向对象程序设计(广州中医药大学)1451491172 最新慕课完整章节测试答案专技天下代学代刷-培训计划代学沉梦刷课网课代学QQ:1459753/////////////

专技天下代学代刷-培训计划代学沉梦刷课网课代学QQ:1459753/////////////

第一章C++基础

1-07小节测试

1、多选题:
‍下列说法正确的是(    )。‏
选项:
A: 使用cin和cout进行标准输入输出时必须包含头文件iostream
B: 在编写一个控制台应用程序时,程序中有且只能有一个main函数
C: 在一个控制台应用程序中,可以有多个main函数
D: 一条C++语句中可以定义多个不同类型的变量
答案: 【 使用cin和cout进行标准输入输出时必须包含头文件iostream;
在编写一个控制台应用程序时,程序中有且只能有一个main函数

2、判断题:
‌C++程序中使用cin和cout除了要包含头文件iostream外,还要指定使用std命名空间。‍
选项:
A: 正确
B: 错误
答案: 【 正确

1-08小节测试

1、多选题:
‎下列说法正确的是(    )。‍
选项:
A: C++字符集中包括汉字
B: C++中myname和Myname表示不同的标识符
C: _name是一个合法的C++标识符
D: 1name是一个合法的C++标识符
答案: 【 C++中myname和Myname表示不同的标识符;
_name是一个合法的C++标识符

2、判断题:
‌C++中用户定义的标识符可以与系统关键字同名。‏
选项:
A: 正确
B: 错误
答案: 【 错误

1-09小节测试

1、多选题:
​已知:const double PI=3.14;则以下语句中正确的是(    )。‍
选项:
A: double a=2*PI;
B: PI=3.14159;
C: cin>>PI;
D: cout<<PI;
答案: 【 double a=2*PI;;
cout<<PI;

2、判断题:
​cin后面的符号是<<。‏
选项:
A: 正确
B: 错误
答案: 【 错误

1-10小节测试

1、多选题:
‍下列说法正确的是(    )。​
选项:
A: 定义内联函数需要在函数声明处加上inline关键字
B: 定义内联函数需要在函数定义处加上inline关键字
C: 内联函数是为了避免函数调用所引起的额外时间开销
D: 内联函数中不能包括循环、switch等复杂结构控制语句
答案: 【 定义内联函数需要在函数定义处加上inline关键字;
内联函数是为了避免函数调用所引起的额外时间开销;
内联函数中不能包括循环、switch等复杂结构控制语句

1-12小节测试

1、单选题:
​对定义重载函数的下列要求中,(     )是错误的。‌
选项:
A: 要求参数的个数不同
B: 要求参数中至少有一个类型不同
C: 要求参数个数相同时,参数类型不同
D: 要求函数的返回值不同
答案: 【 要求函数的返回值不同

2、多选题:
‎下列选项中,正确的函数重载包括(    )。​
选项:
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)
答案: 【 void f(int a, int b)和void f(int a);
void f(int a)和void f(double a)

3、判断题:
‍函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。‎
选项:
A: 正确
B: 错误
答案: 【 正确

1-13小节测试

1、多选题:
‍下列语句中正确的是(    )。‏
选项:
A: int *p=new int(3);
B: int *p=new int[3];
C: int *p=new int[3](3)
D: int *p=new int[];
答案: 【 int *p=new int(3);;
int *p=new int[3];

2、判断题:
‎int *p=new int[5];表示为指针变量p分配了一个int型元素空间,并将该片内存空间的值初始化为5。‏
选项:
A: 正确
B: 错误
答案: 【 错误

1-15小节测试

1、单选题:
‍下列表示引用的方法中,(     )是正确的。  已知:int k=1000;‌
选项:
A: int &x=k;
B: char &y;
C: int &z=1000;
D: float &t=&k;
答案: 【 int &x=k;

2、多选题:
​已知int a=10; int &r=a;,则下列语句中,能够将变量a的值设置为3的语句包括(    )。‍
选项:
A: r-=7;
B: a-=7;
C: &r=3;
D: a=3
答案: 【 r-=7;;
a-=7;;
a=3

3、判断题:
‌引用是某个变量的别名。对引用的操作,实质上就是对被引用的变量的操作。‌
选项:
A: 正确
B: 错误
答案: 【 正确

1-16小节测试

1、多选题:
‏已知函数:‍‏void f(int a, int &b)‍‏{a+=2; b+=2;},变量int x=3, y=5;,则以下说法正确的是(    )。‍‏‍
选项:
A: 执行f(x,y)后,x的值是5
B: 执行f(x,y)后,x的值是3
C: 执行f(x,y)后,y的值是7
D: 执行f(x,y)后,y的值是5
答案: 【 执行f(x,y)后,x的值是3;
执行f(x,y)后,y的值是7

小节测试

1、单选题:
​在C++中,关于下列设置参数默认值的描述中,正确的是(     )。​
选项:
A: 不允许设置参数的默认值
B: 设置参数默认值只能在定义函数时设置
C: 设置参数默认值时,应该是先设置右边的再设置左边的
D: 设置参数默认值时,应该全部参数都设置
答案: 【 设置参数默认值时,应该是先设置右边的再设置左边的

2、多选题:
‏已知函数调用f(3,4,5)是正确的函数调用,则下列选项中函数f可能的声明形式包括(    )。‍
选项:
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);
答案: 【 void f(int a, int b, int c);;
void f(int a, int b, int c=10);;
void f(int a, int b, int c=10, int d=20);

3、判断题:
​默认形参值应在函数定义处指定。​
选项:
A: 正确
B: 错误
答案: 【 错误

第一章单元测试

1、单选题:
‍在C++中,关于下列设置参数默认值的描述中,正确的是(     )。‍
选项:
A: 不允许设置参数的默认值
B: 设置参数默认值只能在定义函数时设置
C: 设置参数默认值时,应该是先设置右边的再设置左边的
D: 设置参数默认值时,应该全部参数都设置
答案: 【 设置参数默认值时,应该是先设置右边的再设置左边的

2、单选题:
‌对定义重载函数的下列要求中,(     )是错误的。‎
选项:
A: 要求参数的个数不同
B: 要求参数中至少有一个类型不同
C: 要求参数个数相同时,参数类型不同
D: 要求函数的返回值不同
答案: 【 要求函数的返回值不同

3、单选题:
‍下列对重载函数的描述中,(     )是错误的。‏
选项:
A: 重载函数中不允许使用默认参数
B: 重载函数中编译时根据参数表进行选择
C: 不要使用重载函数来描述毫无相干的函数
D: 构造函数重载将会给初始化带来多种方式
答案: 【 重载函数中不允许使用默认参数

4、单选题:
‏下列表示引用的方法中,(     )是正确的。  已知:int k=1000;‍
选项:
A: int &x=k;
B: char &y;
C: int &z=1000;
D: float &t=&k;
答案: 【 int &x=k;

5、单选题:
‌下列引用的定义中,(    )是错误的。‏
选项:
A: int i;   int &j=i;
B: int i;    int &j;    j=i;
C: float i;  float &j=i;
D: char d;    char &k=d;
答案: 【 int i;    int &j;    j=i;

6、多选题:
​已知:const double PI=3.14;则以下语句中正确的是(    )。‎
选项:
A: double a=2*PI;
B: PI=3.14159;
C: cin>>PI;
D: cout<<PI;
答案: 【 double a=2*PI;;
cout<<PI;

7、多选题:
‎已知函数声明void f(int a, int b=10, int c=20, int d=30);,则下列函数调用中正确的是(    )。‍
选项:
A: f(3)
B: f(3,,5)
C: f(3,4,5,6)
D: f()
答案: 【 f(3);
f(3,4,5,6)

8、多选题:
‍下列选项中,正确的函数重载包括(    )。‏
选项:
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)
答案: 【 void f(int a, int b)和void f(int a);
void f(int a)和void f(double a)

9、多选题:
‌已知int a=10; int &r=a;,则下列语句中,能够将变量a的值设置为3的语句包括(    )。‎
选项:
A: r-=7;
B: a-=7;
C: &r=3;
D: a=3
答案: 【 r-=7;;
a-=7;;
a=3

10、判断题:
‏一个算法必须能在有限步骤内解决问题。‍
选项:
A: 正确
B: 错误
答案: 【 正确

11、判断题:
​源程序编译后会生成可执行程序。‍
选项:
A: 正确
B: 错误
答案: 【 错误

12、判断题:
‎面向对象的英文缩写是OOP。‌
选项:
A: 正确
B: 错误
答案: 【 正确

13、判断题:
‎调试主要是为了解决程序运行时产生的错误。‌
选项:
A: 正确
B: 错误
答案: 【 正确

14、判断题:
‌cin后面的符号是<<。​
选项:
A: 正确
B: 错误
答案: 【 错误

15、判断题:
‌默认形参值应在函数定义处指定。‌
选项:
A: 正确
B: 错误
答案: 【 错误

16、判断题:
‎返回引用的函数可以返回局部变量。‏
选项:
A: 正确
B: 错误
答案: 【 错误

第二章面向对象方法

2-01小节测试

1、单选题:
‍下面关于对象概念的描述中,(     )是错误的。​
选项:
A: 对象就是C语言中的结构变量
B: 对象代表着正在创建的系统中的一个实体
C: 对象是一个状态和操作(或方法)的封装体
D: 对象之间的信息传递是通过消息进行的
答案: 【 对象就是C语言中的结构变量

2、单选题:
‌C++对C语言做了很多改进,下列描述中(     )使得C语言发生了质变,即从面向过程变成面向对象。‌
选项:
A: 增加了一些新的运算符
B: 允许函数重载,并允许设置默认参数
C: 规定函数说明必须用原型
D: 引进类和对象的概念
答案: 【 引进类和对象的概念

3、多选题:
‍下列说法正确的是(    )。‎
选项:
A: 面向对象方法的基本观点是一切系统都是由对象构成的
B: 面向对象方法的基本观点是一切系统都是由模块构成的
C: 面向对象方法中通过“消息”来触发行为
D: 面向对象方法中用类和对象来表示现实世界
答案: 【 面向对象方法的基本观点是一切系统都是由对象构成的;
面向对象方法中通过“消息”来触发行为;
面向对象方法中用类和对象来表示现实世界

4、判断题:
‏在面向对象程序设计中,具有相同属性和方法的一组对象的集合称为类。​
选项:
A: 正确
B: 错误
答案: 【 正确

2-02小节测试

1、单选题:
‎面向对象程序设计思想的主要特征中不包括(     )。‍
选项:
A: 封装性
B: 多态性
C: 继承性
D: 功能分解,逐步求精
答案: 【 功能分解,逐步求精

2、单选题:
‌下列关于C++类的描述中错误的是(      )。​
选项:
A: 类与类之间可以通过一些手段进行通信和联络
B: 类用于描述事物的属性和对事物的操作
C: 类与类之间必须是平等的关系,而不能组成层次关系
D: 类与类之间可以通过封装而具有明确的独立性
答案: 【 类与类之间必须是平等的关系,而不能组成层次关系

3、多选题:
‎对象的核心概念就是通常所说的()。‏
选项:
A: 继承
B: 封装
C: 传递
D: 多态
答案: 【 继承;
封装;
多态

2-03小节测试

1、单选题:
‍有下面类的说明,有错误的语句是(     )。‌‍class X   {‌‍A.int a=2;‌‍B.X();‌‍public:‌‍C.X(int val);‌‍D.~X();‌‍};‌‍‌
选项:
A: A
B: B
C: C
D: D
答案: 【 A

2、单选题:
‏下面程序段中是内联函数的是(   )。​‏class location​‏{​‏private:​‏int x ,y;​‏public:​‏void init(int initx,int inity) { x=initx; y=inity; }​‏int getx(){return x;}​‏int gety();​‏}; ​‏inline int location::gety() {return y;}​‏​
选项:
A: init (int initx,int inity)
B: getx(),gety()
C: A和B都是
D: A和getx()
答案: 【 A和B都是

3、多选题:
‍下列说法正确的是(    )。‏
选项:
A: 数据成员用来描述对象的状态
B: 成员函数用来描述对象的行为
C: 定义类需要使用class关键字
D: 类中的所有成员必须采有相同的访问控制方式
答案: 【 数据成员用来描述对象的状态;
成员函数用来描述对象的行为;
定义类需要使用class关键字

4、判断题:
‌在类体中可以在声明成员变量的同时为其赋初值。‌
选项:
A: 正确
B: 错误
答案: 【 错误

2-04小节测试

1、单选题:
‎声明一个类的对象时,系统自动调用(   )函数。‎
选项:
A: 成员函数
B: 构造函数
C: 析构函数
D: 普通函数
答案: 【 构造函数

2、单选题:
‌已知X类.则当程序执行到语句X *array[3];时,调用了(   )次构造函数。​
选项:
A: 0
B: 1
C: 2
D: 3
答案: 【 0

3、单选题:
‌下列(   )是构造函数的特征。‏
选项:
A: 构造函数在创建对象时自动调用
B: 构造函数不可以重载
C: 构造函数不可以设置默认参数
D: 构造函数必须指定函数类型
答案: 【 构造函数在创建对象时自动调用

4、多选题:
‏下面对构造函数的正确描述是(    )。​
选项:
A: 系统可以提供默认的构造函数
B: 构造函数可以有参数,所以可以有返回值
C: 构造函数可以重载
D: 构造函数可以设置默认参数
答案: 【 系统可以提供默认的构造函数;
构造函数可以重载;
构造函数可以设置默认参数

5、判断题:
​一个类的构造函数中可以不包含对其子对象的初始化。​
选项:
A: 正确
B: 错误
答案: 【 错误

2-05小节测试

1、单选题:
‏已知X类中的一个成员函数说明如下: ‎‏void Set(X*a);  其中,X*a的含义是(   )。‎‏‎
选项:
A: a是指向X类对象的指针,用来作为Set()的形参
B: 将X*a的计算结果传递给Set()函数
C: a是X类对象的引用,用来做为Set()的形参
D: 以上都不对
答案: 【 a是指向X类对象的指针,用来作为Set()的形参

2、单选题:
‍对于下面定义的类A在函数f()中将对象成员n的值修改为60的语句应该是(   )‍‍class A‍‍{‍‍public:‍‍A(int x){n=x;}‍‍void SetNum(int n1){n=n1;}‍‍private:‍‍int n;‍‍}‍‍int f() { A*ptr=new A(6); }‍‍‍
选项:
A: A(60)
B: SetNum(60)
C: ptr->SetNum(60)
D: ptr->n=60
答案: 【 ptr->SetNum(60)

3、多选题:
‍已知Cirle是一个类,其中有一个成员函数public:void setRadius(int r),且有如下变量定义语句Circle c, pC=&c;则下列语句正确的是(    )。​
选项:
A: c::setRadius(3)
B: pC->setRadius(3)
C: pC.setRadius(3)
D: c.setRadius(3)
答案: 【 pC->setRadius(3);
c.setRadius(3)

4、判断题:
‏说明或定义对象时,类名前面不需要加class关键字。‏
选项:
A: 正确
B: 错误
答案: 【 正确

2-07小节测试

1、单选题:
​在类定义的外部,可以被访问的成员有(    )。‏
选项:
A: 所有类成员
B: private或protected的类成员
C: public的类成员
D: public或private的类成员
答案: 【 public的类成员

2、单选题:
‍在类的定义形式中,数据成员、成员函数和(   )组成了类定义体。​
选项:
A: 成员的访问控制信息
B: 公有消息
C: 私有消息
D: 保护消息
答案: 【 成员的访问控制信息

3、多选题:
‏类的成员函数中可以直接访问本类的(    )。‎
选项:
A: 公有成员
B: 保护成员
C: 私有成员函数
D: 私有成员变量
答案: 【 公有成员;
保护成员;
私有成员函数;
私有成员变量

4、判断题:
‎使用关键字class定义的类中默认的访问权限是私有(private)的。‌
选项:
A: 正确
B: 错误
答案: 【 正确

2-09小节测试

1、单选题:
‌下面对析构函数的正确描述是(    )。‍
选项:
A: 系统不能提供默认的析构函数
B: 析构函数必须由用户定义
C: 析构函数没有参数
D: 析构函数可以设置默认参数
答案: 【 析构函数没有参数

2、单选题:
‍对于任意一个类,析构函数的个数最多为(   )。‎
选项:
A: 0
B: 1
C: 2
D: 3
答案: 【 1

3、判断题:
‏构造函数和析构函数都不能重载。​
选项:
A: 正确
B: 错误
答案: 【 错误

2-10小节测试

1、单选题:
‍通常拷贝构造函数的参数表是(   )。‌
选项:
A: 某个对象名
B: 某个对象的成员名
C: 某个对象的引用名
D: 某个对象的指针名
答案: 【 某个对象的引用名

2、单选题:
‍关于下面程序段说法正确的是(   )‌‍class X‌‍{‌‍private:‌‍int n;‌‍public:‌‍X(X&);‌‍};‌‍X::X(X&x) {n=x.n}‌‍X obj1,obj2(obj1);‌‍‌
选项:
A: 语句obj2(obj1);的功能是用对象obj1初始化具有相同类类型的对象obj2
B: 语句obj2(obj1);的功能是用对象obj2初始化具有相同类类型的对象obj1
C: X(X&x)中的&符号可以删除
D: X(X&x)函数中不能访问对象的私有成员
答案: 【 语句obj2(obj1);的功能是用对象obj1初始化具有相同类类型的对象obj2

3、多选题:
‌系统提供的默认拷贝构造函数实现的是“浅拷贝”,下列关于浅拷贝的说法中正确的是(    )。‌
选项:
A: 当一个类中有指针成员变量时,浅拷贝有可能会导致一片内存被重复释放
B: 当一个类中有指针成员变量时,浅拷贝有可能导致一个对象中保存的数据不正确
C: 如果一个类中只有int型和double型的成员变量,则浅拷贝不会出现任何问题
D: 如果一个类中有一个成员变量是char型数组,则使用浅拷贝会存在问题
答案: 【 当一个类中有指针成员变量时,浅拷贝有可能会导致一片内存被重复释放;
当一个类中有指针成员变量时,浅拷贝有可能导致一个对象中保存的数据不正确;
如果一个类中只有int型和double型的成员变量,则浅拷贝不会出现任何问题

4、判断题:
‌拷贝构造函数通常使用已有对象的引用来初始化创建中的对象。‌
选项:
A: 正确
B: 错误
答案: 【 正确

2-11小节测试

1、多选题:
‌下列说法中正确的是(    )。‎
选项:
A: 成员函数的声明必须放在类体中
B: 成员函数的声明可以放在类体中也可以放在类体外
C: 成员函数的实现必须放在类体中
D: 成员函数的实现可以放在类体中也可以放在类体外
答案: 【 成员函数的声明必须放在类体中;
成员函数的实现可以放在类体中也可以放在类体外

2、判断题:
‌一般将C++中的类声明和类实现分别放到两个文件中。‌
选项:
A: 正确
B: 错误
答案: 【 正确

2-12小节测似

1、多选题:
​下列关于类的常量数据成员的说法中,正确的是(    )。‎
选项:
A: 一个类的常量数据成员必须在类体中初始化
B: 一个类的常量数据成员由该类的所有对象共享
C: 一个类的常量数据成员对于该类的不同对象可以取不同的值
D: 使用const关键字可以将一个数据成员声明为常量数据成员
答案: 【 一个类的常量数据成员对于该类的不同对象可以取不同的值;
使用const关键字可以将一个数据成员声明为常量数据成员

2、判断题:
‎类的常量数据成员的值只能在创建对象时初始化,初始化后不得再修改。‎
选项:
A: 正确
B: 错误
答案: 【 正确

2-13小节测试

1、单选题:
‌下列静态数据成员的特性中,(   )是错误的。‍
选项:
A: 说明静态数据成员时前边要加关键字static来修饰
B: 静态数据成员在类体外进行初始化
C: 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符
D: 静态数据成员不是所有对象所共有的
答案: 【 静态数据成员不是所有对象所共有的

2、单选题:
‏静态成员遵循类的其他成员所遵循的访问限制,除了(   )。‎
选项:
A: 静态成员函数
B: 静态数据成员初始化
C: 私有静态数据成员
D: 公有静态成员函数
答案: 【 静态数据成员初始化

3、多选题:
​下列关于类的静态数据成员的说法中,正确的是(    )。‌
选项:
A: 静态数据成员的值初始化后不能再修改
B: 静态数据成员必须在类体外定义和初始化
C: 使用static关键字可以将一个数据成员声明为静态数据成员
D: 静态数据成员的访问控制权限可以是公有、私有

专技天下代学代刷-培训计划代学沉梦刷课网课代学QQ:1459753/////////////

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
相关推荐