C++ Primer习题集----题目+答案版

具体源码请见:C++primer习题上半部分资源-CSDN文库

目录

第一章 开始

练习1.1  编写程序,在标准输出上打印Hello.world

练习1.2  我们的程序使用加法运算符+来将两个数相加。编写程序使用乘法运算符*,来打印两个数的积。

练习1.4  编译一个包含不正确的嵌套解释的程序,观察编译器返回的错误信息。

练习1.5  指出下列哪些输出语句是合法的(如果有的话)

 练习1.6  编写程序,使用while循环将50到100的整数相加

练习1.7  编写程序,使用递减运算符在循环中按递减序打印出10到0之间的整数

练习1.8  编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数

练习1.9  下面的for循环完成了什么功能?sum的终值是多少?

练习1.10   对比for循环和while循环,两种形式的优缺点是什么?

练习1.11 编写程序,从cin读取一组数,输出其和

练习1.12 如果输入的所有值都是相等的,本书的程序会输出什么?如果没有重复值,输出又是怎样的?

练习1.13 将头文件拷贝到自己的工作目录中,用它编写一个程序,读取一组书籍销售记录,将每条记录打印到标准输出上

练习1.14

练习1.15


第一章 开始

本章介绍了C++程序的基本结构,如何认定变量,如何进行输入输出,以及如何编写简单语句。

练习1.1  编写程序,在标准输出上打印Hello.world

解答:

#include<iostream>
int main()
{
    std::cout<<"Hello world"<<std::endl;
    return 0;
}

练习1.2  我们的程序使用加法运算符+来将两个数相加。编写程序使用乘法运算符*,来打印两个数的积。

解答:

#include<iostream>
int main()
{
    std::cout << "请输入两个数" << std::endl;
    int v1, v2;
    std::cin >> v1 >> v2;
    std::cout << v1 << "和" << v2 << "的积为:"
        << v1 * v2 << std::endl;
    return 0;
}

解答:

练习1.4  编译一个包含不正确的嵌套解释的程序,观察编译器返回的错误信息。

在编译器中编译下面的程序:

#include<iostream>
/*
* 注释对/* */ 不能嵌套
*“不能嵌套”几个字会被认为是源码
* 像剩余程序一样处理
*/
int main()
{
   
    return 0;
}

编译器会报告下列错误 

练习1.5  指出下列哪些输出语句是合法的(如果有的话)

解答:

  

 练习1.6  编写程序,使用while循环将50到100的整数相加

解答:

#include<iostream>

int main()
{
    int sum = 0;
    int i = 50;
    while (i <= 100) {
        sum += i;
        i++;
    }
    std::cout << "50到100之间的整数之和为"
        << sum << std::endl;
    return 0;
}

练习1.7  编写程序,使用递减运算符在循环中按递减序打印出10到0之间的整数

除了++运算符将运算对象的值增加1以外,还有一个递减运算符(--)实现将值减少1。

解答:

#include<iostream>
int main()
{
    int i = 10;
    while (i >= 0) {
        std::cout << i << " ";
        i--;
    }
    std::cout<<std::endl;
    return 0;
}



练习1.8  编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数

解答:

#include<iostream>
int main()
{
	std::cout << "请输入两个数:";
	std::cout << std::endl;
	int v1, v2;
	std::cin >> v1 >> v2;
	if(v1>v2)	//由大至小打印
		while (v1 >= v2) {
			std::cout << v1 << " ";
			v1--;
		}
	else	//由小至大打印
		while (v1 <= v2) {
			std::cout << v1 << " ";
			v1++;
		}
	std::cout << std::endl;
	return 0;
}



练习1.9  下面的for循环完成了什么功能?sum的终值是多少?

练习1.10   对比for循环和while循环,两种形式的优缺点是什么?

练习1.11 编写程序,从cin读取一组数,输出其和


 解答:

#include<iostream>
int main()
{
	int sum = 0, value = 0;
	std::cout << "请输入一些数:"
		<< std::endl;
	for (; std::cin >> value;)
		sum += value;
	std::cout << "读入的数之和为"<<sum<<std::endl;
	return 0;
}

练习1.12 如果输入的所有值都是相等的,本书的程序会输出什么?如果没有重复值,输出又是怎样的?

 

解答:

练习1.13 将头文件拷贝到自己的工作目录中,用它编写一个程序,读取一组书籍销售记录,将每条记录打印到标准输出上

解答:

#include <iostream>
#include "Sales_item.h"

