C++ Primer Plus 第二章习题

news2024/9/29 21:24:25

目录

复习题

1.C++程序的模块叫什么?

2.#include 预处理器编译指令的用处?

3.using namespace std; 该语句是干什么用的?

4.什么语句可以打印一个语句"hello,world",然后重新换行?

5.什么语句可以用来创建名为cheeses的整型变量?

6.什么语句可以用来将值32赋值给cheeses?

7.从键盘输入的值读入变量cheeses中的语句是?

8.写出打印"We have X varieties of cheese"的语句,其中X是当前输入值。

9.下面的函数原型指出了关于函数的哪些信息?

10.定义函数时,是什么情况下不必使用关键字return?

11.假设main()函数包含以下代码:

第二章编程练习 

我的题解(test01-07对应相应题号)

复习题

1.C++程序的模块叫什么?

答:C++ 程序的模块叫做函数。

2.#include 预处理器编译指令的用处?

答:在编译之前,将iostream里面的文件内容替换编译指令,iostream为内置类型类型对象提供了输入输出支持,同时也支持文件的输入输出,类的设计者可以通过对iostream库的扩展,来支持自定义类型的输入输出操作。

3.using namespace std; 该语句是干什么用的?

答:using 是预编译器指令,使得程序使用std名称空间中的定义

4.什么语句可以打印一个语句"hello,world",然后重新换行?

//第一种:
cout<<"hello,world\n";

//第二种:
cout<<"hello,world"<<endl;

5.什么语句可以用来创建名为cheeses的整型变量?

int cheeses;

6.什么语句可以用来将值32赋值给cheeses?

cheeses = 32;

7.从键盘输入的值读入变量cheeses中的语句是?

cin>>cheeses;

8.写出打印"We have X varieties of cheese"的语句,其中X是当前输入值。

cout<<"We have "<<cheese<<" varieties of cheese"<<endl;

9.下面的函数原型指出了关于函数的哪些信息?

int froop(double t); void rattle(int n); int prune(void);

int froop(double t); /*指出函数在调用需要输入的参数是double类型,函数的返回值是一个int类型。*/

void rattle(int n); /*函数调用是需要输入的参数是int类型,函数无返回值。*/

int prune(void); /*不接受任何参数的输入,函数的返回值是int类型*/

10.定义函数时,是什么情况下不必使用关键字return?

当函数的返回值的类型是void时,不用在函数中使用return。

11.假设main()函数包含以下代码:

cout<<"请输入你的PIN:";

而编译器指出cout是一个未知标识符,导致该问题的原因是?写出可能的三种情况并给出解决办法?

答案:

原因:
未使用using命名空间

解决方案:
1. 函数开头添加 using namespace std;
2. cout对象前添加 using std::cout
3. 在cout对象前添加 std::cout

第二章编程练习 

1. 编写一个C++程序,它显示您的姓名和地址。

2. 编写一个C++程序,它要求用户输入一个以long为单位的距离,然后将它转换为码(一long等于220码)。

3.  编写一个C++程序,它使用3个用户定义的函数(包括main()),并生成下面的输出:

Three blind mice

Three blind mice

See how they run

See how they run

其中一个函数要调用两次,该函数生成前两行;另一个函数也被调用两次,并生成其余的输出。

4. 编写一个程序,让用户输入其年龄,然后显示该年龄包含多少个月,如下所示:

Enter your age: 29

5. 编写一个程序,其中的main()调用一个用户定义的函数(以摄氏温度值为参数,并返回相应的华氏温度值)。该程序按下面的格式要求用户输入摄氏温度值,并显示结果:

Please enter a Celsius value: 20

20 degrees Celsius is 68 degrees Fahrenheit.

下面是转换公式:

华氏温度 = 1.8 * 摄氏温度 + 32.0

6. 编写一个程序,其main()调用一个用户定义的函数(以光年值为参数,并返回对应天文单位的值)。该程序按下面的格式要求用户输入光年值,并显示结果:

Enter the number of light yeras: 4.2

4.2 light years = 265608 astronomical units.

天文单位是从地球到太阳的平均距离(约150000000公里或93000000英里),光年是光一年走的距离(约10万亿公里或6万亿英里)(除太阳外,最近的恒星大约离地球4.2光年)。请使用double类型,转换公式为:

1光年 = 63240天文单位

7. 编写一个程序,要求用户输入小时数和分钟数。在main()函数中,将这两个值传递给一个void函数,后者以下面这样的格式显示这两个值:

Enter the number of hours: 9

Enter the number of minutes: 28

Time: 9:28

我的题解(test01-07对应相应题号)

#include<iostream>
using namespace std;


void test01()
{
	cout << "name" << endl;
	cout << "address" << endl;
}

