提示 ていじ :呢篇
文 ぶん 講 こう 嘅唔
係 がかり C++ 或 ある C § 。
C程 ほど 式 しき 語 ご 言 げん 嘅標誌 し
C程 ほど 式 しき 語 ご 言 げん 係 かかり 一 いち 隻 せき 電腦 でんのう 程 ほど 式 しき 語 ご 言 げん ,通常 つうじょう 淨 きよし 係 がかり 叫 さけべ C 。佢係丹 たん 尼 に 士 し 列 れつ 奇 き (Dennis Ritchie)響 ひびき 1970年 ねん 代作 だいさく 畀Unix 操作 そうさ 系統 けいとう 用 よう 嘅。因 よし 為 ため 佢兼具 ぐ 高低 こうてい 階 かい 語 ご 言 げん 特徵 とくちょう ,所以 ゆえん 用途 ようと 廣 こう 泛:由 よし 底 そこ 層 そう 操作 そうさ 系統 けいとう 到 いた 上層 じょうそう 唔同軟件,都 と 可 か 以用C嚟寫。
C語 ご 言 げん 設計 せっけい 目標 もくひょう 係 がかり 提供 ていきょう 一種能以簡易嘅方式編譯、處理 しょり 低 てい 階 かい 記憶 きおく 體 たい 、產 さん 生 せい 最少 さいしょう 嘅機械碼同 どう 啲唔需要 じゅよう 任 にん 何 なん 執行 しっこう 環境 かんきょう 支援 しえん 就行到 いた 嘅程式 しき 語 ご 言 げん 。縱 たて 使 し C語 ご 言 げん 有 ゆう 咗好多 た 低 てい 階 かい 處理 しょり 嘅功能 のう ,但 ただし 喼住良好 りょうこう 跨 またが 平台 ひらだい 嘅特性 せい ,以一個標準規格寫出嘅C語 ご 言 げん 程 ほど 式 しき 可 か 以喺第 だい 啲電腦 でんのう 平台 ひらだい 上 じょう 進行 しんこう 編 へん 譯 やく ,甚至有 ゆう 埋 うめ 啲嵌入 かんにゅう 式 しき 處理 しょり 器 き 同 どう 埋 うめ 超 ちょう 級 きゅう 電腦 でんのう 嘅作業平 なりひら 台 だい 。
C語 ご 言 げん 係 がかり 個 こ 有 ゆう 結構 けっこう 化 か 程 ほど 式 しき 設計 せっけい 、有 ゆう 變量 へんりょう 作用 さよう 域 いき (variable scope)同 どう 遞迴功 こう 能 のう 嘅程式 しき 語 ご 言 げん 。
C語 ご 言傳 ことづて 遞參數 すう 均 ひとし 係 がかり 以值傳 でん 遞[ 1] ,仲 なか 可 か 以傳個 こ 指針 ししん 。
唔同嘅變數 すう 類型 るいけい 可 か 以用結構 けっこう 體 からだ (struct)組合 くみあい 埋 うめ 。
得 とく 32隻 せき 保留 ほりゅう 字 じ (reserved keywords),令 れい 變量 へんりょう 、函數 かんすう 命名 めいめい 彈性 だんせい 啲。
部 ぶ 份嘅變量 へんりょう 類型 るいけい 轉 うたて 得 え ,例 れい 如整型 がた 同 どう 字 じ 符 ふ 型 がた 變量 へんりょう 。
透過 とうか 指標 しひょう (pointer)等 とう C語 ご 言 げん 易 えき 啲低階 かい 控 ひかえ 制 せい 記憶 きおく 體 たい 。
編 へん 譯 やく 預 あずか 處理 しょり (preprocessor)畀C語 ご 言 げん 嘅編譯 やく 更 さら 具 ぐ 彈性 だんせい 。
下面 かめん 係 がかり 一 いち 個 こ 輸出 ゆしゅつ 設備 せつび (stdout)印 しるし 串 くし 字 じ "Hello, world! " 出 で 嚟嘅簡單 かんたん 程 ほど 式 しき ,通常 つうじょう 係 がかり 初學 しょがく 程 ほど 式 しき 語 ご 言 げん 嗰陣嘅第一 いち 個 こ 程 ほど 式 しき :
#include <stdio.h>
int main ( void )
{
printf ( "Hello, world! \n " );
return 0 ;
}
C語 ご 言 げん 由 よし 函數 かんすう 同 どう 變量 へんりょう 組成 そせい ,函數 かんすう 就似係 がかり Fortran 入 いれ 面 めん 嘅子程 ほど 序 じょ 同 どう 函數 かんすう 。
C嘅程序 じょ 從 したがえ main
開始 かいし 行 ぎょう 。main()
函数 かんすう 會 かい 調 ちょう 用 よう 同 どう 控 ひかえ 制 せい 第 だい 啲函數 すう 嚟做嘢,例 れい 如上 じょじょう 面 めん 嘅printf
。程 ほど 式 しき 員 いん 可 か 以自己 じこ 寫 うつし 函數 かんすう ,或 ある 從 したがえ 庫 こ 中 ちゅう 調 しらべ 用 よう 函數 かんすう 。喺上面 めん 嘅return 0;
令 れい 到 いた main()
畀返個 こ 值去調 ちょう 用 よう 程 ほど 序 じょ 嘅殼 から 層 そう ,表明 ひょうめい 程 ほど 序 じょ 成功 せいこう 行 ぎょう 完 かん 。
一 いち 個 こ C語 ご 言 げん 嘅函數 すう 由 よし 返 かえし 回 かい 值、函數 かんすう 名 めい 、參 まいり 數列 すうれつ 表 ひょう 同 どう 函數 かんすう 體 たい 組成 そせい 。函數 かんすう 體 たい 嘅語法 ほう 同 どう 啲複合 ごう 句 く 一 いち 樣 よう 。
C語 ご 言 げん 複 ふく 合 ごう 句 く 嘅格式 しき 係 がかり :
{
語句 ごく ;
語句 ごく ;
/* ... */
}
複 ふく 合 ごう 句 く 可 か 以令幾 いく 句 く 語句 ごく 喺文法 ほう 上 じょう 變成 へんせい 個 こ 語句 ごく 。
有 ゆう 時 じ 複 ふく 合 ごう 句 く 係 がかり 必須 ひっす 嘅,唔用就會產 さん 生 せい 錯誤 さくご 。好 こう 似 に 用 よう 循環 じゅんかん 語句 ごく ,萬 まん 一 いち 有 ゆう 幾 いく 句 く 嘢,最 さい 好 このみ 用 よう 返 かえし 括 くく 號 ごう 將 はた 佢哋合併 がっぺい 做句複合語 ふくごうご 句 く 。冇複合語 ふくごうご 句 く ,系統 けいとう 就齋睇第一個分號前嘅內容做成個循環體。
需要 じゅよう 注意 ちゅうい 嘅係,部分 ぶぶん C編 へん 譯 やく 器 き 並 なみ 唔撐喺任意 にんい 位置 いち 度 ど 用 よう 複 ふく 合 ごう 句 く 。
C語 ご 言 げん 有 ゆう 兩 りょう 種 たね 條件 じょうけん 句 く 形式 けいしき ,分 ふん 别係if 同 どう switch 。
If 嘅格式 しき 係 がかり 噉:
if ( 算術 さんじゅつ 式 しき ) // 萬一 まんいち
語句 ごく ;
// 仲 なか 有 ゆう 時 じ 會 かい else:
else // 否 いや 則 のり
語句 ごく ;
算術 さんじゅつ 式 しき 嘅值如果唔係零 れい 就代表 だいひょう 條件 じょうけん 係 がかり 真 ま ;如果條件 じょうけん 係 がかり 假 かり 嘅,程 ほど 式 しき 會 かい 跳 とべ 過 よぎ if 度 ど 嘅語句 く ,直接 ちょくせつ 行 ぎょう 之 の 後 こう 嘅語句 く 。但 ただし 係 かかり 如果if 後 こう 面 めん 有 ゆう else 而條件 じょうけん 係 がかり 假 かり 嘅話,程 ほど 式 しき 會 かい 跳 とべ 去 ざ else 度 ど 執行 しっこう 。if 同 どう else 後 こう 面 めん 嗰句可 か 以係第 だい 個 こ if 語句 ごく 。有 ゆう 呢種套疊式 しき 嘅結構 けっこう 先 さき 有 ゆう 更 さら 複雜 ふくざつ 嘅邏輯控制 せい 流 りゅう 程 ほど 。喺一般 いっぱん 情況 じょうきょう 下 か ,else 實 じつ 同 どう 最近 さいきん 嘅if 成 なり 啤,所以 ゆえん 會 かい 成 なり 日用 にちよう 啲括弧 かっこ {} 越 こし 過 か 呢個限 げん 制 せい 。比較 ひかく 下面 かめん 兩 りょう 種 たね 情況 じょうきょう :
if ( 論理 ろんり 式 しき )
if ( 論理 ろんり 式 しき )
語句 ごく ;
else
語句 ごく ;
if ( 論理 ろんり 式 しき A)
{
if ( 論理 ろんり 式 しき B)
語句 ごく ;
}
else
語句 ごく ;
要注意 ようちゅうい 依 よ 度 たび 嘅縮進 すすむ 同 どう 換 かわ 行 あるき 齋 とき 係 がかり 方便 ほうべん 啲嚟讀。編 へん 譯 やく 器 き 唔識依啲縮進 しん 層 そう 級 きゅう 估個 if 同 どう else 對應 たいおう 嘅關係 かんけい 。
switch 通常 つうじょう 用 よう 响對幾 いく 種 しゅ 有明 ありあけ 確 かく 值嘅條件 じょうけん 。佢要求 ようきゅう 嘅條件 じょうけん 值通常 つうじょう 係 がかり 整數 せいすう 或 ある 者 もの 字 じ 元 もと 。同 どう switch 搭配嘅條件 じょうけん 轉移 てんい 係 がかり case 。控 ひかえ 制 せい 程 ほど 式 しき 會 かい 跳 とべ 到 いた 滿足 まんぞく 條件 じょうけん 嘅case 一 いち 直 ちょく 向 こう 下 した 執行 しっこう ,直 ちょく 到 いた 語句 ごく 完 かん 曬或者 しゃ 撞到break 。通常 つうじょう 用 よう 到 いた default 將 はた 第 だい 啲例外 がい 嘅情況 きょう 包 つつみ 埋 うめ 。如果switch 語句 ごく 入 いれ 面 めん 有 ゆう 唔成立 せいりつ 嘅條件 じょうけん ,控 ひかえ 制 せい 程 ほど 式 しき 會 かい 跳 とべ 去 ざ default 行 くだり ;冇咗default ,就會直接 ちょくせつ 行 ぎょう 下 か 句 く 語句 ごく 。switch 係 かかり 可 か 以嵌套嘅。
switch 個 こ 值出嚟
{
case A :
case B :
語句 ごく 段 だん 一 いち ; // AB都 と 行 ぎょう 緊
// 第 だい 啲句…
break ; // 跳 とべ 到 いた 去 ざ switch 最後 さいご 嗰度
case C :
語句 ごく 段 だん 二 に ;
break ;
default : // 唔係A、B、C嘅會嚟伊度 ど
}
If句 く 式 しき 可 か 以省略 しょうりゃく 成 なり 噉:
// 算術 さんじゅつ 式 しき ?值1:值2;
// 如:
a = b > c ? b : c // 如果變數 へんすう b嘅值大過 たいか 變數 へんすう c就將變數 へんすう b嘅值俾哂變數 へんすう a
C語 ご 言 げん 有 ゆう 三 さん 種 しゅ 循syntaxhighlight句 く :
do
語句 ごく ;
while ( 判斷 はんだん 式 しき );
// 同 どう :
while ( 判斷 はんだん 式 しき )
語句 ごく ;
// 同 どう :
for ( 初 はつ 始 はじめ 化 か ; 判斷 はんだん 式 しき ; 算術 さんじゅつ 式 しき )
語句 ごく ;
喺while 同 どう for 入 いれ 面 めん ,語句 ごく 不 ふ 斷行 だんこう 直 ちょく 到 いた 判斷 はんだん 式 しき 嘅值係 がかり 零 れい 。喺do...while 語句 ごく 入 いれ 面 めん ,循環 じゅんかん 仲 なか 會 かい 先行 せんこう 一 いち 次 じ 。呢三種循環結構可以互相轉化:
for ( 初 はつ 始 はじめ 化 か ; 判斷 はんだん 式 しき ; 算術 さんじゅつ 式 しき )
語句 ごく ;
如果語句 ごく 冇用continue語句 ごく ,就相當 とう 於
初 はつ 始 はじめ 化 か ;
while ( 判斷 はんだん 式 しき ) {
語句 ごく ;
算術 さんじゅつ 式 しき ;
}
當 とう 循環 じゅんかん 條件 じょうけん 一直係真嗰陣,就會產 さん 生 せい 無窮 むきゅう 迴圈 。
跳 とべ 轉 てん 句 く 包括 ほうかつ 四 よん 種 しゅ :goto、continue、break同 どう return 。
goto 語句 ごく 係 がかり 無條件 むじょうけん 轉移 てんい 句 く ,標記 ひょうき 一定要喺當前函數嘅定義,要用 ようよう 標記 ひょうき : 嘅格式 しき 定義 ていぎ 。程 ほど 式 しき 會 かい 跳 とべ 到 いた 去 ざ 標記 ひょうき 度 ど 繼續 けいぞく 執行 しっこう 。由 よし 於goto 難 なん 讀啲,所以 ゆえん 對 たい 新手 あらて 嚟講係 がかり 少 しょう 用 よう 啲。GCC 編 へん 譯 やく 器 き 拓 つぶせ 展 てん 撐對指針 ししん goto 同 どう 埋 うめ 宏 ひろし 內嘅goto,一定 いってい 程度 ていど 上 じょう 增強 ぞうきょう 咗goto嘅可讀 かどく 性 せい 。
continue 語句 ごく 用 よう 喺迴圈 けん 句 く 入 いれ 面 めん ,作用 さよう 係 がかり 完 かん 哂前一 いち 輪 りん 嘅迴圈 けん ,即刻 そっこく 開始 かいし 下 か 一 いち 輪 りん 迴圈。
break 語句 ごく 用 よう 喺迴圈 けん 句 く 定 じょう switch 入 いれ 面 めん ,作用 さよう 係 がかり 完 かん 咗當前 ぜん 迴圈,跳 とべ 出 で 循環 じゅんかん 體外 たいがい 繼 つぎ 續行 ぞっこう 。但 ただし 係 かかり break 跳 とべ 得 え 一層 いっそう 迴圈。要 よう 跳 とべ 出 で 多重 たじゅう 迴圈嗰陣,可 か 以用goto 令 れい 至 いたり 程 ほど 式 しき 更 さら 為 ため 簡潔 かんけつ 。
當 とう 一 いち 個 こ 函 はこ 數 すう 行 ぎょう 完 かん ,要 よう 俾返回 かい 值嗰陣 じん 用 よう return 。return 可 か 以係個 こ 運算 うんざん 式 しき 或 ある 變數 へんすう 。如果return 後 こう 面 めん 冇值就會乜都唔俾。
↑ Brian W. Kernighan and Dennis M. Ritchie (1988). The C programming Language (英文 えいぶん ). Prentice-Hall. ISBN 0-13-110362-8 . In C, all function arguments are passed ``by value.