int main()
{
    Sales_item book;
    std::cout << "请输入销售记录:" << std::endl;
    while (std::cin >> book) {
        std::cout << "ISBN、售出本书、销售额和平均售价为" 
            <<book<< std::endl;
    }
    return 0;
}

2-01 2 20
2-01 2 40 20

练习1.14

编写程序,读取两个 ISBN 相同的 Sales_item 对象,输出他们的和。

解答:

#include <iostream>
#include "Sales_item.h"

int main()
{
    Sales_item item1,item2;
    std::cin >> item1 >> item2;
    std::cout << item1 + item2 <<std::endl;
    
    return 0;
}

 


1-01 2 100
1-01 3 100
1-01 5 500 100

练习1.15

编写程序,读取多个具有相同 ISBN 的销售记录,输出所有记录的和。

#include <iostream>
#include "Sales_item.h"

int main()
{
    Sales_item item,sum_item;
    std::cin >> sum_item;
    while(std::cin >> item)
    {
    	sum_item += item;
    }
    std::cout << sum_item << std::endl;
    
    return 0;
}

 


1-01 2 100
1-01 2 100
1-01 3 100
1-01 7 700 100

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Zookeeper的简单使用Centos环境下

目录 前言 一、ZOokeeper是什么&#xff1f; 二、安装Zookeeper 1.进入官网下载 2.解压到服务器 3.配置文件 三.使用Zookeeper 3.1启动相关指令 3.2其他指令 3.3ACL权限 总结 前言 记录下安装zookeeper的一次经历 一、ZOokeeper是什么&#xff1f; ZooKeeper是一…

【Linux】————多线程(概念及控制)

作者主页&#xff1a; 作者主页 本篇博客专栏&#xff1a;Linux 创作时间 &#xff1a;2024年11月19日 再谈地址空间&#xff1a; OS对内存进行管理不是根据字节为单位&#xff0c;以字节为单位效率过低&#xff0c;是以内存块为单位的&#xff0c;一个内存块的大小一般为4…

蓝桥杯每日真题 - 第17天

题目&#xff1a;&#xff08;最大数字&#xff09; 题目描述&#xff08;13届 C&C B组D题&#xff09; 题目分析&#xff1a; 操作规则&#xff1a; 1号操作&#xff1a;将数字加1&#xff08;如果该数字为9&#xff0c;变为0&#xff09;。 2号操作&#xff1a;将数字…

视频融合×室内定位×数字孪生

随着物联网技术的迅猛发展&#xff0c;室内定位与视频融合技术在各行各业中得到了广泛应用。不仅能够提供精确的位置信息&#xff0c;还能通过实时视频监控实现全方位数据的可视化。 与此同时&#xff0c;数字孪生等技术的兴起为智慧城市、智慧工厂等应用提供了强大支持&#…

SIMCom芯讯通A7680C在线升级:FTP升级成功;http升级腾讯云对象储存的文件失败;http升级私有服务器的文件成功

从事嵌入式单片机的工作算是符合我个人兴趣爱好的,当面对一个新的芯片我即想把芯片尽快搞懂完成项目赚钱,也想着能够把自己遇到的坑和注意事项记录下来,即方便自己后面查阅也可以分享给大家,这是一种冲动,但是这个或许并不是原厂希望的,尽管这样有可能会牺牲一些时间也有哪天原…

前端访问后端实现跨域

背景&#xff1a;前端在抖音里做了一个插件然后访问我们的后端。显然在抖音访问其他域名肯定会跨域。 解决办法&#xff1a; 1、使用比较简单的jsonp JSONP 优点&#xff1a;JSONP 是通过动态创建 <script> 标签的方式加载外部数据&#xff0c;属于跨域数据请求的一种…

网络安全-web架构-nginx配置

1. nginx访问&#xff1a; 访问的是index.html&#xff0c; 访问ip访问的资源就是在/usr/share/nginx/html中&#xff1b; 当nginx不认识&#xff0c;浏览器认识的话&#xff0c;浏览器会自动渲染。 当nginx认识&#xff0c;浏览器不认识的话&#xff0c;浏览器会把它加载成…

内网穿透(组网)成功率高、部署简单

【背景】 公司有服务器&#xff0c;或者公司的电脑配置比自己家里的笔记本高&#xff0c;如果要配置外网穿透&#xff0c;就太麻烦&#xff0c;而且也不安全&#xff0c;局域网组网就相对来说既简单&#xff0c;又安全好多。 ​【介绍】 节点小宝是拥有一套完整的自主研发 P2…

【设计模式】行为型模式(四):备忘录模式、中介者模式

