(Translated by https://www.hiragana.jp/)
C (程式語言) - 維基百科,自由嘅百科全書 とべ內容

C (ほどしきげん)

出自しゅつじ維基百科ひゃっか自由じゆう百科全書ひゃっかぜんしょ
  提示ていじ呢篇ぶんこう嘅唔がかり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げん嘅編やくさら彈性だんせい

語法ごほう

[編輯へんしゅう]

Hello World ほどじょ

[編輯へんしゅう]

下面かめんがかりいち輸出ゆしゅつ設備せつび(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げんゆうさんしゅ循環じゅんかん

do
    語句ごく;
while(判斷はんだんしき); 

// どう:

while(判斷はんだんしき) 
    語句ごく;

// どう:

for(はつはじめ;判斷はんだんしき;算術さんじゅつしき)
    語句ごく;

whileどうforいれめん語句ごく斷行だんこうちょくいた判斷はんだんしき嘅值がかりれい。喺do...while語句ごくいれめん循環じゅんかんなかかい先行せんこういち。呢三種循環結構可以互相轉化:

for(はつはじめ;判斷はんだんしき;算術さんじゅつしき)
    語句ごく;

如果語句ごく冇用continue語句ごく,就相とう

はつはじめ;
while (判斷はんだんしき) {
    語句ごく;
    算術さんじゅつしき;
}

とう循環じゅんかん條件じょうけん一直係真嗰陣,就會さんせい無窮むきゅう迴圈

とべてん

[編輯へんしゅう]

とべてん包括ほうかつよんしゅgoto、continue、breakどうreturn

goto 標記ひょうき;

goto語句ごくがかり無條件むじょうけん轉移てんい標記ひょうき一定要喺當前函數嘅定義,要用ようよう標記ひょうき:嘅格しき定義ていぎほどしきかいとべいた標記ひょうき繼續けいぞく執行しっこうよしgotoなん讀啲,所以ゆえんたい新手あらて嚟講がかりしょうよう啲。GCC へんやくつぶせてん撐對指針ししんgotoどううめひろし內嘅goto,一定いってい程度ていどじょう增強ぞうきょう咗goto嘅可讀かどくせい

continue語句ごくよう喺迴けんいれめん作用さようがかりかん哂前いちりん嘅迴けん即刻そっこく開始かいしいちりん迴圈。

break語句ごくよう喺迴けんじょうswitchいれめん作用さようがかりかん咗當ぜん迴圈,とべ循環じゅんかん體外たいがいつぎ續行ぞっこうただしかかりbreakとべ一層いっそう迴圈。ようとべ多重たじゅう迴圈嗰陣,以用gotoれいいたりほどしきさらため簡潔かんけつ

とういちはこすうぎょうかんよう俾返かい值嗰じんようreturnreturn以係運算うんざんしきある變數へんすう。如果returnこうめん冇值就會乜都唔俾。

Cげん嘅變しゅ

[編輯へんしゅう]

參考さんこう資料しりょう

[編輯へんしゅう]
  1. 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.