void test02()
{
	int l;
	cout << "请输入一个以long为单位的距离: ";
	cin >> l;
	cout << l * 220 << "码" << endl;
}

void test03_1()
{
	cout << "Three blind mice" << endl;
}

void test03_2()
{
	cout << "See how they run" << endl;
}

void test04()
{
	int age;
	cout << "Enter your age :  ";
	cin >> age;
	cout <<"您的年龄转化为月共有" << age * 12 << "个月" << endl;
}

void test05()
{
	int T;
	cout << "Please enter a Celsius value :  ";
	cin >> T;
	cout << T <<" degrees Celsius is " <<T*1.8+32<< "degrees Fahrenheit." << endl;
}

void test06()
{
	double y;
	cout << "Enter the number of light years: ";
	cin >> y;
	cout << y << " light years = " << y * 63240 << " astronomical units." << endl;

}

void test07()
{
	int h, m;
	cout << "Enter the number of hours : ";
	cin >> h;
	cout << "Enter the number of minutes : ";
	cin >> m;
	cout << "Time: " << h << ":" << m << endl;
}
int main()
{
	test01();
	test02();
	test03_1();
	test03_1();
	test03_2();
	test03_2();
	test04();
	test05();
	test06();
	test07(); 
	return 0;
}

运行结果:


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/585981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

桂院校园导航 导入 与 配置教程

将 静态项目/云开发项目 文件夹下最新版本的 文件夹下的 项目 的整个文件夹 复制到项目路径下&#xff08;比如 D:\WeChatProjects&#xff09;&#xff0c;强烈建议不要直接扔在桌面上 云开发项目 需开通 云开发 功能&#xff08;首月免费&#xff0c;次月19.9&#xff09;&am…

【论文阅读笔记】CRFL: Certifiably Robust Federated Learning against Backdoor Attacks

个人阅读笔记&#xff0c;如有错误欢迎指出! 会议&#xff1a;PMLR 2021[2106.08283] CRFL: Certifiably Robust Federated Learning against Backdoor Attacks (arxiv.org) 问题&#xff1a; 现有的防御算法缺乏健壮性 创新&#xff1a; 证明了所提出框架得稳定性 通过马尔…

Generative AI 新世界 | 走进文生图(Text-to-Image)领域

在之前的四篇 “Generative AI 新世界” 中&#xff0c;我们带领大家一起探索了生成式 AI&#xff08;Generative AI&#xff09;&#xff0c;以及大型语言模型&#xff08;LLMs&#xff09;的全新世界概览。并在文本生成&#xff08;Text Generation&#xff09;领域做了一些概…

javascript基础十:说说你对Javascript中this对象的理解

一、定义 函数的 this 关键字在 JavaScript 中的表现略有不同&#xff0c;此外&#xff0c;在严格模式和非严格模式之间也会有一些差别 在绝大多数情况下&#xff0c;函数的调用方式决定了 this 的值&#xff08;运行时绑定&#xff09; this 关键字是函数运行时自动生成的一…

进程控制与进程调度 —— 时间片轮转调度算法(C++版)

目录 实验一 进程控制与进程调度 一、实验目的 二、实验内容 三、数据结构及符号说明 四、运行环境说明 五、代码段 六、 效果展示 实验一 进程控制与进程调度 备注&#xff1a;大二&#xff08;下&#xff09;操作系统实验一 一、实验目的 掌握进程状态的转变、…

多次调用java.awt.Toolkit.getDefaultToolkit方法获得是同一个单例的Toolkit

多次调用java.awt.Toolkit.getDefaultToolkit方法获得是同一个单例的Toolkit java.awt.Toolkit.getDefaultToolkit()import java.awt.Toolkit;public class 多次调用Toolkit的getDefaultToolkit方法获得是同一个单例的Toolkit {static public void main (String...arguments)t…

WMS:系统窗口添加过程

WMS:系统窗口添加过程 1、经常使用的两大类窗口2、系统窗口StatusBar2.1 StatusBarWindowView添加流程2.2 简要时序图 android12-release 1、经常使用的两大类窗口 Android中的“窗口”类型有很多&#xff0c;经常使用的“窗口”大致分为两大类&#xff1a;一是&#xff0c;由系…

对于后端Linux的入门知识

为什么使用Linux 文章来自https://librehunt.org/&#xff0c;在这个网站里&#xff0c;你可以根据它提供的选项&#xff0c;最终选出适合你的Linux版本 It’s safe and private. No tracking. No company watching over you, no “big brother is watching you” nonsense. Ju…

article-三自由度机械臂运动学分析+仿真

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rOmeEm3I-1685366971102)(data:image/svgxml;utf8, )] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kCu0JrBB-1685366971103)(data:image/svgxml;utf8, )] 建立坐标系 1…

