delete CatHouse[i]; TelepathicFunction(); }

return 0; }

void TelepathicFunction() {

cout << \are \<< Cat::GetHowMany() << \cats alive!\\n\}

程序运行输出:

There are 1 cats alive! There are 2 cats alive! There are 3 cats alive! There are 4 cats alive! There are 5 cats alive! There are 4 cats alive! There are 3 cats alive! There are 2 cats alive! There are 1 cats alive! There are 0 cats alive!

5-8 什么叫做友元函数?什么叫做友元类? 解:

友元函数是使用friend关键字声明的函数,它可以访问相应类的保护成员和私有成员。友元类是使用friend关键字声明的类,它的所有成员函数都是相应类的友元函数。

5-9 如果类A是类B的友元,类B是类C的友元,类D是类A的派生类,那么类B是类A的友元吗?类C是类A的友元吗?类D是类B的友元吗?

解:

类B不是类A的友元,友元关系不具有交换性; 类C不是类A的友元,友元关系不具有传递性; 类D不是类B的友元,友元关系不能被继承。

5-10 静态成员变量可以为私有的吗?声明一个私有的静态整型成员变量。 解: 可以,例如: private: static int a;

5-11 在一个文件中定义一个全局变量n,主函数main(),在另一个文件中定义函数fn1(),在main()中对n赋值,再调用fn1(),在fn1()中也对n赋值,显示n最后的值。 解:

#include #include \ int n;

void main() { n = 20; fn1();

cout << \的值为\}

// fn1.h文件 extern int n;

void fn1() { n=30; }

程序运行输出: n的值为30

21

5-12 在函数fn1()中定义一个静态变量n,fn1()中对n的值加1,在主函数中,调用fn1()十次,显示n的值。 解:

#include

void fn1() {

static int n = 0; n++;

cout << \的值为\}

void main() {

for(int i = 0; i < 10; i++) fn1(); }

程序运行输出: n的值为1 n的值为2 n的值为3 n的值为4 n的值为5 n的值为6 n的值为7 n的值为8 n的值为9 n的值为10

5-13 定义类X、Y、Z,函数h(X*),满足:类X有私有成员i,Y的成员函数g(X*)是X的友元函数,实现对X的成员i加1,类Z是类X的友元类,其成员函数f(X*)实现对X的成员i加5,函数h(X*)是X的友元函数,实现对X的成员i加10。在一个文件中定义和实现类,在另一个文件中实现main()函数。 解:

#include \void main() { X x; Z z; z.f(&x); }

// my_x_y_z.h文件 #ifndef MY_X_Y_Z_H

class X; class Y { void g(X*); };

class X { private: int i; public: X(){i=0;}

friend void h(X*); friend void Y::g(X*); friend class Z; };

void h(X* x) { x->i =+10; }

void Y::g(X* x) { x->i ++; }

class Z { public:

void f(X* x) { x->i += 5; } };

#endif // MY_X_Y_Z_H

程序运行输出:无

5-14 定义Boat与Car两个类,二者都有weight属性,定义二者的一个友元函数totalWeight(),计算二者的重量和。 解: 源程序:

#include

class Boat; class Car { private: int weight; public:

22

Car(int j){weight = j;}

friend int totalWeight(Car &aCar, Boat &aBoat); };

class Boat { private: int weight; public:

Boat(int j){weight = j;}

friend int totalWeight(Car &aCar, Boat &aBoat); };

int totalWeight(Car &aCar, Boat &aBoat) {

return aCar.weight + aBoat.weight; }

void main() {

Car c1(4); Boat b1(5);

cout << totalWeight(c1, b1) << endl; }

程序运行输出: 9

5-15 如果在类模板的定义中有一个静态数据成员,则在程序运行中会产生多少个相应的静态变量? 解:

这个类模板的每一个实例类都会产生一个相应的静态变量。

第 六 章 数组、指针与字符串

6-1 数组A[10][5][15]一共有多少个元素? 解:

10×5×15 = 750 个元素

1-2 在数组A[20]中第一个元素和最后一个元素是哪一个? 解:

