注:以下需要头文件的,一般都注明了头文件,但可能省略掉了int main(){}或者using namespace std;这样的代码,只写了关键代码。

1.如何声明下列数据?

a.actor是由30个char组成的数组。

b.betsie是由100个short组成的数组。

c.chuck是由13个float组成的数组。

d.dipsea是由64个long double组成的数组。

答:

char actor[30];
short betsid[100];
float chuck[13];
long double dipsea[64];

2.使用模板类array而不是数组来完成问题1。

答:

#include<array>
using namespace std;
array<char,30>actor;
array<short,100>betsid;
array<float,13>chuck;
array<long double,64>dipsea;

3.声明一个包含5个元素的int数组,并将他初始化为前5个正奇数。

答:

int a[5]={1,3,5,7,9};

4.编写一条语句,将问题3中数组的第一个元素和最后一个元素的和赋值给变量even。

答:

int even=a[0]+a[4];

5.编写一条语句,显示float数组ideas中的第二个元素的值。

答:

cout << (float)ideas[1] <<endl; 

6.声明一个char数组,将其初始化为字符串“cheeseburger”。

答:

char a[20]="cheeseburger";

7.声明一个string对象,并将其初始化为字符串“Waldorf Salad”。

答:

#include<string>
string a="Waldorf Salad";

8.设计一个描述鱼的结构声明。结构中应当包括品种、重量(整数,单位为盎司)和长度(英寸、包括小数)。

答:

struct fish
{
std::string pinzhong; //品种名
int angsi;  //重量,盎司,整数
double yingcun; //长度,英寸,浮点数
};

9.声明一个问题8中定义的结构的变量,并对它进行初始化。

答:

fish liyu={"鲤鱼",5,2.2};

或:

fish liyu;
liyu.pinzhong = "鲤鱼";
liyu.angsi = 5;
liyu.yingcun = 2.2;

10.用enum定义一个名为Response的类型,他包括Yes,No和Maybe等枚举量,其中Yes的值为1,No为0,Maybe为2。

答:

enmu Response{Yes=1,No=0,Maybe=2};

11.假设ted是一个double变量,请声明一个指向ted的指针,并使用该指针来显示ted的值。

答:

double *a=&ted;
cout<< *a << endl;

12.假设treacle是一个包含10个元素的float数组,请声明一个指向treacle的第一个元素的指针,并使用该指针来显示数组的第一个元素和最后一个元素。

答:

float treacle[10];
float *a=treacle;  //指向该数组
cout << a[0] << endl;   //显示第一个成员
cout << a[9] << endl;   //显示最后一个成员

13.编写一段代码,要求用户输入一个正整数,然后创建一个动态的int数组,其中包含的元素数目等于用户输入的值。首先使用new来完成这项任务,再使用vector对象来完成这项任务。

答:

unsigned int a;
cin >> a;
int *b=new int[a];

用vector:

#include<vector>
unsigned int a;
cin >> a ;
vector<int>b(a);

14.下面的代码是否有效?如果有效,他将打印出什么结果?

cout << (int *) "Home of the jolly bytes";

答:

有效。他会打印储存这个字符串常量的内存地址。

15.编写一段代码,给问题8中描述的结构动态分配内存,再读取该结构的成员的值。

答:

fish *a=new fish;
cout<<"依次输入鱼类的名字,重量(盎司,整数),长度(英寸,小数),以回车为结束。\n"
cin >> (*a).string;
cin >> a->angsi;
cin >> a->yingcun;

16.程序清单4.6指出了混合输入数字和一行字符串储存的问题。如果将下面代码:

cin.getline(address,80);

替换为

cin >> address;

将对程序的运行带来什么影响?

答:

cin.getline(address,80)的效果是,读取用户输入的一行,读取的字符数为80个,包括空格、TAB等,以换行符为止,并将换行符舍弃。将读取的值赋给变量address。

cin是从第一个非空格、tab或者换行符读取,然后读取到空格、tab、换行符为止,但不舍弃这些。假如遇见用户输入比如a b这样,那么cin只能读取a,不会读取空格和b。

17.声明一个vector对象和一个array对象,他们都包含10个string对象。指出所需的头文件,但不要使用using。使用const来指定要包含的string对象数。

#include<vector>
#include<array>
#include<string>
const int a=10;
std::vector<std::string>b(a);
std::array<std::string,a>c;

