C - 基本語法
歡迎,未來的程序员們!今天,我們將進入C編程的迷人世界。作為你們友善的鄰居計算機科學老師,我非常高興能夠引導你們了解C語法的基本知識。如果你以前從未寫過一行代碼,也不要擔心——我們將從頭開始,逐步建立你的知識。所以,拿起你的虛擬筆記本,讓我們開始編碼冒險吧!
C語言中的記號
想像你正在搭建一個樂高結構。每一個樂高積木就像是C編程中的一個記號。這些記號是C程序中最小的個別單元。它們包括:
- 關鍵字
- 識別符
- 常量
- 字符串
- 特殊符號
- 運算符
把記號看作是你C程序的建築塊。就像你無法用錯誤的積木建造樂高城堡一樣,如果你不了解這些基本的記號,你也無法創建一個C程序。
C語言中的識別符
識別符是你給程序中各種元素(如變量、函數、數組等)起的名字。它們就像是你的代碼的名稱標籤!以下是創建識別符的一些規則:
- 必須以字母(a-z或A-Z)或下劃線(_)開頭
- 可以包含字母、數字(0-9)和下劃線
- 大小寫敏感(myVariable與myvariable不同)
- 不能使用保留關鍵字
我們來看一些例子:
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語言中有兩種類型的註釋:
- 單行註釋:使用 // 對於一行上的註釋。
- 多行註釋:使用 / / 對於跨越多行的註釋。
// 這是一個單行註釋
/* 這是一個多行註釋
它可以跨越多行
非常適合長篇解釋 */
int main() {
// 你的代碼在這裡
}
把註釋看作是你在教科書中留下的便利貼紙。它們在你(或其他人人)稍後 revisit 代碼時,幫助更好地理解代碼。
源代碼
源代碼是你用C語言寫的一組指令。它就像是計算機要遵循的菜譜。讓我們看一個簡單的例子:
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
這是著名的"Hello, World!"程序。這通常是初學者編寫的第一個程序。讓我們來分析一下:
-
#include <stdio.h>
: 這一行包含了(引入)一個頭文件(稍後再詳述)。 -
int main()
: 這是你的程序開始執行的主函數。 -
printf("Hello, World!");
: 這一行將"Hello, World!"打印到屏幕上。 -
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