【第一章】 开始
1.1 编写一个简单的C++程序
1、每个C++程序都包含一个或多个 函数,其中一个必须命名为 main。操作系统通过调用main来运行C++程序。
2、main函数的 返回类型必须为int,大多系统中,main的返回值用来 指示状态。将0返回给操作系统表明成功,非0的返回值的含义由系统定义,通常用来指出错误类型。
3、一个函数定义包含四个部分: 返回类型,函数名,形参列表,函数体.
1.2 初识输入输出
1、C++语言 并未定义任何输入输出(IO)语句,而是包含了一个 全面的标准库来提供IO机制。
2、标准库定义了4个IO对象。分别为:
1)名为cin的istream类型的对象-- 标准输入。
2)名为cout的ostream类型的对象-- 标准输出。
3)名为cerr和clog的ostream类型对象,其中cerr用来输出警告和错误消息,也被称为 标准错误。而clog用来输出程序运行时的一般性信息。
3、一个表达式产生一个计算结果,它由 一个或多个运算对象和(通常是) 一个运算符组成。
4、cout后面打印的“Enter two numbers”称为 字符串字面值常量。而endl被称为 操纵符。
5、前缀std::指出名字cout和endl是定义在名为std的命名空间中的。通过使用 作用域运算符(::)来指出我们想使用定义在命名空间std中的名字cout。
6、int是一种 内置类型,初始化一个变量,就是在变量创建的同时为它赋予一个值。
7、输入运算符(>>)与输出运算符类似,接受一个istream/ostream对象作为其左侧运算对象,接受一个对象作为其右侧运算对象。此运算符返回其左侧运算对象。
1.3 注释简介
1、C++中有 两种注释,单行注释和界定符对注释。
1)单行注释以双斜线//开始, 以换行符结束
2)两个界定符(/*和*/)。这种注释以/*开始,以*/结束,可以包含除*/以外的任意内容,包括换行符。编译器落在/*和*/之间的所有内容都当做注释。
当注释界定符跨越多行时,采用的风格是, 注释内的每行都以一个星号开头,从而指出整个范围都是多行注释的一部分。(p8)
特别注意: 注释界定符不能嵌套!!
// 练习 1.8 p9
std::cout << /* "*/" /* "/*" */;
【解析】
是合法的,/* "*/为第一个注释部分," /* "为字符串的文字内容,/*" */为注释部分
1.4 控制流
1.4.1 while语句
1、while语句执行过程: 交替检测condition条件和执行关联的语句statement,直至condition为假时停止。所谓的条件,就是一个产生真或假结果的表达式!
// 练习 1.9 p11
// 使用while循环将50到100的整数相加
// 练习 1.10 p11
// 使用递减运算符在循环中按递减顺序打印出10到0之间的整数
// 练习 1.11 p11
// 提示用户输入两个整数,打印出这两个整数所指定范围内的所有整数
1.4.2 for语句
1、每个for语句都包含两个部分: 循环头和循环体。循环头控制循环体的执行次数,它由三部分组成: 一个初始化语句,一个循环条件,一个表达式。初始化语句仅在for循环入口执行一次
1.5 类简介
1、一个类定义了一个类型,以及与其关联的一组操作。C++最初的一个设计焦点就是能定义使用上像内置类型一样自然的类类型。
2、 包含来自标准库的头文件时,用<>包围头文件名。对于不属于标准库的头文件,则用双引号包围。
3、点运算符表达我们需要“名为xx的对象的yy成员”。点运算符只能用于类类型的对象。左侧必须是一个类类型的对象,右侧运算对象必须是该类型的一个成员名。
1.1 编写一个简单的C++程序
1、每个C++程序都包含一个或多个 函数,其中一个必须命名为 main。操作系统通过调用main来运行C++程序。
2、main函数的 返回类型必须为int,大多系统中,main的返回值用来 指示状态。将0返回给操作系统表明成功,非0的返回值的含义由系统定义,通常用来指出错误类型。
3、一个函数定义包含四个部分: 返回类型,函数名,形参列表,函数体.
1.2 初识输入输出
1、C++语言 并未定义任何输入输出(IO)语句,而是包含了一个 全面的标准库来提供IO机制。
2、标准库定义了4个IO对象。分别为:
1)名为cin的istream类型的对象-- 标准输入。
2)名为cout的ostream类型的对象-- 标准输出。
3)名为cerr和clog的ostream类型对象,其中cerr用来输出警告和错误消息,也被称为 标准错误。而clog用来输出程序运行时的一般性信息。
3、一个表达式产生一个计算结果,它由 一个或多个运算对象和(通常是) 一个运算符组成。
4、cout后面打印的“Enter two numbers”称为 字符串字面值常量。而endl被称为 操纵符。
5、前缀std::指出名字cout和endl是定义在名为std的命名空间中的。通过使用 作用域运算符(::)来指出我们想使用定义在命名空间std中的名字cout。
6、int是一种 内置类型,初始化一个变量,就是在变量创建的同时为它赋予一个值。
7、输入运算符(>>)与输出运算符类似,接受一个istream/ostream对象作为其左侧运算对象,接受一个对象作为其右侧运算对象。此运算符返回其左侧运算对象。
1.3 注释简介
1、C++中有 两种注释,单行注释和界定符对注释。
1)单行注释以双斜线//开始, 以换行符结束
2)两个界定符(/*和*/)。这种注释以/*开始,以*/结束,可以包含除*/以外的任意内容,包括换行符。编译器落在/*和*/之间的所有内容都当做注释。
当注释界定符跨越多行时,采用的风格是, 注释内的每行都以一个星号开头,从而指出整个范围都是多行注释的一部分。(p8)
特别注意: 注释界定符不能嵌套!!
// 练习 1.8 p9
std::cout << /* "*/" /* "/*" */;
【解析】
是合法的,/* "*/为第一个注释部分," /* "为字符串的文字内容,/*" */为注释部分
1.4 控制流
1.4.1 while语句
1、while语句执行过程: 交替检测condition条件和执行关联的语句statement,直至condition为假时停止。所谓的条件,就是一个产生真或假结果的表达式!
// 练习 1.9 p11
// 使用while循环将50到100的整数相加
#include<iostream> int main() { int i = 50; int sum = 0; while (i <= 100) { sum += i; ++i; } std::cout << sum << std::endl; // std::cout << 25 * 150 + 75; return 0; }
// 练习 1.10 p11
// 使用递减运算符在循环中按递减顺序打印出10到0之间的整数
#include<iostream> int main() { int i = 10; while (i >= 0) { std::cout << i << " "; i--; } return 0; }
// 练习 1.11 p11
// 提示用户输入两个整数,打印出这两个整数所指定范围内的所有整数
#include<iostream> int main() { std::cout << "input two numbers:"; int a, b; std::cin >> a >> b; if (a < b) { while (a <= b) { std::cout << a << " "; a++; } } else{ while (b <= a) { std::cout << b << " "; b++; } } return 0; }
1.4.2 for语句
1、每个for语句都包含两个部分: 循环头和循环体。循环头控制循环体的执行次数,它由三部分组成: 一个初始化语句,一个循环条件,一个表达式。初始化语句仅在for循环入口执行一次
1.5 类简介
1、一个类定义了一个类型,以及与其关联的一组操作。C++最初的一个设计焦点就是能定义使用上像内置类型一样自然的类类型。
2、 包含来自标准库的头文件时,用<>包围头文件名。对于不属于标准库的头文件,则用双引号包围。
3、点运算符表达我们需要“名为xx的对象的yy成员”。点运算符只能用于类类型的对象。左侧必须是一个类类型的对象,右侧运算对象必须是该类型的一个成员名。