本文介绍:
- 编写简单的C++程序
- 初窥输入/输出
- 关于注释
- 控制结构
- 类的简介
- 参考文献
编写简单的C++程序
`int main()
{
return 0;
}`
1. 每个 C++ 程序都包含一个或多个函数,而且必须有一个命名为 main。函数由执行函数功能的语句序列组成。操作系统通过调用main 函数来执行程序
2. main 函数则执行组成自己的语句并返回一个值给操作系统。
3. main 函数的返回值必须是 int 型,该类型表示整数。int 类型是内置类型,即该类型是由 C++ 语言定义的。
4. 函数体函数定义的最后部分,是以花括号开始并以花括号结束的 语句块:
{
return 0;
}
例中唯一的语句就是 return,该语句终止函数。
注意 return 语句后面的分号。在 C++ 中多数语句以分号作为
结束标记。分号很容易被忽略,而漏写分号将会导致莫名其妙
的编译错误信息
- 当 return 带上一个值(如 0)时,这个值就是函数的返回值。返回值类型
必须和函数的返回类型相同,或者可以转换成函数的返回类型。对于 main 函数,
返回类型必须是 int 型,0 是 int 型的。
- 在大多数系统中,main 函数的返回值是一个状态指示器。返回值 0 往往表
示 main 函数成功执行完毕。任何其他非零的返回值都有操作系统定义的含义。
通常非零返回值表明有错误出现。每一种操作系统都有自己的方式告诉用户
main 函数返回什么内容
调用 GNU 或微软编译器
调用 C++ 编译器的命令因编译器和操作系统的不同而不同,常用的编译
器是 GNU 编译器和微软 Visual Studio 编译器。调用 GNU 编译器的默
认命令是 g++:
$ g++ prog1.cc -o prog1
这里的 $ 是系统提示符。这个命令产生一个为 prog1 或 prog1.exe 的
可执行文件。在 UNIX 系统下,可执行文件没有后缀;**而在 Windows 下,
后缀为 .exe**。
-o prog1 是编译器参数以及用来存放可执行文件的文件名。如果省略 -o prog1,那么编译器在 UNIX 系统下产生名为 a.out 而
在 Windows 下产生名为 a.exe 的可执行文件。
微软编译器采用命令 cl 来调用:
C:\directory> cl -GX prog1.cpp
这里的 C:directory> 是系统提示符,directory 是当前目录名。cl 是
调用编译器的命令。-GX 是一个选项,该选项在使用命令行界面编译器
程序时是必需的。
微软编译器自动产生与源文件同名的可执行文件,这
个可执行文件具有 .exe 后缀且与源文件同名。本例中,可执行文件命
名为 prog1.exe。
从命令行编译器
例如 UNIX 的 shell 窗口或
Windows 的命令提示窗口)编译程序
`$ CC prog1.cc`
1. 这里 CC 是编译器命令名,$ 表示系统提示符。编译器输出一个可执行文件,我们可以按名调用这个可执行文件。
2. 在我们的系统中,编译器产生一个名为a.exe 的可执行文件。
3. UNIX 编译器则会将可执行文件放到一个名为 a.out 的文件中。
运行可执行文件,可在命令提示符处给出该文件名
`$ a.exe`
在 UNIX 系统中,即使在当前目录,有时还必须指定文
件所在的目录
$ ./a.exe
“.”后面的斜杠表明文件处于当前目录下
访问 main 函数的返回值的方式和系统有关。不论 UNIX 还是 Windows 系
统,执行程序后,必须发出一个适当的 echo 命令。UNIX 系统中,通过键入如
下命令获取状态:
`$ echo $?`
Windows 系统下查看状态
`C:\directory> echo %ERRORLEVEL%`
初窥输入/输出
iostream 库的基础是两种命名为 istream 和 ostream 的类型,分别表示输入
流和输出流。
标准库定义了 4 个 IO 对象:
- cin 标准输入
- cout 标准输出
- cerr 标准错误
- clog 一般信息
1.从cin 读入时,数据从执行程序的窗口读入,当写到 cin、cerr 或 clog 时,输
出写至同一窗口。
2.运行程序时,大部分操作系统都提供了重定向输入或输出流的方法。利用重定向可以将这些流与所选择的文件联系起来
关于注释
- 程序通常混用两种注释形式。注释对一般用于多行解释,而双斜线注释则常
用于半行或单行的标记。
- 太多的注释混入程序代码可能会使代码难以理解,通常最好是将一个注释块
放在所解释代码的上方。
- 代码改变时,注释应与代码保持一致。程序员即使知道系统其他形式的文档
已经过期,还是会信任注释,认为它会是正确的。错误的注释比没有注释更糟,
因为它会误导后来者。
控制结构
- C++的缩排和格式
- C++ 程序的格式非常自由,花括号、缩排、注释和换行的位置通常对程
序的语义没有影响。例如,表示 main 函数体开始的花括号可以放在与
main 同一行,也可以像我们那样,放在下一行的开始,或放在你喜欢的
任何地方。唯一的要求是,它是编译器所看到在 main 的参数列表的右
括号之后的第一个非空格、非注释字符。
- 在选择格式化风
格时,要考虑提高程序的可读性,使其更易于理解。一旦选择了某种风
格,就要始终如一地使用。
- C++ 程序的格式非常自由,花括号、缩排、注释和换行的位置通常对程
- 再谈编译
- 语法错误
- 类型错误
- 传递了字符串字面值给应该得到整型参数的函数。
- 声明错误
- 从标准库中访问名字时忘记使用“std::”,
- 以及由于疏忽而拼错标识符名:
- 从键盘输入文件结束符
- 操作系统使用不同的值作为文件结束符。Windows 系统下我们通过键入
control—z——同时键入“ctrl”键和“z”键,来输入文件结束符。
Unix 系统中,包括 Mac OS—X 机器,通常用 control—d。
- 操作系统使用不同的值作为文件结束符。Windows 系统下我们通过键入
类的简介
注意:
- 对于自定义的类,必须使得编译器可以访问和类相关的定义
- 类类型存储在一个文件中,其文件名如同程序的源文件名一样,由文件名和文件后缀两部分组成。
- 通常文件名和定义在头文件中的类名是一样的。通常后缀是 .h,但也有一些程序员用 .H、.hpp 或 .hxx。编译器通常并不挑剔头文件名
- 点操作符:仅仅应用与类类型的对象,左侧必须是类对象,右侧必须是该类型成员