- 計算機程式設計教程
- 計算機程式設計 - 首頁
- 計算機程式設計 - 概述
- 計算機程式設計 - 基礎
- 程式設計 - 環境
- 程式設計 - 基本語法
- 程式設計 - 資料型別
- 計算機程式設計 - 變數
- 計算機程式設計 - 關鍵字
- 計算機程式設計 - 運算子
- 計算機程式設計 - 決策
- 計算機程式設計 - 迴圈
- 計算機程式設計 - 數字
- 程式設計 - 字元
- 計算機程式設計 - 陣列
- 計算機程式設計 - 字串
- 計算機程式設計 - 函式
- 計算機程式設計 - 檔案 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 不需要分號 (;) 來終止語句,而換行符始終表示語句的終止。