C - 變量:程序設計魔法的入門

你好,有抱負的程式設計師!我很高興能夠成為您進入C程式設計世界的導遊。今天,我們將深入探討編程中最基礎的概念之一:變量。如果您從未寫過一行代碼,別擔心——我們會從最基本的知識開始,並逐步建立您的知識。所以,拿起您最喜歡的飲料,讓我們一起踏上這次冒險吧!

C - Variables

我們為什麼在C中使用變量?

想像一下您正在烤蛋糕。您需要跟蹤各種食材、它們的數量,甚至可能是烤箱溫度。在編程中,變量起到類似的作用——它們幫助我們在程序中存儲和管理數據。

變量就像您計算機記憶中標籤為的容器。它們讓我們能夠:

  1. 為後續使用存儲數據
  2. 使用變化的值進行計算
  3. 跟蹤程序狀態
  4. 使我們的代碼更易於閱讀和维护

讓我們看一個簡單的例子:

#include <stdio.h>

int main() {
int age = 25;
printf("我今年 %d 歲。\n", age);
return 0;
}

在這段代碼中,age 是一個存儲值 25 的變量。我們可以輕鬆地更改這個值,然後程序將自動使用新的值,無論何時引用 age

C變量的命名規範

選擇好的變量名稱就像為您的食譜選擇正確的食材一樣——它可能會讓您的程序成功或失敗。以下是一些關於在C中命名變量的規則和最佳實踐:

  1. 以字母(a-z、A-Z)或下劃線(_)開頭
  2. 可以包含字母、數字(0-9)和下劃線
  3. 不能使用C關鍵字(如 intfloatif 等)
  4. 大小寫敏感(ageAge 是不同的變量)
  5. 應該是描述性和有意義的

這裡有一個好名稱和壞名稱的對比表:

好名稱 壞名稱 為什麼
userAge a 描述性對比於過短
totalSum 123total 不能以數字開頭
is_valid if 'if' 是保留關鍵字
firstName first name 不允許空格

記住,您未來的自己(和其他程式設計師)會為您使用清晰、描述性的變量名稱而感謝您!

C變量的定義

現在我們知道如何為變量命名了,讓我們學習如何創建它們。在C語言中,我們需要告訴計算機我們的變量將會持有什麼類型的數據。這被稱為變量定義。

基本語法是:

數據類型 變量名稱 = 初始值;

讓我們看一些例子:

int studentCount = 30;
float piValue = 3.14159;
char grade = 'A';

在這些例子中:

  • studentCount 是一個整數變量,初始化為值 30。
  • piValue 是一個浮點數變量(用於小數),設為 3.14159。
  • grade 是一個字符變量,保存字母 'A'。

您也可以在同一行定義多個同一類型的變量:

int x = 5, y = 10, z = 15;

C變量的聲明

有時候,您可能想聲明一個變量,但暫時不給它賦值。這被稱為變量聲明。這就像為將來的使用在記憶中預留一個位置。

這樣聲明變量:

int age;
float salary;
char initial;

在程序的稍後部分,您可以為這些變量賦值:

age = 28;
salary = 50000.50;
initial = 'J';

有一個有趣的小故事:我曾經有一個學生,他在程序的開頭聲明了他所有的變量,但忘記賦值。他的程序可以正常編譯,但給出了奇怪的結果。記住,总是在使用變量之前初始化它們!

C中的L值和R值

現在,讓我們深入一個稍微複雜一點的主題:L值和R值。不要讓這些術語嚇到你——它們比你想像的要簡單!

  • 一個L值(左值)是一個可以出現在賦值操作符左邊的表达式。
  • 一個R值(右值)是一個可以出現在賦值操作符右邊的表达式。

讓我們用一些例子來分解它:

int x = 5;  // 'x' 是L值,'5' 是R值
int y = x;  // 'y' 是L值,'x' 是L值和R值
5 = x;      // 錯誤!'5' 不能是L值

在最後一行,我們無法為 '5' 賦值,因為它是一個常量(R值)而不是一個變量(L值)。

這裡有一個總結L值和R值的表:

表達式 L值 R值
x = 5 x 5
y = x + 3 y x + 3
z++ z z++
3 = x 錯誤 3, x

當您開始在C中使用指針和複雜表達式時,理解L值和R值變得至關重要。

這就是變量的基礎知識!我們已經從為什麼使用它們到一些更複雜的概念,如L值和R值。記住,熟能生巧。嘗試使用不同類型的變量編寫小型程序,並不怕嘗試。

在我們結束時,我想要分享一點編程智慧:變量就像您編碼食譜中的香料。明智地使用它們,您的程序將會是一個傑作。過度使用或錯誤使用它們,您可能會得到一個調試頭痛!

持續編碼,保持好奇心,最重要的是,在您的編程旅程中玩得開心!

Credits: Image by storyset