1.1 函数的定义
函数包括四部分:返回类型、函数名、形参列表、函数体;
函数的main的返回值被用来指示状态,表明程序是否运行成功;
1.2 编译、运行程序
IDE是一种集成开发环境,是将编译器与其他程序创建和分析工具包装在一起。
程序源码一般存储在源文件中,源文件的后缀命名一般为 .c 、.cc、.cpp 等。
1.3 输出与输入
使用IO对象时,程序开头要包含 <iostream> 头文件。
C++中并无输入输出语句,一般使用自带的标准库来实现输出、输入操作。
iostream库包含两个基础类型 istream(输入流) 和 ostream (输出流)。
“流”就是随着时间的推移,字符按顺序生成或者消耗,一个流就是一个字符序列;
处理输入—— cin 处理输出——cout
输出错误——cerr 输出程序运行日志——clog
写到cerr的数据是不缓冲的,写到clog的数据是被缓冲的。
向流输入数据时,使用输出运算符(<<)
运算符左侧必须是一个ostream对象,右侧是要打印的数据,顺序从左往右依次打印,每次使 用过后返回其左侧的运算对象;
从流读取数据时,使用输出运算符(>>)
运算规则与输出运算符类似,输入运算符返回其左侧运算对象作为其计算结果。
运算对象并不一定都要相同类型的值,标准库定义了不同版本的输入输出运算符,来处理这 些不同类型的运算对象。
例如以下:
std::cout << "enter number:" << std::endl;
// =(std::cout << "enter number:" )<< std::endl;
// 先算括号内,然后返回 std::cout ,接着计算 std::cout << std::endl;
打印字符—— 使用单引号 'a'
打印字符串字面值常量—— 使用双引号 "enter number"
endl 被称为操纵符,效果相当于结束当前行,并将设备的缓冲区的内容刷到输出设备中。
前缀 std:: 是定义在名为std的命名空间,标准库定义的所有名字都在std中,避免名字定义冲突
通过命名空间使用标准库时,我们需要使用作用域运算符(::)来指出我们想使用的定义名字
注释有两种形式:注释界定符、双斜线注释 。 (注释界定符不能嵌套)
注释界定符的右注释号会优先与最近的左注释号结合;
1.4 控制流
while语句:交替地检测条件和执行相关地语句,当条件为假时停止。
for语句:由循环头和循环体两部分组成,循环头由初始化语句、循环条件、表达式组成。
while语句一般适用于循环次数未知的情况,for语句则相反。
注意:
while (std::cin >> value)
当我们使用一个istream对象作为循环条件时,其效果是检测流的状态。当遇到文件结束符 (ctrl + z)或者一个无效输入(不是value类型值)时,istream对象状态会变为无效,那么条件 会变为假,循环结束。
1.5 类简介
在C++中, 用 "类" 来描述 "对象", 所谓的"对象"是指现实世界中的一切事物。类的数据具有一定 的行为能力, 也就是类中说描述的方法。通常来说, 一个类的定义包含两部分的内容, 一是该类 的属性, 另一部分是它所拥有的方法(与类相关联的操作)。
为了使用标准库中的类或者我们所定义的类,我们必须包含相关的头文件。我们通常使用 .h 作 为头文件的后缀。
类定义了行为:类的作者定义了类对象可以执行的所有操作。
包括来自标准库的头文件时,使用尖括号(<>)包围头文件名,对于不属于标准库的头文件, 则使用双引号("")包围。
成员函数(方法):定义为类的一部分的函数,就像类定义中的其他变量一样。类成员函数是 类的一个成员,它可以操作类的任意对象,可以访问对象中的所有成员。
我们通常以一个类对象的名义来调用成员函数。使用点运算符(.),其左侧运算对象必须是一 个类类型对象,右侧必须是该类型的一个成员名。