- 计算机程序设计教程
- 计算机程序设计 - 首页
- 计算机程序设计 - 概述
- 计算机程序设计 - 基础
- 编程 - 环境
- 编程 - 基本语法
- 编程 - 数据类型
- 计算机程序设计 - 变量
- 计算机程序设计 - 关键字
- 计算机程序设计 - 运算符
- 计算机程序设计 - 决策
- 计算机程序设计 - 循环
- 计算机程序设计 - 数字
- 编程 - 字符
- 计算机程序设计 - 数组
- 计算机程序设计 - 字符串
- 计算机程序设计 - 函数
- 计算机程序设计 - 文件 I/O
- 计算机程序设计 - 总结
- 计算机程序设计资源
- 编程 - 快速指南
- 计算机程序设计 - 资源
- 编程 - 讨论
计算机程序设计 - 基本语法
让我们从一些简单的代码开始,这将真正让你成为一名计算机程序员。我们将编写一个单行计算机程序,在屏幕上输出Hello, World!。让我们看看如何使用不同的编程语言来编写它。
C语言中的 Hello World 程序
尝试使用我们网站上提供的在线编译器选项(www.compileonline.com)运行以下示例。
在本教程中给出的大多数示例中,您会在我们网站代码部分的右上角找到一个尝试一下选项,它会将您带到在线编译器。
尝试更改 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() 和 printf()。这里,函数 main() 提供了程序执行的入口点,另一个函数 printf() 用于在计算机屏幕上打印信息。
您可以编写自己的函数,我们将在单独的章节中学习,但 C 编程本身提供了各种内置函数,如 main()、printf() 等,我们可以根据需要在程序中使用它们。
一些编程语言使用子程序这个词代替函数,但它们的的功能基本相同。
注释
C 程序可以包含包含在/*.....*/中的语句。这些语句称为注释,它们用于使程序更易于用户使用和理解。注释的好处是它们会被编译器和解释器完全忽略。因此,您可以使用任何您想要的语言编写注释。
空白字符
当我们使用任何编程语言编写程序时,我们会使用各种可打印字符来准备编程语句。这些可打印字符是a, b, c,......z, A, B, C,.....Z, 1, 2, 3,...... 0, !, @, #, $, %, ^, &, *, (, ), -, _, +, =, \, |, {, }, [, ], :, ;, <, >, ?, /, \, ~. `. ", '。希望我没有遗漏键盘上的任何可打印字符。
除了这些字符之外,还有一些字符我们经常使用,但它们在程序中是不可见的,这些字符是空格、制表符(\t)、换行符(\n)。这些字符称为空白字符。
这三个重要的空白字符在所有编程语言中都很常见,并且在您的文本文档中是不可见的:
空白字符 | 解释 | 表示 |
---|---|---|
换行 | 创建新行 | \n |
制表符 | 创建制表符。 | \t |
空格 | 创建空格。 | 空字符 |
仅包含空白字符(可能还有注释)的行称为空行,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
分号
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:
$./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 不需要分号 (;) 来终止语句,而换行符始终表示语句的终止。