《C++ Primer》 第1章 开始

1.1 编写一个简单的C++程序

1.1.1 编译、运行程序

​ 术语:集成开发环境(Integrated Developed Environment, IDE)

源程序文件命名约定

​ 大多数编译器要求源码存储在一个或多个文件中,这些程序文件通常被称为源文件。常见C++程序源文件后缀有:cc、cxx、cpp、cp、C

从命令行运行编译器

$ CC prog1.cc

​ 其中CC是编译器的名字。编译器生成一个可执行文件。Windows系统将这个可执行文件命名为prog1.exe。UNIX系统常命名为a.out

1.2 初识输入输出

​ C++语言常用标准库来提供IO机制。同时本书中很多示例使用了iostream库。该库包含两个基础类型istream和ostream,分别表示输入流和输出流。“”(stream)这个术语想表达的是,随着时间的推移,字符是序列生成或消耗的。

标准输入输出对象

标准库定义了4个IO对象:cin、cout、cerr、clog

一个IO库的程序

​ 程序的第一行

#include <iostream>

告诉编译器我们想要使用iostream库。尖括号中的名字指出了一个头文件。每个使用标准库设施的程序都必须包含相关的头文件。对于非标准库的头文件,则用双引号包围。

向流写入数据

​ 表达式

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

使用了输出运算符<<)在标准输出上打印信息。输出运算符接受两个运算对象:右侧的运算对象是要打印的值,左侧的运算对象必须是一个ostream对象。左侧的ostream对象是运算符的运算结果。

​ 该语句使用了两次输出运算符,即第一次运算结果成为了第二个运算符的左侧对象。该语句等同于:

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

也可以用两条语句表达:

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

std::cout << std::endl;

1.4 控制流

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

​ 在预先不知道要对多少个数求和时,就需要不断读取数据直至没有新的输入为止

1
2
3
while (std::cin >> value)
sum += value;
std::cout << "Sum is: " << sum << std::endl;

如果我们输入

3 4 5 6

则程序会输出

Sum is: 18

当我们使用一个istream对象作为条件时,其效果是检测流的状态。如果流时有效的,那么检测成功。当遇到文件结束符或一个无效输入(例如读入值与value定义的类型不相符),istream的状态会变为无效。

从键盘输入文件结束符

Windows: Ctrl + Z, Enter

Unix&MacOS: Ctrl + D

1.5 类简介

​ 在C++中,我们通过定义一个(class)来定义自己的数据结构。一个类定义了一个类型,以及与其关联的一组操作。每个类实际上都定义了一个新的类型,其类型名就是其类名。

类/对象可以进行的操作:

  • 定义该类型的变量。
  • 用输入、输出运算符读写该类型的对象。
  • 在同类对象间进行赋值。
  • 在两个同类对象间进行加法运算。
-------------本文结束感谢您的阅读-------------