《C++ primer plus 》复习题与编程练习(03)

复习题

1.如何声明下述数据?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

cin.getline (address, 80):

替换为:

cout <<address;

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

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

编程练习

1, 编写一个C++程序,如下述输出示例所示的那样请求并显示信息:

what is your first name? Betty Sue

lwhat is your last name? Yewe

what letter grade do you deserve? B

what is your age? 22

Name: Yewe, Betty Sue

Grade: C

Age: 22

注意,该程序应该接受的名字包含多个单词,另外,程序将向下调整成绩,即向上调一个字母。假设用户请求A、B 或 C,所以不必担心D和F之间的空档。

2. 修改程序清单4.4,使用C++ string类而不是char数组。

3, 编写一个程序,它要求用户首先输入其名,然后输入其姓:然后程序使用一个逗号和空格将姓和名组合起来,并存储和显示组合结果。请使用char数组和头文件 cstring中的函数。下面是该程序运行时的情形:

Enter your first name: Flip

Enter your last name: Fleming

Here'a the information in a single string: Fleming, Flip

4. 编写一个程序,它要求用户首先输入其名,再输入其姓:然后程序使用一个逗号和空格将姓和名组合起来,并存储和显示组合结果。请使用 string 对象和头文件 string 中的函数,下面是该程序运行时的情形

Enter your firat name: Plip

Enter your last name: Fleming

Here'a the information in a aingle string: Fleming, Flip

5 .结构 Candy Bar 包含3个成员,第一个成员存储了糖块的品牌:第二个成员存储糖块的重量(可以有小数):第三个成员存储了糖块的卡路里含量(整数)。请编写一个程序,声明这个结构,创建一个名为 snack 的 Candy Bar 变量,并将其成员分别初始化为“ Mocha Munch”、2.3和350。初始化应在声明snak时进行。最后,程序显示smak变量的内容。

6. 结构 Candy Bar 包含3个成员,如编程练习 5 所示,请编写一个程序,创建一个包含 3 个元素的 Candy Bar数组,并将它们初始化为所选择的值,然后显示每个结构的内容。

7. William Wingate从事比萨饼分析服务,对于每个披萨饼,他都需要记录下列信息

●披萨饼公司的名称,可以有多个单词组成。

●披萨饼的直径

●披萨饼的重量。

请设计一个能够存储这些信息的结构,并编写一个使用这种结构变量的程序。程序将请求用户输入上述信息,然后显示这些信息。请使用cin(或它的方法)和cout。

8. 完成编程练习 7 ,但使用new来为结构分配内存,而不是声明一个结构变量。另外,让程序在请求输入比萨饼公司名称之前输入比萨饼的直径。

9.完成编程练习6,但使用 new 来动态分配数组,而不是声明一个包含3个元素的 Candy Bar数组。

10.编写一个程序,让用户输入三次 40 码跑的成绩(如果您愿意,也可让用户输入40米跑的成绩),并显示次数和平均成绩。请使用一个array对象来存储数据 ( 如果编译器不支持 array类,请使用数组)。

猜你喜欢

转载自www.cnblogs.com/mrray1105/p/12003861.html