02-进入C++
2.1 进入C++
首先介绍一个显示消息的简单C++程序。程序清单2.1使用C++工具cout生成字符输出。源代码中包含一些供读者阅读的注释,这些注释都以//打头,编译器将忽略它们。C++对大小写敏感,也就是说区分大写字符和小写字符。这意味着大小写必须与示例中相同。例如,该程序使用的是cout,如果将其替换为Cout或COUT,程序将无法通过编译,并且编译器将指出使用了未知的标识符(编译器也是对拼写敏感的,因此请不要使用kout或coot)。文件扩展名cpp是一种表示C++程序的常用方式,您可能需要使用第1章介绍的其他扩展名。
程序清单2.1 myfirst.cpp
// myfirst.cpp -- displays a message
#include <iostream> // a PREPROCESSOR directive
int main() // function header
{ // start of function body
using namespace std; // make definitions visible
cout << "Come up and C++ me some time."; // message
cout << endl; // start a new line
cout << "You won’t regret it!" << endl; // more output
return 0; // terminate main()
}
程序调整
要在自己的系统上运行本书的示例,可能需要对其进行修改。有些窗口环境在独立的窗口中运行程序,并在程序运行完毕后自动关闭该窗口。正如第1章讨论的,要让窗口一直打开,直到您按任何键,可在return语句前添加如下语句:
cin.get();
对于有些程序,要让窗口一直打开,直到您按任何键,必须添加两条这样的语句。第4章将更详细地介绍cin.get()。
如果您使用的系统很旧,它可能不支持C++98新增的特性。
有些程序要求编译器对C++11标准提供一定的支持。对于这样的程序,将明确的指出这一点,并在可能的情况下提供非C++11代码。
将该程序复制到您选择的编辑器中(或使用本书配套网站的源代码,详情请参阅封底)后,便可以C++编译器创建可执行代码了(参见第1章的介绍)。下面是运行编译后的程序时得到的输出:
Come up and C++ me some time.
You won’t regret it!
C语言输入和输出
如果已经使用过C语言进行编程,则看到cout函数(而不是printf()函数)时可能会小吃一惊。事实上,C++能够使用printf()、scanf()和其他所有标准C输入和输出函数,只需要包含常规C语言的stdio.h文件。不过本书介绍的是C++,所以将使用C++的输入工具,它们在C版本的基础上作了很多改进。
您使用函数来创建C++程序。通常,先将程序组织为主要任务,然后设计独立的函数来处理这些任务。程序清单2.1中的示例非常简单,只包含一个名为main()的函数。myfirst.cpp示例包含下述元素。
- 注释,由前缀//标识。
- 预处理器编译指令#include。
- 函数头:int main()。
- 编译指令using namespace。
- 函数体,用{和}括起。
- 使用C++的cout工具显示消息的语句。
- 结束main()函数的return语句。
下面详细介绍这些元素。先来看看main()函数,因为了解了main()的作用后,main()前面的一些特性(如预处理器编译指令)将更易于理解。