读书笔记1: 《C++ Primer》中文版 第5版

目录

第1章 开始

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

int main()
{
	return 0;
}

一个函数的定义包含四部分

  1. 返回类型 return type
  2. 函数名 function name
  3. 圆括号包含的形参列表 parameter list
  4. 函数体 function body

main函数的返回类型必须为int,即整数类型
main函数的返回类型必须为int,即整数类型
main函数的返回类型必须为int,即整数类型
main函数的返回类型必须为int,即整数类型
main函数的返回类型必须为int,即整数类型

重要概念:类型
一种类型不仅定义了数据元素的内容,还定义了这类数据上可以进行的运算
程序所处理的数据都保存在变量中,而每个变量都有自己的类型。
如果一个名字为v的变量,它的类型是T,那么我们说,“v具有类型T”,或“v是一个T类型变量”。

1.1.1 编译与运行程序

如何编译程序呢?这取决于操作系统编译器
有一个概念:集成开发环境,英语是IDE,Integrated Developed Environment,这个东西将编译器其他程序创建和分析工具包装在一起。

程序源文件命名约定

不同编译器使用不同的后缀命名约定

.cc
.cxx
.cpp
.cp
.C

1.2 初识输入输出

C++语言并未定义任何输出输出(IO)语句
C++语言并未定义任何输出输出(IO)语句
C++语言并未定义任何输出输出(IO)语句

C++包含了一个全面的标准库,来提供IO机制(以及其他设施)。

注意一个库:叫做iostream库。
这个库包含两个基础类型:istream 和 ostream, 即输入流输出流
一个流就是一个字符序列

写入IO设备。
从IO设备读出

“流” ,英语是stream,它想表达的是:随着时间的推移,字符是顺序生成或消耗的。

标准输入输出对象

标准库定义了4个IO对象。

  1. 为处理输入,我们使用一个名为 cin 的 istream 类型的对象。该对象也被称为标准输入,英文是standard input。
  2. 对于输出,使用一个名为cout的ostream类型的对象。此对象也被称为标准输出,英文是standard output。
  3. 另外一个ostream对象,名字是cerr。用于输出警告和错误消息,因此也被称为标准错误,英文是standard error。
  4. 另外一个ostream对象,名字是clog。用来输出程序运行时的一般性信息。

一个使用IO库的程序

#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<iostream>

告诉编译器,我们想要使用 iostream 库。尖括号中的名字指出了一个头文件,英文是header。
一个程序如果想使用标准库设施,那么这个程序必须包含相关的头文件。

#include
头文件包含指令,使头文件中代码可被程序使用。

分析下面这句话

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

这条语句是一个表达式,英文是expression。
一个表达式产生一个计算结果。
这条语句使用了 << 运算符,它叫“输出运算符”。
这个运算符和两个运算对象打交道,即左侧运算对象和右侧运算对象。
左侧运算对象必须是一个ostream对象。
右侧运算对象是要打印的值。
这个运算符将给定的值(字符串)写到给定的 ostream 对象中。

在这里插入代码片

运算符(与“运算对象(的值)”打交道)

<<运算符:
输出运算符
将右侧运算对象的值写到左侧运算对象表示的输出流。

cout<<"hi"

表示将hi写到标准输出

cout<<"hi"<<"bye"

表示将输出hibye(输出运算符连接了hi和bye)
>>运算符:
输入运算符
从左侧运算对象所指定的输入流读取数据,存入右侧运算对象中。

cin>>i

表示从标准输入读取下一个值

cin>>i>>j

表示先读取一个值存入 i ,再读取一个值存入 j 。

==运算符
!=运算符
<=运算符
>=运算符
<运算符
>运算符

=运算符

::运算符
作用域运算符
其用处之一:访问命名空间中的名字。

std::cout

表示命名空间std中的名字cout。

++运算符
递增运算符。将运算对象的值加1

++i;

等价于

i=i+1;

–运算符
递减运算符。将运算对象的值减1。

--i;

等价于

i=i-1;

+=运算符
复合赋值运算符。将右侧运算对象加到左侧运算对象上。

a+=b

等价于

a=a+b

()运算符
调用运算符。跟随在函数名之后的一对括号“()”,起到调用函数的效果。传递给函数的实参放置在括号内。

.运算符
点运算符。左侧运算对象必须是一个类类型对象,右侧运算对象必须是此对象的一个成员的名字。运算结果即为该对象的这个成员。

上一篇:2021 02 16 重新开始


下一篇:《C Primer Plus》第一章——笔记、复习题及编程练习