C - 基本語法

歡迎,未來的程序员們!今天,我們將進入C編程的迷人世界。作為你們友善的鄰居計算機科學老師,我非常高興能夠引導你們了解C語法的基本知識。如果你以前從未寫過一行代碼,也不要擔心——我們將從頭開始,逐步建立你的知識。所以,拿起你的虛擬筆記本,讓我們開始編碼冒險吧!

C - Basic Syntax

C語言中的記號

想像你正在搭建一個樂高結構。每一個樂高積木就像是C編程中的一個記號。這些記號是C程序中最小的個別單元。它們包括:

  1. 關鍵字
  2. 識別符
  3. 常量
  4. 字符串
  5. 特殊符號
  6. 運算符

把記號看作是你C程序的建築塊。就像你無法用錯誤的積木建造樂高城堡一樣,如果你不了解這些基本的記號,你也無法創建一個C程序。

C語言中的識別符

識別符是你給程序中各種元素(如變量、函數、數組等)起的名字。它們就像是你的代碼的名稱標籤!以下是創建識別符的一些規則:

  1. 必須以字母(a-z或A-Z)或下劃線(_)開頭
  2. 可以包含字母、數字(0-9)和下劃線
  3. 大小寫敏感(myVariable與myvariable不同)
  4. 不能使用保留關鍵字

我們來看一些例子:

int age;           // 有效
float _temperature; // 有效
char 2ndName;       // 無效(以數字開頭)
int if;             // 無效(保留關鍵字)

記住,為你的識別符選擇有意義的名字是至關重要的。這就像給你的寵物取名一樣——你希望名字能夠合理且容易記憶!

C語言中的關鍵字

關鍵字是C語言為自己保留的特殊單詞。它們就像是派對上的VIP賓客——它們有特定的角色,不能用作其他用途。以下是一些C語言的關鍵字:

auto break case char const continue
default do double else enum extern
float for goto if int long
register return short signed sizeof static
struct switch typedef union unsigned void
volatile while

這些關鍵字是C編程的骨干。在我們學習的過程中,我們將使用其中許多關鍵字。

C語言中的分號

啊,強大的分號!在C語言中,分號就像英文句子中的句號。它們標誌著一個語句的結束。永遠記住,在C語句的末尾加上分號,否則你的程序可能會發脾氣(即語法錯誤)。

int x = 5;
printf("Hello, World!");

我曾經有一個學生,他經常忘記分號,以至於我讓他用C語言寫下"我不會忘記分號"100遍!

C語言中的註釋

註釋是你為自己或其他程序员留下的筆記。編譯器會忽略它們,但它們對於解釋你的代碼非常有用。C語言中有兩種類型的註釋:

  1. 單行註釋:使用 // 對於一行上的註釋。
  2. 多行註釋:使用 / / 對於跨越多行的註釋。
// 這是一個單行註釋

/* 這是一個多行註釋
它可以跨越多行
非常適合長篇解釋 */

int main() {
// 你的代碼在這裡
}

把註釋看作是你在教科書中留下的便利貼紙。它們在你(或其他人人)稍後 revisit 代碼時,幫助更好地理解代碼。

源代碼

源代碼是你用C語言寫的一組指令。它就像是計算機要遵循的菜譜。讓我們看一個簡單的例子:

#include <stdio.h>

int main() {
printf("Hello, World!");
return 0;
}

這是著名的"Hello, World!"程序。這通常是初學者編寫的第一個程序。讓我們來分析一下:

  1. #include <stdio.h>: 這一行包含了(引入)一個頭文件(稍後再詳述)。
  2. int main(): 這是你的程序開始執行的主函數。
  3. printf("Hello, World!");: 這一行將"Hello, World!"打印到屏幕上。
  4. return 0;: 這告訴計算機程序成功結束。

main() 函數

main() 函數是C程序開始執行的地方。它就像是迷宮的入口——每個C程序必須有一個,且僅有一個主函數。以下是其基本結構:

int main() {
// 你的代碼放在這裡
return 0;
}

main前的int表示這個函數將返回一個整數值。結尾的return 0;表示程序成功執行。

頭文件

頭文件就像是你的C程序的說明書。它們包含函數聲明和宏定義。最常見的頭文件是stdio.h,它提供了輸入/輸出操作。

#include <stdio.h>
#include <math.h>

int main() {
printf("The square root of 16 is: %.2f", sqrt(16));
return 0;
}

在這個例子中,我們使用了來自stdio.h(對於printf)和math.h(對於sqrt)的函數。

變量聲明

變量就像是你在程序中存放數據的容器。在你使用變量之前,你需要聲明它。以下是如何操作的:

int age;         // 聲明一個名為age的整數變量
float height;    // 聲明一個名為height的浮點數變量
char grade;      // 聲明一個名為grade的字符變量

age = 25;        // 將值25賦給age
height = 5.9;    // 將值5.9賦給height
grade = 'A';     // 將字符'A'賦給grade

你也可以在同一行聲明並初始化變量:

int score = 95;  // 聲明並將score初始化為95

C程序中的語句

語句是告訴計算機要做什麼的指令。它們就像是舞蹈動作中的單個步驟。C語言中的每個語句都以分號結尾。以下是一些例子:

int x = 10;              // 聲明語句
printf("x = %d", x);     // 函數調用語句
x = x + 5;               // 賦值語句
if (x > 10) {            // 控制流程語句
printf("x is greater than 10");
}

C程序中的空白

空白指的是你代碼中的空格、制表符和換行符。C語言通常忽略空白,但恰當使用空白可以使你的代碼更具可讀性。這就像在信件中添加正確的間距和換行符——它使閱讀更加容易。

int main(){printf("Hello");return 0;}  // 有效但難以閱讀

int main() {
printf("Hello");
return 0;
}  // 同樣的代碼,但更具可讀性

C語言中的複合語句

複合語句,也稱為語句塊,是一組用花括號{}括起的語句。它就像是一個包裝——將多個語句當作一個單元來處理。

if (score > 90) {
printf("Excellent!");
grade = 'A';
passFactor = 1.0;
}

在這個例子中,如果條件score > 90為真,則執行花括號內的所有語句。

至此,我們已經介紹了C編程的基本語法。記住,學習編程就像學習一種新語言——它需要練習和耐心。如果你一下子不能完全掌握,也不要氣餒。持續編碼,持續探索,最重要的是,樂在其中!在我們的下一課中,我們將深入探討C編程的概念。在此之前,祝你編程愉快!

Credits: Image by storyset