(六十三)第四章复习题

注:以下需要头文件的,一般都注明了头文件,但可能省略掉了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;

 

时间: 2024-07-28 19:42:33

(六十三)第四章复习题的相关文章

第十四章 数组[《.net框架程序设计》读书笔记]

.net框架|笔记|程序|设计|数组 第十四章 数组. 内容摘要: 本章讨论了数组的方方面面,对于这种常用类型进行深入研究. 一. 数组简介 三种类型:一维数组.多维数组.交错数组(jagged aray) l 一维数组: Int32[] myIntegers; myIntegers = new Int32[100]; l 多维数组: Int32[,] myIntegers; myIntegers = new Int32[100,100]; l 交错数组:交错数组不受CLS支持 Point[][

ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区

原文:ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 入门案例分析 在第一章里,我们已经对ArcGIS系列软件的体系结构有了一个全面的了解,接下来在本章中,将通过一个案例来熟悉ArcGIS for Desktop的使用,从解决问题的过程中,逐渐适应ArcGIS桌面的界面和操作方式. 本章的练习数据是一个住宅小区的简单平面示意图,需要在已有的基础上把楼房的轮廓补充完整,并加以整饰,完成一幅地图. 1.1 打开地图文档并浏览

【PMP】Head First PMP 学习笔记 第四章 项目整合管理

第四章 项目整合管理 项目经理每天的工作 力保项目顺利进行 紧密监督以确保计划进行 计划本身不完善需要予以修正 即使是更大的项目的子项目,也要有收尾的过程 6个整合管理过程 整合管理划分为6个过程,项目经理必须掌握的核心职责. 1.制订项目章程 授权你展开工作的文档,通常由赞助人(为项目提供资金的人)交给你. 2.制订项目管理计划 项目管理计划涵盖了所有知识领域,很大一部分就是告诉你在出现问题时如何处理变更. 3.指导和管理项目执行 确保所有人都在做他们本该做的事,项目创建的产品和项目确实满足干

第四章、存储器管理

第四章.存储器管理 物理地址和逻辑地址 物理地址:存储单元的编号,可以直接寻址. 逻辑地址:程序中的地址,是可以改变的,不可直接寻址. 重定位:将逻辑地址空间的逻辑地址变换成内存空间的物理地址的过程. 静态重定位和动态重定位 静态重定位:当用于程序被装入内存时,一次性地实现逻辑地址到物理地址的转换,以后不再转换(一般在装入内存时由软件完成),直到该程序完成退出内存为止. 动态重定位:当用户程序被装入内存时,并不将其逻辑地址转换,而是保留原来的逻辑地址.等程序真正要执行时才将其逻辑地址通过动态计算

《PHP程序设计》 第四章 程序控制

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  第四章 程序控制      本章深入PHP内部,讲述如何使用函数.表达式和语句以实现对程序的控制.      前面的章节初步介绍了怎样操作数据,如果我们将操作数和操作符看作是构筑元件的话,那么它们组合起来即可形成表达式.进一步讲,表达式可以构成语句,语句用于组成函数,而函数则可用来组成程序.      提示:在学习有关编

《.net编程先锋C#》第四章 C#类型(转)

编程 第四章 C#类型 既然你知道了怎样创建一个简单的C#程序,我将会给你介绍C#的类型系统.在这一章中,你学到如何使用不同的值和引用类型,加框和消框机制能为你作些什么.尽管这一章的不侧重于例子,但你可以学到很多重要的信息,关于如何创建现成类型的程序.4.1 值类型 各种值类型总是含有相应该类型的一个值.C#迫使你初始化变量才能使用它们进行计算-变量没有初始化不会出问题,因为当你企图使用它们时,编译器会告诉你. 每当把一个值赋给一个值类型时,该值实际上被拷贝了.相比,对于引用类型,仅是引用被拷贝

&amp;gt;第四章 C#类型(rainbow 翻译)(来自重粒子空间)

<<展现C#>>第四章 C#类型(rainbow 翻译)   出处:http://www.informit.com\matter\ser0000002\chapter4\ch04_04.shtml 正文: 第四章  C#类型     既然你知道了怎样创建一个简单的C#程序,我将会给你介绍C#的类型系统.在这一章中,你学到如何使用不同的值和引用类型,加框和消框机制能为你作些什么.尽管这一章的不侧重于例子,但你可以学到很多重要的信息,关于如何创建现成类型的程序.4.1 值类型     

3D编程:第四章 Hello,Shaders

第四章 Hello,Shaders 本章,会编写第一个shaders.介绍HLSL语法,FX文件格式,数据结构等等.学完本章,你就具备了深入学习图形编程的基础知识. Your First Shader 使用一种新的编程语言编写第一个程序时都会使用经典的编程例子"Hello,World!",程序输出就是一行文字"Hello,World!".我们遵守这一历史悠久的传统,编写第一个shader程序"Hello,Shaders!",但是这次的输出是一种固

WF从入门到精通(第十四章):基于状态的工作流

学习完本章,你将掌握: 1.理解状态机的概念以及它怎样被模拟到工作流处理中的 2.创建基于状态的工作流 3.运用初始(initial)和终止(terminal)状态条件 4.使用代码进行状态的切换 在第四章"活动和工作流类型介绍"中,我阐述过你使用WF所能创建的工作流类型,在那里我提到过基于状态的工作流.基于状态的工作流模型被认为是有限自动机(finite state machine).基于状态的工作流在工作流需要和外部事件进行许多交互的场合中大出风头.在事件触发并被工作流处理的时候,