《设计模式之行为型模式》系列&#xff0c;共包含以下文章&#xff1a; 行为型模式&#xff08;一&#xff09;&#xff1a;模板方法模式、观察者模式行为型模式&#xff08;二&#xff09;&#xff1a;策略模式、命令模式行为型模式&#xff08;三&#xff09;&#xff1a;责…

Java从入门到精通笔记篇(十三)

与流处理 ambda表达式 定义 lambda表达式不能被独立执行&#xff0c;因此必须实现函数式接口&#xff0c;并且会返回一个函数式接口的对象。 可将其语法用下列的方式理解 误区警示 “->”符号是由英文状态下的“-”和“>”组成的&#xff0c;符号之间没有空格。 lambd…

阅读2020-2023年《国外军用无人机装备技术发展综述》笔记_技术趋势

目录 文献基本信息 序言 1 发展概况 2 重点技术发展 2.1 人工智能技术 2.1.1 应用深化 2.1.2 作战效能提升 2.2 航空技术 2.2.1螺旋桨设计创新 2.2.2 发射回收技术进步 2.3 其他相关技术 2.3.1 远程控制技术探 2.3.2 云地控制平台应用 3 装备系统进展 3.1 无人作…

VuePress+Github 部署一个零成本静态站点(博客)

VuePress链接:Home | VuePress (vuejs.org)https://vuepress.vuejs.org/ 一.运行环境准备 需要准备安装VSCode(编辑器)和前端运行环境(nvm,node.js和npm) VSCod安装链接:Visual Studio Code - Code Editing. Redefinedhttps://code.visualstudio.com/前端环境:注意需要先安装…

脚手架vue-cli,webpack模板

先安装node.js&#xff0c;它是服务器端&#xff0c;用于给页面提供服务。前端学习不需要会node.js&#xff0c;只需要学会node.js衍生出来的npm命令即可。 npm 是node.js的一个工具&#xff0c;作用是进行包管理&#xff0c;npm是node.js的包管理器。 接着安装脚手架&#xff…

ODOO学习笔记(12):自定义模块开发

一、Odoo模块结构基础 基本目录结构 Odoo自定义模块通常有一个特定的目录结构。一个典型的模块目录包含以下文件和文件夹&#xff1a; __init__.py&#xff1a;这是一个Python模块初始化文件。它使得该目录被视为一个Python模块。在这个文件中&#xff0c;你可以通过from. impo…

在 Sui 区块链上创建、部署与测试自定义 Move 合约的完整教程

系列文章目录&#x1f60a; Task1&#xff1a;hello_move Task2&#xff1a;move_coin 目录 系列文章目录&#x1f60a;引言一、更新本地代码1、查看当前项目的远程仓库信息。2、将远程仓库的最新代码同步到本地的代码分支 二、创建一个新的 Move 项目三、编写合约代码1、编写…

【数据结构】归并排序 —— 递归及非递归解决归并排序

归并排序 一、归并排序1、归并排序的思想2、归并排序代码实现&#xff08;递归&#xff09;<1> 归并排序的递归区间<2> 归并排序的稳定性<3> 拷贝 3、归并排序代码实现&#xff08;非递归&#xff09;<1> 循环区间溢出问题 二、总结 一、归并排序 1、…

单片机学习笔记 6. 数码管动态显示

更多单片机学习笔记&#xff1a;单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示 目录 0、实现的功能 1、Keil工程 1-1 数码管动态显示 1-2 数组的定义与引用…

go 学习网站,go例子 go demo go学习视频

1. 代码例子&#xff1a; Go by Example 2. b站 视频&#xff1a; 尚硅谷视频&#xff1a; 004_尚硅谷_程序的基本概念_哔哩哔哩_bilibili 3. go技术文档&#xff1a; fmt Go语言中文文档

MySQL(5)【数据类型 —— 字符串类型】

阅读导航 引言一、char&#x1f3af;基本语法&#x1f3af;使用示例 二、varchar&#x1f3af;基本语法&#x1f3af;使用示例 三、char 和 varchar 比较四、日期和时间类型1. 基本概念2. 使用示例 五、enum 和 set&#x1f3af;基本语法 引言 之前我们聊过MySQL中的数值类型&…

# 06_ Python基础到实战一飞冲天(二)-python基础(六)--变量的使用与变量类型

06_ Python基础到实战一飞冲天&#xff08;二&#xff09;-python基础&#xff08;六&#xff09;–变量的使用与变量类型 一、程序执行原理-06-明确程序的作用 1、程序的作用 程序就是 用来处理数据 的&#xff01; 2、各类软件的场景&#xff1a; 新闻软件 提供的 新闻内容…