计算机编程 - 基本语法

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

C 语言的 Hello World 程序

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

尝试更改 printf() 中的内容,即键入任何内容来代替 Hello World!,然后检查其结果。 它只是打印您在两个双引号内保留的内容。

#include <stdio.h>

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

会产生以下结果 −

Hello, World!

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

程序入口点

现在,只需忘记 #include 语句,但请注意,您必须将此语句放在 C 程序的顶部。

每个 C 程序都以 main() 开头,称为主函数,然后后面跟着一个左大括号。 其余的程序指令写在中间,最后用右大括号结束程序。

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

函数

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

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

一些编程语言使用"子例程"一词代替"函数",但它们的功能或多或少是相同的。

评论

C 程序可以将语句括在 /*.....*/ 内。 此类语句称为注释,这些注释用于使程序用户友好且易于理解。 注释的好处是它们会被编译器和解释器完全忽略。 因此,您可以使用任何您想要的语言来撰写评论。

空格

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

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

这三个重要的空白字符在所有编程语言中都很常见,并且它们在文本文档中保持不可见 −

空白 说明 表示
New Line To create a new line
Tab To create a tab.
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>



int main()

{
   

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

   

}

分号

C 程序中的每个单独语句都必须以分号 (;) 结束,例如,如果您想编写"Hello, World!" 两次,则写成如下 −

#include <stdio.h>

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

该程序将产生以下结果 −

Hello, World! 
Hello, World!

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

#include <stdio.h>

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

该程序将产生以下结果 −

Hello, World! Hello, World!

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

程序说明

让我们了解一下上面的 C 程序是如何工作的。 首先,使用C编译器将上述程序转换为二进制格式。 因此,我们将这段代码放入 test.c 文件中并按如下方式进行编译 −

$gcc test.c -o demo

如果存在任何语法错误(计算机术语中的语法错误),那么我们会在将其转换为二进制格式之前修复它。 如果一切顺利,那么它会生成一个名为 demo 的二进制文件。 最后,我们执行生成的二进制演示如下 −

$./demo

产生以下结果 −

Hello, World!

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

语法错误

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

#include <stdio.h>

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

该程序将产生以下结果 −

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

所以最重要的是,如果您没有遵循程序中编程语言定义的正确语法,那么您将收到语法错误。 在尝试另一次编译之前,您需要修复它们然后继续。

Java 中的 Hello World 程序

以下是用 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!

Python 中的 Hello World 程序

以下是用 Python 编写的等效程序。 该程序也会产生相同的结果Hello, World!

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

会产生以下结果 −

Hello, World!

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

Python 不需要分号 (;) 来终止语句,而是换行始终意味着语句的终止。