1.1 程序的结构

原文来自 http://http://www.learncpp.com/cpp-tutorial/11-structure-of-a-program/

计算机程序是一系列告诉计算机如何去做的各种指令的序列。

语句和表达式

程序之中最常见的指令类型是语句。语句是C++语言中最小的完整的语言结构单位。在人类的语言中,相似的就是句子。我们写句子是为了表达思想。在C++里,我写语句是为了向编译器表达我们想要执行的任务。C++中语句以分号结尾

C++中有很多不同类型的语句。下面是一些最常见的基本语句类型:

1: int x;
2: x = 5;
3: cout << x;

int x 是声明语句。它告诉编译器x是一个变量。程序中所有的变量在使用前必须先定义。关于变量随后我们会考虑更多。

x = 5是一个赋值语句。它将值 (5) 赋值给变量 (x)。

cout << x; 是一个输出流。它将我们设置的x值,5,输出到显示屏幕。

编译器能够解析表达式。一个表达式从数学上来说就是能够产生一个值。举个例子,在数学中,表达式 2+3 能够产生一个值 5。表达式中能够包含数值(如2),变量(如x),操作符(如+)和函数(相当于加工厂,输入原料,它会加工原料,然后输出产品)。它们能够单个存在(如2,或者x)也能够复合存在(如 2+3,2+x,x+y,或者(2+x)*(y-3))。

举个例子,语句 x = 2 + 3; 是一个合理的赋值语句。表达式 2 + 3 能够产生一个值,5 。这个值,5,然后赋值给变量x。

函数

在C++中,将语句合理的组合在一起形成的单元可以成为函数。一个函数是一系列有序的执行的语句的集合。每一个C++程序,都必须包含一个特殊的函数main()。当C++程序运行的时候,程序的执行从main()函数开始(译者:但是在main函数之前,你的机子发生了什么呢?)。编写的函数总是具有特殊的工作。举个例子,一个命名为Max()的函数可能包含了能够指出两个数中哪个数字更大的语句的集合。一个命名为CalculateGrade()函数也许计算学生的年级。随后我们会讨论更多关于函数的事(译者:如何设计一个函数,函数的接口、返回,一个函数具有的功能需要细分到什么程度?)。

库是函数的集合,能够被不同的程序调用。

C++语言的核心部分是非常小和简约的。但是,C++整合了大量的库,总所周知的有C++标准库,给程序员提供了很多额外的函数。举个例子,输入输出流库包含了执行输入输出的功能。在编译过程中的连接状态时,来自C++标准库中的部分库作为运行时库链接到程序中(这将在1.4节中有更详细的讨论)。

来看一个例子程序

到目前为止你已经简略的了解了什么是语句,什么是函数,什么是库,就让我们看看简单的Hello world程序吧。

我们的Hello world程序如下:

1: #include <iostream>
2:
3: int main()
4: {
5:     using namespace std;
6:     cout << "Hello world!" << endl;
7:     return 0;
8: }

第1行是一个特殊的语句,叫做预处理器指令。预处理器指令告诉编译器要执行特殊的任务。在这个例子中,我们告诉告诉编译器我们将会使用iostream库。这个iostream可包含告诉编译器怎么处理cout和endl的代码。换句话说,我们需要包含iostream库向屏幕输出内容。

第3行声明了一个main()函数,从上面已经了解到,main()函数是强制的。每一个程序都必须拥有一个main()函数(译者:或是与main有相同作用的入口函数)。

第4行和第8行告诉编译器哪些行是属于main函数的。所有的在开的大括号和闭的大括号之间的内容都被认为是属于main()函数的。

第5行是我们第一个一般形式上的语句(以分号结尾的语句)。从解释第1行的内容中得知,cout和endl在iostream库内。但是,在iostream内,cout和endl还位于一个特殊的以std为名的空间内。使用这个语句,是为了告诉编译器当在std命名的空间外找不到cout和endl的时候,从std命名的空间内去寻找。换句话说,如果编译器想要找到我们第6行使用的cout和endl,这个语句也是必须的。(当然可以用其他类似的方式代替)

第6行使我们的输出语句。cout是一个特殊的对象,表示控制台的屏幕。<<符号是一个操作符(很像+也是一个操作符),称作输出操作符。cout能够理解任何通过<<操作符的东西,并将它输出到屏幕上。endl是一个特殊的符号,是用来将插入符号移到下一行。

第7行是一个语句的新的类型,叫做return语句。当一个执行程序运行完成时,它将一个值返回给操作系统,表示程序是否成功运行。main()函数的返回值是用于这个目的的。这个特殊的返回语句将0返回给操作系统,表示运行没有出现任何错误。非零的数字通常是用来表示运行过程中出现了错误,这个程序不得不终止。当我们讨论函数时,会更详细的讨论return语句。

结论

我们写的所有的程序都会符合这个形式,或是有部分的改动。我们将会更详细的在将来的内容中讨论各个行。

问题

下面这些问题是为了让你更好的掌握上面的内容。

1) 语句与表达式的区别是什么

2) 函数与库的区别是什么

3) C++中语句的结尾用什么

答案

使用鼠标拖拉选中答案区域进行查看

1)语句是一个“完整的句子”,它能够告诉编译器实现一个特殊的任务。表达式是一个能产生一个值的数学实体。表达式通常在语句内部中使用。

2)函数是一个语句的集合,能够顺序执行,通常设计用来执行一个特别的任务。库是一个函数的结合,在很多程序中能够被重复使用。

3)以分号结尾
原文链接: https://www.cnblogs.com/grass-and-moon/archive/2012/04/11/2442658.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/47073

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午11:08
下一篇 2023年2月8日 下午11:09

相关推荐