C++从入门到精通(第6版)
上QQ阅读APP看书,第一时间看更新

2.1 第一个C++程序

先来看一个简单的C++程序,其作用是在屏幕上输出“Hello World!”。

程序输出结果如图2.1所示。

在这个简单的C++程序中,出现了包含命令、头文件、命名空间、主函数、输出流语句、字符串常量、注释等概念,一起来认识下。

图2.1 程序输出结果

1.包含命令(#include)、头文件

C++程序中,带“#”号的语句称为预编译命令,该命令会在程序编译之前先进行。include的含义是“包含”和“引用”,#include命令则为包含头文件命令,表示本程序将嵌入指定的头文件。

所谓头文件,指的是程序中用于声明函数、变量、宏等的文件,通常以.h为后缀名。使用头文件(包括系统头文件和自定义头文件)可以方便地引用已写好的代码,提高代码的复用性和可维护性,同时降低代码的耦合度,使代码更加模块化。

因此,第一行代码“#include <iostream>”表示包含C++标准输入输出流头文件iostream.h,也就是说,程序编译时会在此处将iostream.h头文件中的内容展开。

2.命名空间(namespace)

一个中大型软件往往由多名程序员共同开发,会使用大量的常量、变量、函数、结构体、枚举、类等,因此不可避免地会出现命名冲突。工程越大,名称互相冲突性的可能性越大。为了解决合作开发时的命名冲突问题,C++引入了“命名空间”的概念。在不同的命名空间里,同名变量放在一起编译不会出现问题。

因此,第二行代码“using namespace std;”表示使用C++标准库定义的std命名空间。

3.主函数main()

第3~6行为main()函数。main()函数又称为主函数,是C++程序执行的入口。程序将从main()函数的第一条指令开始执行;main函数结束,整个程序也执行结束。其中,main为函数名,“()”里可放置参数。

其中,“int main()”是main函数的函数头,表示main()函数将返回一个整型数值;大括号“{ }”中的内容是需要执行的,称为函数体。函数体中,各行代码将按照先后顺序依次执行,写在前面的先执行,写在后面的后执行。

说明

Visual C++中通常使用void main(),但DEV C++中必须使用int main(),否则会报错。

4.输出流语句

第5行代码“cout << "Hello World!\n";”表示通过数据输出流,输出英文“Hello World!”。其中,双引号" "代表该语句是字符串常量,cout表示输出流,<<表示将字符串传送到输出流中。

注意

C语言中,我们使用scanf()、printf()函数进行数据的输入输出操作。C++兼容C语言,因此这两个格式化输入输出函数仍然可以使用。但C++提供了一套全新的、更容易使用的输入输出库,即使用数据输入输出流和cout<<、cin>>进行输入、输出。

5.注释

代码中使用了多处“//”注释,对本行代码进行解释说明。编译器不会对注释部分进行编译。

C++程序中有两种注释方法:单行注释“//”和多行注释“/* */”。

 “//”是单行注释,从注释符号“//”开始,到本行代码结束的内容为注释内容,一般用于对本行代码或下面的代码进行解释说明。

 “/* */”是多行注释,“/*”放在注释内容前,“*/”放在注释内容后,“/*”和“*/”中间的内容为注释部分。注意,多行注释中不允许嵌套另一个多行注释。