計算機程式設計 - 基本語法



讓我們從一些簡單的程式碼開始,這將真正讓你成為一名計算機程式設計師。我們將編寫一個單行計算機程式,在螢幕上輸出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 不需要分號 (;) 來終止語句,而換行符始終表示語句的終止。

廣告

© . All rights reserved.