(六十三)第四章复习题相关推荐

  1. 数据库系统概念第六版 第四章练习题 12 14 18

    数据库系统概念第六版 第四章练习题 12 14 18 4.12 对于图中的数据库,写出一个查询来找到那些没有经理的雇员.注意一个雇员可能只是没有列出其经理或者可能有null经理.使用外连接书写查询,然 ...

  2. Java写文字冒险类游戏_用木兰语言编写文字冒险游戏(十三、四章),又一个特性发现...

    继续改写 Python 文字冒险游戏,第十三章的主要添加了玩家在每格的行动限制: func 选择命令(位置, 玩家) { 行动 = nil while !行动 { 可选行动 = 取可选行动(位置, 玩 ...

  3. c语言第六版第四章答案,C primer plus 第六版 第6版 004章 第四章 编程 练习 答案 中文...

    第四章 编程练习 1.编写一个程序,提示用户输入名和姓,然后以『名,姓』的格式打印出来. char name[40]; char family[40]; printf("请输入名和姓:\n& ...

  4. OSG三维渲染引擎编程学习之三十六:“第四章:OSG几何体绘制” 之 “4.1 OSG基础绘图类”

    目录 第四章 OSG几何体绘制 4.1 OSG基础绘图类 4.1.1 Drawable可绘制类 4.1.2 PrimitiveSet图元集 第四章 OSG几何体绘制

  5. 【笔记】Linux就该这么学-第六课第四章

    vim使用     a 在光标后一位置插入     i 在光标当前位置插入     o 在光标下面创建个空行     dd 删除(剪切)光标所在行     5dd 删除(剪切)从光标处开始的5行   ...

  6. 《Java语言程序设计与数据结构(基础篇)》第11版第四章复习题答案

    4.2.1答案:a: 2.0  b: 0.0  c: 1.0  d: 4.0  e: 1.0  f: 2.718281828459045  g: 3  h: -2.0 i: -2.0  j: -3.0 ...

  7. 操作系统教程第六版——第四章课后作业

    一.简答题. (4)I/O控制方式可分为哪些类型?各类控制方式的优缺点有哪些? I/O控制方式类型:轮询方式.中断方式.DMA方式.通道方式. 轮询方式 优点:实现技术比较简单,易于理解. 缺点:处理 ...

  8. 微型计算机第六版第四章答案,微机原理课后习题参考答案.doc

    第1部分 微型计算机基础知识 1.1 微处理器.微型计算机和微型计算机系统三者之间有什么不同? [解]微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展 ...

  9. C Primer Plus(第6版)第十四章复习题答案

    1.正确的关键字是struct,最后一条声明语句以及结构模板有花括号要有分号. 2.输出如下 6 1 22 Spiffo Road S p 3.struct month { char name[10] ...

最新文章

  1. ci框架——辅助函数
  2. android 中的常用组件
  3. MSSQL 2005 DML触发器
  4. 已安装内存和可用内存不一致 4GB内存在win1064位系统中显示为可用 3.87GB解决办法
  5. [python Cookbook]阅读笔记
  6. action与servlet用法区别
  7. C语言怎样编程分子变化,C语言经典编程(一)
  8. win10用Eclipse+OpenJTag对S3C2440开发板进行动态调试
  9. 利用二层端口安全防止两个三层交换机长距离光纤线路被乱接测试
  10. atan和atan2反正切计算
  11. 用户故事(二):为什么要使用用户故事表达需求?
  12. html菜鸟教程选项卡,jQuery EasyUI 布局插件 – Tabs 标签页/选项卡 | 菜鸟教程
  13. 如何设计更好的脉搏血氧仪:实施
  14. Modbus转Profinet网关连接英威腾变频器方法
  15. Outlook设置规则的一点提示
  16. c语言数字和字母运算,计算器中的字母CE、C、MR、MC、MS、M+、M-等等各是什么意思?让我来告诉你吧!...
  17. java实现阿里云邮箱发送邮件
  18. 再见,胡阿姨!再见,共享单车!
  19. DZY Loves Math 系列详细题解
  20. 如何确定MessageBox哪个按钮被点击。

热门文章

  1. HashMap 的设置值,取值,遍历等
  2. renderthread是什么_Android 旗舰机标配的高帧屏(120Hz),对各位 App 开发者有什么影响?...
  3. java 获取网络带宽_Java开发网 - 一个测网络延迟和带宽的程序,发10M的数据有问题...
  4. java 注解 数据字典_Spring实现数据字典翻译
  5. 打开Mybatis核心配置文件SqlMapConfig.xml的代码提示功能
  6. 织女的红线_JAVA
  7. 【数学和算法】如何理解特征值为复数的情况
  8. Python-OpenCV 处理图像(二):滤镜和图像运算
  9. VS调用matlab
  10. Netty入门官方例子