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 不需要分号 (;) 来终止语句,而是新的一行总是表示语句的终止。