第一个元素是A[0],最后一个元素是A[19]。

6-3 用一条语句定义一个有五个元素的整型数组,并依次赋予1~5的初值。 解: 源程序:

int IntegerArray[5] = { 1, 2, 3, 4, 5 }; 或:int IntegerArray[] = { 1, 2, 3, 4, 5 };

6-4 已知有一个数组名叫oneArray,用一条语句求出其元素的个数。 解: 源程序:

nArrayLength = sizeof(oneArray) / sizeof(oneArray[0]);

6-5 用一条语句定义一个有5×3个元素的二维整型数组,并依次赋予1~15的初值。 解: 源程序:

int theArray[5][3] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };

或:int theArray[5][3] = { {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12},{13,14,15} };

6-6 运算符*和&的作用是什么? 解:

*称为指针运算符,是一个一元操作符,表示指针所指向的对象的值;&称为取地址运算符,也是一个一元操作符,是用来得到一个对象的地址。

6-7 什么叫做指针?指针中储存的地址和这个地址中的值有何区别? 解:

指针是一种数据类型,具有指针类型的变量称为指针变量。指

23

针变量存放的是另外一个对象的地址,这个地址中的值就是另一个对象的内容。

6-8 定义一个整型指针,用new语句为其分配包含10个整型元素的地址空间。 解: 源程序:

int *pInteger = new int[10];

6-9 在字符串”Hello,world!”中结束符是什么? 解:

是NULL字符。

6-10 定义一个有五个元素的整型数组,在程序中提示用户输入元素值,最后再在屏幕上显示出来。 解: 源程序:

#include

int main() {

int myArray[5]; int i;

for ( i=0; i<5; i++) {

cout << \cin >> myArray[i]; }

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

cout << i << \return 0; }

程序运行输出:

Value for myArray[0]: 2 Value for myArray[1]: 5 Value for myArray[2]: 7 Value for myArray[3]: 8 Value for myArray[4]: 3 0: 2

1: 5 2: 7 3: 8 4: 3

6-11 引用和指针有何区别?何时只能使用指针而不能使用引用? 解:

引用是一个别名,不能为NULL值,不能被重新分配;指针是一个存放地址的变量。当需要对变量重新赋以另外的地址或赋值为NULL时只能使用指针。

6-12 声明下列指针:float类型变量的指针pFloat,char类型的指针pString和struct customer型的指针prec。 解:

float *pfloat; char *pString;

struct customer *prec;

6-13 给定float类型的指针fp,写出显示fp所指向的值的输出流语句。 解:

cout << \

6-14 程序中定义一个double类型变量的指针。分别显示指针占了多少字节和指针所指的变量占了多少字节。 解:

double *counter;

cout << \cout <<

'\\nSize

of

addressed

value

==

\

6-15 const int * p1 和 int * const p2的区别是什么?

24

