《C++ primer》第五版学习笔记——第一章知识点及习题

本文是《C++ Primer》第五版第一章的学习笔记,涵盖了输入输出、注释、控制流(while、for、if)等内容,并对每个部分的练习进行了解答,适合初学者系统学习C++基础知识。
摘要由CSDN通过智能技术生成

附:此笔记是为了记录自己学习《C++ primer》中文版第五版的学习过程,同时督促自己,“希望有一天,自己从来不缺从头再来的勇气”,在此之前看的C++的书都很杂乱,所以想系统性地再认真学一遍,打好基础。

书中使用最多的编译器是GNU编译器4.7.0,本人使用的Dev-C++ 5.11,并对书中的练习进行了相应解答,仅供参考,有错误的地方,欢迎联系我指正,十分感谢。

第一章 开始

0 示例

编写一个程序来解决简单的书店问题。

要求:书店保存所有销售记录的档案,每条记录保存某本书的一次销售的信息(一册或多册)。每条记录包含三个数据项。

0-201-70353-X 4 24.99

第一项是书的ISBN号。第二项是售出的册数,第三项是书的单价。

有时书店老板需要查询此档案,计算每本书的销售量、销售额及评价售价。

思考该程序包含哪些子问题?

  1. 定义变量

  2. 进行输入和输出

  3. 使用数据结构保存数据

  4. 检测两条记录是否有相同的ISBN

  5. 包含一个循环来处理销售档案中的每条记录

1.1 输入输出

#include <iostream>

iostream库中包含两个基础类型istreamostream,分别表示输入和输出。一个流就是一个字符序列,是从IO设备读出或写入IO设备的。

int main( )
{
	std::cout<<"Enter two numbers:"<<std::endl;
	int v1,v2;
	cin>>v1>>v2; 
	std::cout<<"The sum of"<<v1<<"and"<<v2
	         <<"is"<<v1+v2<<std::endl;
	return 0;
}

cin 标准输入,istream类型的对象。使用输入运算符>>,该运算符返回其左侧的运算对象,左侧的运算对象必须是一个istream对象。

cout 标准输出,ostream类型的对象。使用输出运算符<<,该运算符返回其左侧的运算对象,左侧的运算对象必须是一个ostream对象。

std::cout<<"Enter two numbers:"<<std::endl;,有两个<<运算符,每个运算符的左侧运算对象都是相同的,即都是std::cout,因此可以写成一行,也可以用两条语句来生成相同的输出:

std::cout<<"Enter two numbers:";
std::cout<<std::endl;

第一个输出运算符给用户打印一条信息,是一个字符串字面值常量,是用一对双引号包围的字符序列。在双引号之间的文本被打印到标准输出。

第二个运算符打印endl,是一个操纵符的特殊值,作用是结束当前行,并将于设备关联的缓冲区中的内容刷到设备中。

注意 使用标准库中的名字std:: coutstd::endl,而不是直接的coutendl

前缀std::指出名字coutendl是定义在名为std的命名空间(namespace)中的。命名空间可以帮助我们避免不经意的名字定义冲突,以及使用库中相同名字导致的冲突。标准库定义的所有名字都在命名空间std中。

通过命名空间使用标准库有一个副作用:当使用标准库中的一个名字时,必须显式说明我们想使用来自命名空间std中的名字。例如,需要写出std:: cout,通过使用作用域运算符(::)来指出我们想使用定义在命名空间std中的名字cout

如果在程序首部声明命名空间using namespace std;,则在输入、输出就不需要作用运算符进行前缀,直接写cin,cout即可。

练习1.3

编写程序,在标准输出上打印 Hello, World。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值