《C++ Primer(第5版)》学习笔记(第1章)

第1章 开始

介绍C++的部分基础内容,包括输入输出、注释、类等。

1.2 输入输出

C++没有定义输入和输出语句,但包含了一个标准库来提供I/O机制,一般使用iostream库。包括以下4个I/O对象:
(1)cin:标准输入;
(2)cout:标准输出;
(3)cerr:标准错误,输出警告和错误消息;
(4)clog:输出程序运行时的一般性信息。其中cin是istream对象,其他三个是ostream对象。

#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 " << v1 << " and " << v2
	          << " is " << v1 + v2 << std::endl;
	return 0;
}

每个使用标准库的程序都应包含相关的头文件,需用#include指令声明。
  #include < >:引用编译器的类库路径里面的头文件,如使用iostream标准库,则需使用#include <iostream>声明。
  
  #include " ":引用程序目录的相对路径中的头文件。

输出

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

前缀std::指定cin、cout和endl是定义在名为std的命名空间(namespace)中的,命名空间可避免名字定义冲突以及使用库中同名冲突。标准库定义的所有名字都在命名空间std中。

输出运算符<<的左侧运算对象必须是ostream对象,右侧是要打印的值,<<将给定的值写入给定的ostream对象,返回左侧运算对象,则语句等价于:

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

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

写入endl的作用是结束当前行,并将与设备关联的缓冲区中的内容刷到设备中。缓冲刷新可保证目前为止程序产生的所有输出都写入了输出流中,而不是仅在内存中等待写入流。

输入

int v1 = 0, v2 = 0;

首先初始化变量v1、v2来保存输入值。

std::cin >> v1 >> v2;

与输出运算符类似,输入运算符>>的左侧运算对象必须是istream对象,右侧是要读入的值,>>将输入的值写入给定的istream对象,返回左侧运算对象。则语句等价于:

(std::cin >> v1) >> v2;

std::cin >> v1;
std::cin >> v2;

当用键盘向程序输入数据时,需指出文件结束,在Windows系统中,结束输入使用Ctrl + Z然后Enter/Return 。在UNIX和Mac OS X系统中,使用Ctrl + D结束输入。

1.3 注释

两种注释,单行注释和界定符对注释。
单行注释以//开始,以换行符结束。
另一种以/*开始,以*/结束

/*
 * 一个注释不能嵌套在另一个注释之内
 */

// 单行注释,双斜线右边所有内容都会被编译器忽略

1.4 控制流

1.4.1 while语句

while (condition)
	statement

while语句的执行过程是交替地检测condition和执行statement,直至condition为假为止。

1.4.2 for语句

for (init-statement; condition; expression)
	statement

for循环的执行过程如下:

Created with Raphaël 2.2.0 init-statement condition statement expression quit yes no

1.4.3 读取数量不定的输入数据

int value = 0;
while (std::cin >> value)
	statement

当遇到文件结束符或遇到无效的输入输出时(如读入的值不是整数),istream对象的状态变为无效,while循环结束。

1.5 类

通过定义一个类(class)来定义自己的数据结构,一个类定义了一个类型,以及与其关联的一组操作。例如对于一个书店程序来说,假定类名为Sales_item,头文件Sales_item.h中已经定义了这个类。调用对这个类的操作需要#include "Sales_item.h"指令。

1.5.2 成员函数

成员函数(member function)是定义为类的一部分的函数,有时也被称为方法(method)。通常以一个类对象的名义来调用成员函数,如类Sales_item类中有成员函数isbn,则可通过以下代码调用:

Sales_item item;
item.isbn() // 括号内放置实参(argument)列表(可能为空)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值