ROS:创建工作空间和编译功能包

目录 一、工作空间二、创建工作空间三、编译空代码的工作空间四、功能包五、创建功能包六、设置和检查环境变量七、功能包中的两个重要文件 一、工作空间 存放工程开发相关文件的文件夹。类似一个IDE&#xff08;例如Pycharm&#xff09;新建一个工程&#xff0c;就是一个工作…

权威认可!腾讯云EdgeOne入选Gartner® DDoS缓解方案市场指南

近日&#xff0c;Gartner发布《Market Guide for DDoS Mitigation Solutions》报告&#xff0c;腾讯云EdgeOne入选Gartner DDoS缓解方案市场指南。 “分布式拒绝服务&#xff08;DDoS&#xff09;缓解市场包括检测和缓解DDoS攻击并将其作为专用产品提供的供应商。它包括专业供…

有这个证书,网络安全工程师找工作不用愁

想要成为网络安全工程师&#xff0c;满足企业的用人要求。最基本的&#xff0c;你需要熟悉TCP/IP协议&#xff0c;熟悉sql注入原理和手工检测、熟悉内存缓冲区溢出原理和防范措施、熟悉信息存储和传输安全、熟悉数据包结构、熟悉Ddos攻击类型和原理。并且有一定的ddos攻防经验&…

I2C通信协议MPU6050

目录 I2C通信协议 硬件 软件 I2C时序 MPU6050 I2C通信协议 硬件 为了避免总线没协调好导致电源短路&#xff0c;配置为开漏输出&#xff0c;所有设备输出低电平不输出高电平&#xff0c;即右图。又为了避免高电平造成的引浮空&#xff0c;&#xff08;第三点&#xff09;总…

kotlin用CoroutineScope启动协程async等待结果返回

kotlin用CoroutineScope启动协程async等待结果返回 例如&#xff1a; import kotlinx.coroutines.*object MyCoroutineScope {private val coroutineContext Job() Dispatchers.Default CoroutineName("my_context")val coroutineScope CoroutineScope(corouti…

【Redis】聊一下Redis数据同步/复制

在分布式系统中&#xff0c;基本上所有的存储中间件都支持数据同步/复制功能&#xff0c;主要的原因是为实现高可用&#xff0c;单点宕机的故障&#xff0c;必须需要将数据进行共享&#xff0c;而共享的话&#xff0c;就需要将数据进行复制&#xff0c;对于已经学过的MySQL和Ka…

Jdk17中文在线手册(建议收藏)

本身学习技术就比较难&#xff0c;再来一个英文版的API&#xff0c;就难上加难&#xff0c;经过几周的研究翻译&#xff0c;JDK17最新版中文在线手册搞定&#xff0c;不要看错了哈是JDK17不是JDK1.7&#xff0c;全网最新的只有JDK11&#xff0c;JDK17中文在线手册是第一次出现&…

JavaEE进阶(5/29)SpringMVC

目录 1.复习 2.URL传参PathVariable 3.上传文件RequestPart 4.获取Cookie/Session/header 5.传统/维新获取cookies 6.传统/维信获得Header 7.获取Session&#xff08;非常重要&#xff09; 8.不加ResponseBody 9.如何获取Json数据&#xff0c;RequestBody 10.想…

王者之力,驭见未来 | 圣戈班量子膜全国核心店面大会圆满落幕!

5月24日&#xff0c;“王者之力&#xff0c;驭见未来”——2023年圣戈班量子膜全国核心店面大会在成都缇沃丽酒店隆重召开&#xff01; 圣戈班舒热佳特殊镀膜有限公司全球总裁Mehrotra Vishal先生、圣戈班舒热佳特殊镀膜有限公司亚太总裁陈剑超先生、圣戈班舒热佳特殊镀膜有限公…

opencv_c++学习(二十九)

一、监督学习的聚类方法 K近邻的方法&#xff1a; 首先给出一个阈值k&#xff0c;后寻找距离黑色圆点最近的k个元素&#xff0c;占据比例大的元素即为黑色所属的类别。如图所示&#xff0c;即k3时&#xff0c;黑色圆属于三角形&#xff0c;k5时圆点属于正方形。 支持向量机方…

设计模式-享元模式

问题背景 有一个小型的外包项目&#xff0c;就是给客户A做一个展示的网站&#xff0c;例如展示&#xff1a;这个网站展示的都是客户A的产品。然后可以A的朋友觉得不错&#xff0c;也希望做这样一个网站&#xff0c;但是要求有些不同&#xff0c;要求以新闻的形式展示。还有更多…