郑莉c 语言程序设计答案,C语言程序设计(郑莉)课后习题答案相关推荐

  1. java第二版课后题答案_Java语言程序设计第2版第16章 课后习题答案

    <Java语言程序设计第2版第16章 课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计第2版第16章 课后习题答案(62页珍藏版)>请在人人文库网上搜索. ...

  2. matlab张志涌版课后习题答案,matlab教程(张志涌)课后习题答案.doc

    matlab教程(张志涌)课后习题答案 matlab教程(张志涌)课后习题答案 导读:就爱阅读网友为您分享以下"matlab教程(张志涌)课后习题答案"资讯,希望对您有所帮助,感谢 ...

  3. 长春理工大学c语言题库word,长春理工大学DSP课本课后习题答案.docx

    长春理工大学DSP课本课后习题答案 习题1外设接口有 通用I/O接口.串行接口.串行外设接口.CAN总线接口.外部总线接口.模数转换接口.片内外设有 事件管理器模块,模数转换模块.串行通信模块.串行外 ...

  4. oracle 11g第二版课后答案,oracle 11g(钱慎一)课后习题答案

    oracle 11g数据库基础与应用教程(钱慎一)含1-8章课后习题答案 一.选择题 1. 若关系的某一属性组的值能唯一地标识一个元组,我们称之为( B ). A.主码 B.候选码 C.外码 D.联系 ...

  5. 计算机操作系统英文版课后答案,计算机操作系统(第3版)课后习题答案(完整版)...

    内容简介: 计算机操作系统(第3版)课后习题答案(完整版) 第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性 (2)方便性 (3)可扩充性 (4)开放性 2.OS的作用可表现在哪几个方面? ...

  6. 《Python程序设计入门与实践》219道课后习题答案

    适用教材:Python程序设计入门与实践 I S B N:978-7-5606-5960-2 作    者:董付国 页    数:319页 例题数量:73个 演示代码:200段(不含例题代码) 习题数 ...

  7. C语言程序设计-第四版-何钦铭-课后习题答案

    -第1章-引言- 目录 第1章-引言 题目1:对C语言来说,下列标示符中哪些是非法的,哪些是不非法的? total,_debug, Large&Tall, Counter1, begin_ 答 ...

  8. [数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(课后习题+答案解析)

    1. 简述下列概念:数据.数据元素.数据项.数据对象.数据结构.逻辑结构.存储结构.抽象数据类型. 数据 数据是客观事物的符号表示,是所有能输人到计算机中并被计算机程序处理的符号的总称.数据是信息的载 ...

  9. 数据结构(C语言版)(第2版) 课后习题答案

    文章目录 第1章 绪论 第2章 线性表 第3章 栈和队列 第1章 绪论 1.简述下列概念:数据.数据元素.数据项.数据对象.数据结构.逻辑结构.存储结构.抽象数据类型. 答案: 数据:是客观事物的符号 ...

  10. 【最详细】数据结构(C语言版 第2版)第八章课后习题答案 严蔚敏 等 编著

    所有章节答案合集-->传送门 1.选择题 ( 1)从未排序序列中依次取出元素与已排序序列中的元素进行比较, 将其放入已排序序 列的正确位置上的方法,这种排序方法称为() . A.归并排序 B.冒 ...

最新文章

  1. #Ruby# Introspect (1)
  2. acl中in和out的区别
  3. java been 字段命名的坑
  4. 使用Java处理除法运算的陷阱
  5. hdu_2243_考研路茫茫——单词情结(AC自动机+矩阵)
  6. android左侧固定导航栏,Android使用fragment实现左侧导航
  7. solr安装笔记与定时器任务
  8. 计算payload长度c语言,C语言0长度数组(可变数组/柔性数组)详解
  9. 快来!前端君喊你加入快驾网智囊团
  10. chmod命令(chmod函数)自动清除设置用户ID位和设置组ID位
  11. msysgit中文问题
  12. [luoguP1373] 小a和uim之大逃离(DP)
  13. 虚幻引擎图文笔记:导入FBX骨骼动画(附官方FBX模型下载)
  14. 计算机多媒体最新参考文献,计算机多媒体论文
  15. 视频教程-2020年软考网络规划设计师论文写作历年真题详解软考视频教程-软考
  16. PL/SQL语句——循环语句
  17. 不同时区时间换算_java中转换不同时区的时间
  18. 仿支付宝股票 猜涨跌View
  19. 关于勒索病毒 Ransom:Win32.WannaCrypt 解决方案的最后一次说明
  20. 用友U9 BOM全阶展开 代码如下

热门文章

  1. 组策略——软件限制策略(完全教程与规则示例)
  2. AlertDialog基本使用
  3. 法国出售给阿联酋的卫星可能含有后门组件
  4. 解决开机出现“CLIENT MAC ADDR”的问题
  5. 【每日一练】19—CSS 实现撕纸的效果
  6. [转载]VIPS:基于视觉的Web页面分页算法
  7. css 图片切换模版
  8. 急,电脑开机自检过不去,(急在线等),
  9. 内存泄漏和溢出的区别
  10. 惠普新笔记本将采用Tile查找技术,可智能定位笔记本电脑