回 帖 发 新 帖 刷新版面

主题:[原创]<C++ Primer>翻译-chapter 1-1.1

1.1开始写一个简单的C++程序

每个C++程序有若干的函数组成,但其中必须有一个函数被命名为main。一个函数由一些语句组成,这些语句的执行体现了一个函数的功能。操作系统执行一个程序,首先要调用(呼叫)函数名为main的函数,main函数开始执行其内部的语句,执行完毕后返回一个数值给操作系统。

这里给出了一个没有任何功能的程序,main函数的只是返回0给操作系统。

int main()
     {
        return 0;
     }

操作系统根据main函数提供的返回值来确定程序是否成功运行,上面的main返回0表明程序成功运行。

main函数存在于每一个C++程序中,操作系统(唯一)显式呼叫的函数就是main函数,这些都是main函数的特性。但我们可以象定义其他函数一样定义main函数。

函数定义需要4个部分,分别是函数返回值类型,函数名,由一对圆括号包围的参数列表(参数列表可以为空)和由大括号包含的函数体。main函数名后面的圆括号内的参数列表是固定的,在后面的章节中我们可以写出来。但在这里可以不写出来,所以main函数后面的圆括号之间为空。

main函数的返回值类型为 int,整数类型int是C++语言的内建基本数据类型。
函数体在一对大括号之间,前面程序的函数体只包含一条语句return,return语句表明一个函数的结束。

Note:在return语句的结尾有一个分号,这个分号表示一行语句的结束。在写代码时,这个语句结束标记很容易被漏写,而且因为这个漏写错误不容易被编译器准确捕获,因而出现的不准确的编译错误信息会令人感到费解。

return后面的数值是函数的返回值,所以这个数值的类型要与前面提到的函数返回值类型一致。即使不一致时,也应该能(隐式自动)转换成函数返回值类型。
前面提到main函数的返回值0返回给操作系统,表明main函数成功运行结束。不同的系统对主函数的返回值有着不同的定义,一般主函数返回非0值表明程序运行时错误发生。

1.1.1.    编译并执行你的程序

写好程序代码,接下来的工作是编译你的程序。怎样编译,这取决于你现有的操作系统和编译器。如果要了解更多的细节问题,你应该查阅编译器的参考手册。

现在大多数编译器提供的集成开发环境称为IDE,IDE(integrated development environment)不单有编译功能,而且集成了有助于程序开发的辅助工具。这种可视化开发环境非常适合开发大型复杂的程序,但同时也需要你花费相当多的时间来学习使用IDE环境。至于怎样学习使用IDE不在本书讲述的范围内。

大多数编译器,包括IDE都提供命令行编译模式。除非你非常熟悉使用IDE的可视化环境,否则一开始使用dos界面的命令行编译模式也是很方便的。

程序源文件的命名规则

不同的编译器对源文件扩展名一般有着不同的要求。一些命名规则如下
    prog1.cxx
    prog1.cpp
    prog1.cp
    prog1.C(大写C是为了与C语言源文件区别)

译者补充:

MS-DOS命令行编译器

GUN C++的MS-DOS版本叫做gpp,可以在www.delorie.com下载。Borland公司在www.borland.com上提供了一个免费的命令行编译器。由于不提供代码编写界面,所以需要使用记事本或其他文字处理软件来编写代码,在保存时另存为扩展名为cpp的源C++文件.

在使用gpp编译器时,首先需要打开一个MS-DOS窗口。如要编译名为great. cpp的源文件,请在提示符下输入如下命令:
gpp  great. cpp
如果程序执行成功得到可执行文件 a. exe。
要是使用Borland编译器,请在命令行下输入:
bcc32 great. Cpp
如果程序执行成功得到可执行文件 great. exe。

在IDE环境下推荐使用的编译器:Visual C++ 6.0, Dev-C++(免费软件)。通常,IDE允许在辅助窗口中运行程序。程序执行完毕后,有些IDE(如Dev-C++)将关闭该窗口,而有些IDE(如Visual C++)则不关闭窗口。如果编译器关闭窗口,则难以看到程序的输出,除非程序员眼疾手快,且过目不忘。为了查看输出,必须在程序的最好加上一些代码:
   cin,get(); // add this statement
   cin,get();// and maybe this, too
   Return 0;
}
cin. get()语句读取一下键击,因此上述语句让程序等待,如果程序在其常规输入后留下一个没有被处理的键击(一般是Enter键),则第二条语句是必须的。

Exercises Section 1.1.1
Exercise 1.1:    练习使用一个C++编译器,来编译本节出现的程序。

(翻译工程未完待续)

回复列表 (共3个回复)

沙发


强,赞一个!

两个建议:

“呼叫main”,改成“调用main”更习惯一些

“现在大多数编译器都是IDE(integrated development environment)环境”
IDE 集成开发环境,已经有环境的意思,可以把后面的环境去掉

板凳

一人之力实在有限,需要大家帮忙校对!

感谢 ”七月夜“!
 友情校对第1人,呵呵:-)

3 楼

期待中....
最后还要加上一句,cin.get 和cout.get都应包含在<iostream>中,
不过一般都直接用cin和 cout流即可!

我来回复

您尚未登录,请登录后再回复。点此登录或注册