1.1 C++程序的基本结构
在这一节,我们将编写一个简单的C++程序,然后编译、运行它。C++的源代码会写在人类可读的文本文件中,该文件称为源文件。然后,我们使用编译器将C++代码转换成可执行的机器码,于是它就变成了计算机可以运行的程序。
我们来创建本书的第一个C++源文件吧!
1.1.1 创建第一个C++源文件
打开文本编辑器。如果没有趁手的编辑器,可以试试Linux上的Vim、Emacs或者gedit,Mac上的TextEdit,以及Windows上的Notepad。输入代码清单1-1中的代码,保存成名为main.cpp的桌面文件。
代码清单1-1 第一个C++程序,它会将Hello, world!打印到屏幕上
代码清单1-1的源文件会被编译为一个程序,该程序可将Hello, world!打印到屏幕上。按照惯例,C++源文件的扩展名为.cpp。
注意 在本书中,代码清单会在程序源代码之后紧接着显示程序的输出。输出显示为灰色,数字标记对应产生输出的代码行。例如,代码清单1-1中的printf语句对应输出Hello, world!,所以它们使用同一标记❸。
1.1.2 main函数:C++程序的入口点
如代码清单1-1所示,C++程序拥有单独的入口点,即main函数❷。当用户运行程序时,入口点作为函数会被执行。而函数是一种代码块,它可以接受输入,执行一些指令,然后返回结果。
在main函数里,我们调用printf函数,让该函数将字符Hello,world!打印到控制台上❸。然后,程序会返回退出码0给操作系统❹,并结束运行。退出码是整数,操作系统根据它来判断程序是否正常运行。一般来说,退出码0意味着程序已经成功运行。其他退出码可能意味着程序出了问题。return语句在main函数中可以省略,默认退出码是0。
printf函数不是在本程序中定义的,而是在cstdio程序库中定义的❶。
1.1.3 程序库:引入外部代码
为了避免“重复造轮子”,我们可以将程序库中的代码导入自己的程序中,程序库可以看作有用代码的集合。实际上每一门编程语言都有某种办法将程序库的函数整合到程序中:
❑ Python、Go和Java使用import语句。
❑ Rust、PHP和C#使用use/using语句。
❑ JavaScript、Lua、R和Perl使用require/requires语句。
❑ C和C++使用#include语句。
代码清单1-1使用#include引入了cstdio❶,它是一个执行输入/输出操作(例如打印到控制台)的程序库。