好文档 - 专业文书写作范文服务资料分享网站

C++第1~3章答案解析

天下 分享 时间: 加入收藏 我要投稿 点赞

【结果分析】

面向对象=对象+类+继承+消息+多态 四、 判断题 (1) C++程序中,不得使用没有定义或说明的变量。( √ ) (2) 使用const说明常量时,可以不必指出类型。( × ) 【结果分析】

如果用const 定义的是一个整型常量,则类型说明符int可以省略。

(3) 引用被创建时可以用任意变量进行初始化。( × ) 【结果分析】

对引用初始化必须使用同类型的变量。

(4) 一个返回引用的调用函数可以作为左值。( √ ) (5) 函数可以没有参数,也可以没有返回值。( √ ) (6) 没有参数的两个函数是不能重载的。( √ )

(7) 函数可设置默认参数,但不允许将一个函数的所有参数都设置为默认参数。( × ) 【结果分析】

函数可设置默认参数,且允许将一个函数的所有参数都设置为默认参数。 (8) 运算符new分配的空间由运算符delete释放。( √ ) 五、 简答题

(1) 名字空间的用途是什么? 【问题解答】

名字空间用来防止命名的冲突。 (2) 引用有何用处? 【问题解答】

除了独立引用外,在C++程序中,引用的主要用途是用作函数参数和函数的返回值。

(3) 比较值调用和引用调用的相同点与不同点。

--WORD格式--可编辑--

【问题解答】

在值调用机制中,作为实参的表达式的值被复制到由对应的形参名所标识的一个对象中,作为形参的初始值。函数体对形参的访问、修改都是在这个标识对象上操作的,与实参无关,即数据的传递是单向的。

使用引用作函数的形参时,调用函数的实参要用变量名。实参传递给形参,相当于在被调用函数中使用了实参的别名。于是,在被调用函数中对形参的操作实质是对实参的直接操作,即数据的传递是双向的。

(4) 内联函数有什么作用?它有哪些特点? 【问题解答】

内联函数是使用inline关键字声明的函数。在程序编译时,编译系统将程序中出现内联函数调用的地方用函数体进行替换,进而减少了程序运行的时间。

使用内联函数应注意以下几点。 ◆递归函数不能定义为内联函数。

◆内联函数一般适合于不含有switch和while等复杂的结构且只有1~5条语句的小函数,否则编译系统将该函数视为普通函数。

◆内联函数只能先定义后使用,否则编译系统也将该函数视为普通函数。

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

(5) 函数原型中的参数名与函数定义中的参数名以及函数调用中的参数名必须一致吗? 【问题解答】

不必一致。所有的参数是根据位置和类型而不是名字来区分的。

(6) 重载函数时通过什么来区分? 【问题解答】

--WORD格式--可编辑--

编译系统将根据函数参数的类型和个数来判断使用哪一个函数。

六、 程序分析题(写出程序的输出结果,并分析结果) #include using namespace std; int main() {

int num=50; int& ref=num; ref=ref+10;

cout<<\ num=num+40;

cout<<\ return 0; }

【输出结果】

num=60 ref=100

【问题分析】本题主要考查引用的含义。 【结果分析】

程序首先定义一个int类型的对象num,并给它赋初始值50。然后又定义了一个int类型的引用ref,并将它和num相联系。这样,无论是对num还是对ref进行操作,实际上都是对那个一开始放着50的物理单元的内容进行操作。 七、 程序设计题

写出一个完整的C++程序,使用系统函数pow(x,y)计算xy的值,注意包含头文件cmath。 【问题分析】

本题主要考查简单的输入输出和标准库函数的调用方法。

--WORD格式--可编辑--

【解题思路】

① 由于要用到系统函数pow(x,y),所以要包含头文件cmath。

② 要计算xy的值,首先必须知道x和y的值。为了程序的通用性,最好通过交互的方式输入x和y的值。 【参考程序】 // xt2_1.cpp

#include #include using namespace std; int main() {

float x,y;

cout<<\,y:\cin>>x>>y;

float z=pow(x,y);

cout<<\(\,\)=\return 0; }

【输出结果】

please input 2 floats to x,y:3.1 2 pow(3.1,2)=9.61

--WORD格式--可编辑--

第3章 类 与 对 象

一、 填空题

(1) 类定义中关键字private、public和protected以后的成员的访问权限分别是私有、公有和保护。如果没有使用关键字,则所有成员默认定义为private权限。具有public访问权限的数据成员才能被不属于该类的函数所直接访问。 (2) 定义成员函数时,运算符“∷”是作用域运算符,“MyClass∷”用于表明其后的成员函数是在“MyClass类”中说明的。

(3) 在程序运行时,通过为对象分配内存来创建对象。在创建对象时,使用类作为样板,故称对象为类的实例。 (4) 假定Dc是一个类,则执行“Dc a[10],b(2)”语句时,系统自动调用该类构造函数的次数为11。 【结果分析】

创建10个数组元素需调用构造函数10次,创建对象b需调用构造函数1次,所以系统自动调用该类构造函数的总次数为11。

(5) 对于任意一个类,析构函数的个数最多为1个。 (6) delete运算符通常用于实现释放该类对象中指针成员所指向的动态存储空间的任务。

(7) C++程序的内存格局通常分为4个区: 数据区、代码区、栈区和堆区。

(8) 数据定义为全局变量,破坏了数据的 封装性; 较好的解决办法是将所要共享的数据定义为类的静态成员。 (9) 静态数据成员和静态成员函数可由 任意访问权限许可的函数访问。

(10) 友元函数和友元类统称为友元。

--WORD格式--可编辑--

C++第1~3章答案解析

【结果分析】面向对象=对象+类+继承+消息+多态四、判断题(1)C++程序中,不得使用没有定义或说明的变量。(√)(2)使用const说明常量时,可以不必指出类型。(×)【结果分析】如果用const定义的是一个整型常量,则类型说明符int可以省略。(3)引用被创建时可以用任意变量进行初始化。(×
推荐度:
点击下载文档文档为doc格式
4r97v6bro31emx02sb8q8qp2012ift011dj
领取福利

微信扫码领取福利

微信扫码分享