Computer Programming 简明教程

Computer Programming - Basic Syntax

让我们从一些编码开始,这将真正让你成为一名计算机程序员。我们要编写一个单行计算机程序,在屏幕上写 Hello, World! 。让我们看看如何使用不同的编程语言编写它。

Hello World Program in C

使用 www.compileonline.com 中提供的我们的在线编译器选项尝试以下示例。

对于本教程中给出的大多数示例,您将在我们网站代码部分的右上角找到一个 Try it 选项,它将带您到在线编译器。

尝试更改 printf() 内部的内容,即在 Hello World! 的位置键入任何内容,然后查看其结果。它只是打印双引号内保留的任何内容。

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
}

产生以下结果 −

Hello, World!

这个小小的 Hello World 程序将帮助我们理解与 C 编程相关的各种基本概念。

Program Entry Point

现在,先不要管 #include <stdio.h> 语句,但请记住你必须将此语句放在 C 程序的顶部。

每个 C 程序都以 main() 开头,称为 main 函数,然后是左花括号。其余程序指令写在其中,最后用右花括号结束程序。

这两个花括号内的编码部分称为程序主体。左花括号可以与 main() { 在同一行,也可以在下一行,就像它在上述程序中提到的那样。

Functions

函数是程序的小单元,用于执行特定任务。例如,上述程序使用了两个函数: main()printf() 。这里,main() 函数为程序执行提供入口点,而另一个函数 printf() 用于在计算机屏幕上打印信息。

你可以编写我们将在单独章节中看到的自己的函数,但 C 编程本身提供了各种内置函数,如 main()、printf() 等,我们可以根据需要在程序中使用它们。

一些编程语言使用 sub-routine 一词而不是函数,但其功能或多或少相同。

Comments

一个 C 程序可以拥有 / …​.. / 内部的语句。此类语句称为注释,这些注释用于使程序对用户友好且易于理解。注释的好处是编译器和解释器完全忽略它们。因此,你可以使用任何语言来编写注释。

Whitespaces

当我们使用任何编程语言编写程序时,我们会使用各种可打印字符来准备编程语句。这些可打印字符是 a, b, c,…​…​z, A, B, C,…​..Z, 1, 2, 3,…​…​ 0, !, @, #, $, %, ^, &, *, (, ), -, _, +, =, \, |, {, }, [, ], :, ;, <, >, ?, /, \, ~. `. ", ' 。希望我没有遗漏键盘上的任何可打印字符。

除了这些字符之外,还有一些我们经常使用的字符,但它们在程序中是不可见的,这些字符是空格、制表符(\t)、换行符(\n)。这些字符称为 whitespaces

这三个重要的空白字符在所有编程语言中都普遍存在,但它们在文本文档中是不可见的,

Whitespace

Explanation

Representation

New Line

要创建新行

\n

Tab

To create a tab.

\t

Space

To create a space.

empty space

只包含空白字符的一行,可能加上注释,称为空行,而 C 编译器会完全忽略它。空白是 C 中用于描述空格、制表符、换行符和注释的术语。因此,您可以按照下面所示编写 printf("Hello, World!" ); 。此处,“Hello, World!”周围创建的所有空格都是无用的,编译器会在编译时忽略它们。

#include <stdio.h>

int main() {

   /* printf() function to write Hello, World! */

   printf(    "Hello, World!"      );

}

产生以下结果 −

Hello, World!

如果我们让所有这些空白字符可见,那么上面的程序看起来会像这样,您将无法编译它:

#include <stdio.h>\n
\n
int main()\n
{
   \n
   \t/* printf() function to write Hello, World! */
   \n
   \tprintf(\t"Hello, World!"\t);\n
   \n
}\n

Semicolons

C 程序中的每个单独语句都必须以分号 ( ; ) 结尾,例如,如果您想写两次“Hello, World!”,那么它将被写为以下形式:

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!\n" );
   printf( "Hello, World!" );
}

此程序将产生以下结果:

Hello, World!
Hello, World!

这里,我们在第一个 printf() 函数中使用了一个新行字符 \n 来创建一个新行。让我们看看如果不使用这个新行字符会发生什么:

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
   printf( "Hello, World!" );
}

此程序将产生以下结果:

Hello, World! Hello, World!

我们将在接下来的几章中学习标识符和关键字。

Program Explanation

让我们了解一下上面 C 程序的工作原理。首先,上面的程序使用 C 编译器转换为二进制格式。所以,让我们将此代码放入 test.c 文件中并按照如下方式编译它:

$gcc test.c -o demo

如果有任何语法错误(在计算机术语中是语法错误),那么我们在将其转换为二进制格式之前会修复它。如果一切正常,那么它会生成一个名为 demo 的二进制文件。最后,我们按照如下方式执行生成的二进制 demo:

$./demo

产生以下结果 −

Hello, World!

这里,当我们执行二进制文件 a.out 时,计算机从 main() 开始进入程序内部并遇到 printf() 语句。请注意 / …​. / 内的这一行是一条注释,并且会在编译时进行筛选。因此,printf() 函数指示计算机在计算机屏幕上打印给定的行。最后,它会遇到一个右大括号,表示 main() 函数结束并退出程序。

Syntax Error

如果不遵循编程语言定义的规则,那么在编译时,您会收到语法错误,程序将不会被编译。从语法角度来看,即使单个句点、逗号或分号都很重要,您也应该注意这些小语法。在下面的示例中,我们跳过了一个分号,让我们尝试编译程序:

#include <stdio.h>

main() {
   printf("Hello, World!")
}

此程序将产生以下结果:

main.c: In function 'main':
main.c:7:1: error: expected ';' before '}' token
 }
 ^

所以,底线是,如果您在程序中没有遵循编程语言定义的适当语法,那么您会收到语法错误。在尝试另一个编译之前,您需要修复它们,然后继续。

Hello World Program in Java

以下是使用 Java 编写的等效程序。此程序也将生成相同的结果 Hello, World!

public class HelloWorld {
   public static void main(String []args) {
      /* println() function to write Hello, World! */
      System.out.println("Hello, World!");
   }
}

产生以下结果 −

Hello, World!

Hello World Program in Python

以下是使用 Python 编写的等效程序。此程序也将生成相同的结果 Hello, World!

#  print function to write Hello, World! */
print "Hello, World!"

产生以下结果 −

Hello, World!

希望您注意到,对于 C 和 Java 示例,我们首先编译程序,然后执行生成的二进制文件,但在 Python 程序中,我们直接执行它。正如我们在前面的章节中解释的那样,Python 是解释性语言,不需要称为编译的中间步骤。

Python 不需要分号 (;) 来终止语句,而是新的一行总是表示语句的终止。