main 函数
这是上一期文章中的示例代码:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
return 0;
}
首先我们关注的是 int main()
之后的内容,可以看到后面的代码用了两个花括号 {
、}
括起来了,这两个花括号间的代码即为真正运行的代码。
在这个示例中,我们使用 cout << "Hello World" << endl;
输出了 Hello World
,这里 cout
便是在终端输出的意思,可以用 <<
来接需要输出的内容,并且可以无限地接下去,最后用 ;
结尾。endl
便是换行,以下是输出 endl
与不输出 endl
的区别。
输出 endl
:
... % ./hello
Hello World!
... %
不输出 endl
:
... % ./hello
Hello World!... %
可见如果不输出换行,那么之后终端的输出会直接接在最后一行的后面。
在 C++ 中,我们用引号 "
来表示字符串,例如 "Hello World"
便是一个字符串,如果不加引号则在编译时就会报错。
下面一行 return 0;
可以先不用理解,只需要记住 main
函数需要在最后一行写这句代码即可(实际上不写 C++ 编译时会自动补上,不过规范还是要写一下)。
include 头文件
讲完了最重要的 main
函数,我们再把关注点放在第一行代码 #include <iostream>
上。在 C++ 中,凡是以 #
打头的均为预处理代码。这里预处理的意思就是在编译的时候会被编译器执行,而不会在运行最终程序的时候执行。
在所有预处理代码中,#include
是最常用的,其作用是引用一个头文件。例如这里 iostream
就是一个头文件,在这个文件中定义了 cout
命令,因此我们在引用这个头文件后就可以直接在程序中使用 cout
。在所有代码中,当你想要实现一个内置的功能时,通常只需要知道这个功能所属的头文件,并在代码开头利用 #include
进行引用即可。
namespace 命名空间
C++ 为了避免不同的包提供的命令重名,使用了命名空间进行区分。例如 C++ 官方提供的命令均放在 std
命名空间中,因此在使用前需要用命令 using namespace std;
访问该命名空间,这样我们使用 cout
命令时程序就会在 std
命名空间中寻找该命令。
结语
本文带读者解读了 Hello World 示例代码的基本结构,知晓了 main
函数、头文件、命名空间的概念,并且学会了如何使用 cout
进行终端输出。下期文章将会教会读者如何使用变量来实现简单的功能,包括如何从终端输入,并作简单的运算后输出。