1.5 一个简单的C++程序
下面通过一个简单的实例,分析C++源程序的基本构成。
【例1.1】编写程序,该程序在控制台上显示信息“Hello world”
源程序:

该程序的运行结果为:
Hello world
一个C++程序是由注释、编译预处理命令和函数构成的。
(1)注释(comment)。
程序中以 //开始的内容称为注释,如“第1行:包含头文件”“第2行:使用std命名空间”等均为注释部分。注释的作用是对程序进行说明,是给读者看的,以便读者能更好地理解程序,适当的注释可以提高程序可读性,编写程序时可以根据需要进行添加。注释不是编程语句,在编译时会被编译器忽略,因此对程序的运行没有影响。
注释也可以包含在“/*”和“*/”之间,位于这对符号之间的任意多行内容即为注释部分,因此当需要对多行内容进行注释时,可以使用这对符号。当编译器遇到“/*”时,则会检查后续内容直至遇到“*/”,而后忽略两者之间的所有内容。
(2)编译预处理命令。
编译预处理命令是以#号开始的内容,程序中第1行#include<iostream>就是编译预处理命令(详见第5章),该命令为文件包含命令,作用是将iostream文件的内容包含到该命令所在的程序文件中,这样程序就可以直接使用iostream文件中的内容。iostream是输入输出流的意思,该文件的作用是向程序提供输入或输出时所需要的信息,由于这类文件总是放在程序的头部,因此称为“头文件”(header file)。
程序的第2行为using namespace std;语句,该语句表示程序包含的头文件放在称为std的命名空间中。std的含义是标准命名空间(standard namespace)。C++标准库中的类和函数是在命名空间std中声明的,因此程序中如果需要使用到C++标准库(此时需要使用#include命令行),就需要使用using namespace std;语句。
在初学C++时,对程序的第1、2行可不必深究,只需知道如果程序需要输入或输出,必须使用#include<iostream>命令提供必要的信息,同时要使用using namespace std;语句使程序能够使用这些信息,否则在编译时会出现错误。
(3)主函数
程序中第3~7行为主函数main()的定义,main是主函数的名字。每一个C++程序都必须有一个主函数,且只能有一个主函数。主函数是程序执行的入口,也是程序的出口。第3行为main函数的声明部分,main前面的int表示main函数的类型是整型(标准C++规定main函数必须定义为整型)。第6行是返回语句,其作用是向操作系统返回一个零值。该语句应放置在每个主函数的末尾,用于退出程序。如果程序不能正常执行,该语句会自动向操作系统返回一个非零值,通常为-1。
第4~7行为函数体,函数体是由一对{}括起来的若干语句,每一个语句的最后都必须有一个分号,表示一条语句的结束。该程序中的第5行,即函数体内的语句cout<<Hello world<<endl;是将双引号内的字符输出到系统指定的输出设备(通常为显示器)。cout是系统定义的对象名,称为输出流对象。为便于理解,把用cout和<<实现输出的语句简称为cout语句(有关cout语句的使用可参见第3章)。
函数是构成C++程序的基本单位,一个C++程序中除了主函数外,还可以包含其他函数,每个函数完成一定的功能。在前四章涉及的程序一般都只包含一个主函数,关于函数的内容可参见第5章。函数中的每个语句都以分号作为结束符,若语句后缺少了分号,编译时会出错。
在书写时,可以在一行内写几个语句,也可以将一个语句写在多行。为增强程序的可读性,通常一条语句占一行,每行语句进行缩进。