学习编程语言的最好方法是编写程序。一般来说,初学者编写的第一个程序是一个名为“Hello World”的程序,它简单地将“Hello World”打印到你的电脑屏幕上。虽然它很简单,但它包含了c++程序的所有基本组件:
上面的左边面板显示了这个程序的c++代码。当程序由计算机执行时,右边的面板显示结果。在面板左边的灰色数字是行号,使讨论程序和研究错误更容易。他们不是这个项目的一部分。
让我们逐行检查这个程序:
第1行:/ /我的第一个c++程序
两个斜杠符号表示这一行的其余部分是程序员插入的注释,但这对程序的行为没有影响。程序员用它们来对代码或程序进行简短的解释或观察。在本例中,它是程序的简要介绍说明。
第2行:# include < iostream >
以散列符号(#)开头的行是被称为预处理器的指令读取和解释的。它们是在编译程序本身开始之前解释的特殊代码行。在本例中,指令号包括< iostream >,指示预处理程序包含标准c++代码的一部分,称为头部iostream,允许执行标准的输入和输出操作,例如将这个程序的输出(Hello World)写入屏幕。
第3行:空行。
空行对程序没有影响。它们只是提高了代码的可读性。
第4行:int main()
这一行启动一个函数的声明。本质上,函数是一组代码语句,它们被赋予一个名称:在这种情况下,这将给后面的代码语句组命名为“main”。函数将在后面的章节中详细讨论,但本质上,它们的定义是通过一个类型(int)、一个名称(main)和一对圆括号(())来引入的,可选地包括参数。
main函数在所有c++程序中都是一个特殊的函数;它是程序运行时调用的函数。所有c++程序的执行都是从主函数开始的,无论函数在代码中的哪个位置。
第5和第7行:{和}
第5行中打开的括号({)表示main函数定义的开始,第7行的闭括号(})表示其结束。这些括号之间的所有内容都是函数的主体,它定义了调用main时发生了什么。所有函数都使用括号来表示定义的开始和结束。
第6行:std::cout << Hello World!
这一行是一个c++语句。语句是一种可以产生一定效果的表达式。它是一个程序的肉,指定它的实际行为。语句的执行顺序与它们在函数的主体中出现的顺序相同。
这个语句有三个部分:第一,std::cout,它标识标准字符输出设备(通常,这是计算机屏幕)。第二,插入操作符(< <),它指示将下面的内容插入std::cout。最后,引号中的一个句子(“Hello world !”)是插入到标准输出中的内容。
注意,语句以分号(;)结束。这个字符标志着语句的结束,就像句号用英语结束一个句子一样。所有c++语句必须以分号结尾。c++中最常见的语法错误之一就是忘记用分号结束语句。
您可能已经注意到,在执行代码时,该程序的所有行都不执行操作。这里有一条包含注释的行(从/ /开始)。有一条与预处理器相关的指令(以#开头)。有一行定义函数(在本例中为main函数)。最后,一条带有分号(插入到cout)的语句的语句,该语句位于块中,由主函数的大括号({})分隔。
这个程序的结构是不同的,并有适当的缩进,以便让人们更容易理解阅读它的人。但是c++在缩进方面没有严格的规则,也没有关于如何在不同的行中拆分指令的规则。例如,而不是
我们可以写成:
在一行中,这和前面的代码的含义完全相同。
在c++中,语句之间的分离用一个结束分号(;)来指定,分隔成不同的行并不是为了达到这个目的。许多语句可以写在一行中,或者每个语句都可以在自己的一行中。在不同的代码行中,代码的划分只会使人们更清楚地了解可能阅读的代码,但对程序的实际行为没有影响。
现在,让我们在第一个程序中添加一个额外的语句:
在本例中,程序对std进行了两次插入::cout在两个不同的语句中。再一次,不同代码行之间的分离仅仅为程序提供了更大的可读性,因为main可以以这种方式被完全有效地定义:
源代码也可以被分成更多的代码行:
结果会和前面的例子完全一样。
热门跟贴