当前位置: 首页 > 文档资料 > 学习计算机编程 >

Programming - Basic 语法

优质
小牛编辑
131浏览
2023-12-01

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

C语言中的Hello World程序

请使用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编程相关的各种基本概念。

节目录入点

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

每个C程序都以main()开头,它被称为main函数,然后是一个左大括号。 程序指令的其余部分写在两者之间,最后一个右花括号结束程序。

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

功能 (Functions)

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

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

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

注释 (Comments)

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

Whitespaces

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

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

这三个重要的空白字符在所有编程语言中都很常见,并且在文本文档中仍然不可见 -

空白说明表示
New Line创建新行\n
TabTo create a tab.\t
SpaceTo 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!

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

程序说明

让我们了解上述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不需要分号(;)来终止语句,而新行总是意味着终止语句。