《C++ Primer》学习笔记1.2

例题

#include <iostream>		// 使用该头文件完成输入输出
int main()
{
	std::cout << "Enter two numbers:" << std::endl;		// 输出字符串 Enter two numbers: ,并换行
	int v1 = 0, v2 = 0;									// 定义 v1 、 v2 两个变量,用以保存输入
	std::cin >> v1 >> v2;								// 接收用户输入
	std::cout << "The sum of " << v1 << " and " << v2	
		<< " is " << v1 + v2 << std::endl;				//输出 v1+v2 的计算结果
	return 0;
}

知识点

一、
最常见的库“iostream”,包含“istream”和“ostream”(个人理解i为input,o为output),分别表示输入流和输出流。

二、
istream类型的对象cin为标准输入
ostream类型的对象cout为标准输出
ostream类型的对象cerr为标准错误
ostream类型的对象clog用来输出程序运行时的一般性信息

三、
关于std::
std::是个名称空间标识符,C++标准库中的函数或者对象都是在命名空间std中定义的,所以我们要使用标准库中的函数或者对象都要用std来限定。命名空间可以避免不经意的名字定义冲突,以及使用库中相同名字导致的冲突。
在使用标准库文件iostream时,要写上std::,
而使用非标准库文件ostream.h,不用写

四、
输出运算符 <<
左侧的运算对象必须是一个ostream对象,右侧的运算对象是要打印的值。此运算符将给定的值写到给定的ostream对象中。输出运算符的计算结果旧石器左侧运算对象。即,计算结果就是我们写入给定值的那个ostream对象。
类似"Enter two numbers:"为字符串字面值常量
std::endl为操纵符的特殊值,效果是结束当前行,并将于设备关联的缓冲区中的内容刷到设备中。

五、
输入运算符 >>
接收一个istream作为其左侧运算对象,接受一个对象作为右侧运算对象。从给定的istream读入数据,并存入给定对象中,返回其左侧运算对象作为其计算结果。

练习题

在这里插入图片描述
1.2节练习

练习1.3:

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

在这里插入图片描述

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

在这里插入图片描述

练习1.4:

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

在这里插入图片描述

#include <iostream>
int main()
{
	std::cout << "Enter two number:" << std::endl;
	int v1 = 0, v2 = 0;
	std::cin >> v1 >> v2;
	std::cout << "The sum of " << v1 << " and " << v2 << " is " << v1 * v2 << std::endl;
	return 0;
}

在这里插入图片描述

练习1.5:

我们将所有输出操作放在一条很长的语句中。重写程序,将每个运算对象的打印操作放在一条独立的语句中。

在这里插入图片描述

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

练习1.6:

解释下面程序片段是否合法。

std::cout <<"The sum of " << v1;
		   <<" and " << v2;
		   <<" is " <<v1 + v2 <<std::endl;

如果程序是合法的,它输出什么?如果程序不合法,原因何在?应该如何修正?

不合法,因为第二排和第三排的第一个输出运算符,左侧没有ostream对象接收。可以删除第一排和第二排最后的 ; (结束符)或者在第二排和第三排最前面添加std::cout

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值