Skip to content
陳鍾誠 edited this page Nov 24, 2018 · 8 revisions

C4 編譯器的語法

C4 編譯器並沒有支援完整的 C 語言語法,只支援了剛好足夠《自我編譯》的那些語法。

支援的語法

項目 語法
判斷 if ... else
迴圈 while (...)
區塊 {...}
函數呼叫 f()
函數定義 int f(....)
傳回值 return
陣列存取 a[i]
數學運算 +-*/%, ++, --, +=, -=, *=, /=, %=
位元運算 &
邏輯運算 ! &&
列舉 enum ...
運算式 (a*3+5)/b
指定 x = (a*3+5)/b
取得大小 sizeof
強制轉型 (int*) ptr; (char) a;
基本型態 int, char
指標 *ptr
遞迴 int f(n) { ... return f(n-1) + f(n-2); }
陣列存取 a[i]

沒有支援的語法

C4 編譯器並沒有支援下列語法:

項目 語法
結構 struct
設定初值 int a=3; int arr = {1,2,3}
巨集 #define LEN 100
宣告陣列 int a[10];

忽略的語法

而對於引入標頭檔, C4 會忽略這些指令,但是預設已經引入了像 printf 之類的函式庫。

項目 語法
引入標頭檔 #include <stdio.h>
Clone this wiki locally