2022知到答案 C++程序设计知识点实例解析 最新完整智慧树知到满分章节测试答案
第一章 单元测试
1、 问题:若有定义 double xx=3.14,pp=&xx; 则表达式pp等价于( )
选项:
A:&xx
B:*xx
C:&3.14
D:xx
答案: 【
xx
】
2、 问题:有以下程序片段:
string str(“HelloC++”);
cout<<str.substr(5,3);
则程序的输出结果是( )
选项:
A:++
B:C++
C:Hello
D:loC++
答案: 【
C++
】
3、 问题:有以下程序片段:
string str(“HelloC++”);
cout<<str.insert(8, “World”);
则程序的输出结果是( )
选项:
A:HelloC++World
B:HelloC+World+
C:HelloWorldC++
D:编译报错无法运行
答案: 【
HelloC++World
】
4、 问题:下面对引用的描述错误的是( )
选项:
A:引用是某个变量或对象的别名
B:建立引用时,要对它初始化
C:对引用初始化可以使用任意类型的变量
D:引用与其代表的对象具有相同的地址
答案: 【
对引用初始化可以使用任意类型的变量
】
5、 问题: 编译系统区分重载函数的依据是( )。
选项:
A:对应位次上参数的类型不同
B:对应位次上参数的名字不同
C:总的参数个数不同
D:函数的返回值类型不同
答案: 【
对应位次上参数的类型不同
总的参数个数不同
】
6、 问题:若函数的返回值为引用类型,则该函数的调用表达式可以作为赋值运算的左值。( )
选项:
A:对
B:错
答案: 【
对
】
7、 问题:函数可设置默认参数,但不允许将一个函数的所有参数都设置为默认参数。( )
选项:
A:对
B:错
答案: 【
错
】
8、 问题:当使用setw(int n)、setprecision(int n)等带参数的输入/输出格式控制符时,需要在程序开头包含头文件iomanip。( )
选项:
A:对
B:错
答案: 【
对
】
9、 问题:运算符new分配的空间由运算符delete释放。( )
选项:
A:对
B:错
答案: 【
对
】
10、 问题:任何函数都可以声明为内联函数( )
选项:
A:对
B:错
答案: 【
错
】
第二章 单元测试
1、 问题:下列关于析构函数描述正确的是( )
选项:
A:析构函数在程序中必须被显示调用
B:析构函数返回值类型是void
C:析构函数既没有参数也不可重载
D:析构函数体中必须有delete语句
答案: 【
析构函数既没有参数也不可重载
】
2、 问题:
有如下类定义:
class Sample
{ int n;
public:
Sample(int i=0):n(i)
{ }
void setValue(int n0)
};
成员函数setValue在类外实现的正确形式是( )
选项:
A:Sample::setValue(int n0) { n=n0; }
B:void Sample::setValue(int n0) { n=n0; }
C:void setValue(int n0) { n=n0; }
D:setValue(int n0) { n=n0; }
答案: 【
void Sample::setValue(int n0) { n=n0; }
】
3、 问题:
有如下程序片段:
class Sample
{ int n;
public:
Sample(int i=0):n(i)
{ }
void setValue(int n0)
{ n=n0; }
};
Sample Sobj;
Sample *ptr=new Sample;
则下面对成员函数setValue访问形式正确的是( )
选项:
A:Sobj.setValue(5)
B:Sobj->setValue(5)
C:ptr.setValue(5)
D:ptr->setValue(5)
答案: 【
Sobj.setValue(5)
ptr->setValue(5)
】
4、 问题:
有如下程序片段:
class Sample
{ int n;
protected:
int m;
public:
Sample(int i=0,int j=0):n(i),m(j)
{ }
void setValue(int n0,int m0)
{ n=n0; m=m0; }
};
int main()
{ Sample Obj; //①
Obj.n=3; //②
Obj.m=4; //③
Obj.setValue(3,4); //④
return 0;
}
则主函数中有误的语句是( )
选项:
A:①
B:②③
C:④
D:都不是
答案: 【
②③
】
5、 问题:下类有关类的构造函数和析构函数叙述正确的是( )
选项:
A:类的构造函数可以有多个,互为重载关系
B:类的析构函数可以有多个,互为重载关系
C:类的构造函数和析构函数都是在程序中被显示调用,而不能由系统自动隐式调用
D:类的构造函数和析构函数都是在程序中被自动隐式调用,而不能由系统显示调用
答案: 【
类的构造函数可以有多个,互为重载关系
】
6、 问题:
有如下类定义:
class TEST
{ int a;
public:
int GetRef() const //①
{ return &a;
}
int GetValue() const //②
{ return a;
}
void Set(int n) const //③
{ a=n;
}
friend void Show(TEST aa) const//④
{ cout<<a;
}
};
则类中成员函数定义错误的序号是( )
选项:
A:①
B:②
C:③
D:④
答案: 【
①
③
④
】
7、 问题:类定义中数据成员初值的设定既可以在声明数据成员时进行,也可以在构造函数中进行。
( )
选项:
A:对
B:错
答案: 【
错
】
8、 问题:作用域运算符::只能用于类成员名的所属类限定。( )
选项:
A:对
B:错
答案: 【
错
】
9、 问题:访问类对象成员或结构变量成员时,使用的运算符有.和->。( )
选项:
A:对
B:错
答案: 【
对
】
10、 问题:若类AB的声明中没有析构函数和构造函数,则系统会自动为类AB添加缺省的析构函数~AB(){};和构造函数AB(){};( )
选项:
A:对
B:错
答案: 【
对
】
第三章 单元测试
1、 问题:下列关于常类型const的叙述错误的是( )。
选项:
A:不能修改常对象的数据成员
B:通过常对象可以调用一般成员函数
C:常成员函数中不能修改对象的数据成员
D:必须使用成员初始化列表初始化常数据成员
答案: 【
通过常对象可以调用一般成员函数
】
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