Turbo C (TC) 作為 DOS 時代的經典 IDE,其緊湊高效的設計至今仍具教學價值。本文首先詳細介紹 TC 選單功能,再針對初學者易混淆的流程控制、變量存儲類別等核心語法進行深度辨析。
EXIT 返回,相當於現代 IDE 的嵌入式終端機。管理多檔案專案,Auto Dependencies 開啟時會自動比對源檔與 .OBJ 時間戳決定是否重新編譯。
斷點與監視表達式管理,支援條件斷點、資料監視點。
if vs switchif,多分支首選 switch-break,結構更清晰。if 雖能實現多分支,但可讀性差。if 條件(C 語言無布爾型,非零即真)。| 循環類型 | 典型適用場景 | 靈活技巧 |
|---|---|---|
for | 循環次數已知、計數器控制 | 三表達式均可省略,甚至循環體寫在第三表達式中,循環體變空語句 |
while | 次數未知、前測試 | 條件可為複雜表達式 |
do-while | 至少執行一次、後測試 | 菜單驅動程式常用 |
break、continue、return、gotobreak:跳出 switch 或**最內層**循環。continue:跳過本次循環剩餘部分,直接進入下一次迭代判斷。switch 在循環中,且 case 含 continue,則跳過**整個外層循環迭代**,而非僅跳出 switch。return:結束當前函數,詳見函數章節。goto:破壞結構化程式,降低可讀性,ANSI C 作者建議避免。唯一合理用法:從深層嵌套中一次性跳出錯誤處理標籤。| 類型 | 位元組 | 位數 | 範圍 |
|---|---|---|---|
int/short | 2 | 16 | -32,768 ~ 32,767 |
long | 4 | 32 | -2,147,483,648 ~ 2,147,483,647 |
unsigned | 2 | 16 | 0 ~ 65,535 |
unsigned long | 4 | 32 | 0 ~ 4,294,967,295 |
| 類型 | 位元組 | 範圍 | 有效位 |
|---|---|---|---|
float | 4 | 10⁻³⁸ ~ 10³⁸ | 6~7 |
double | 8 | 10⁻³⁰⁸ ~ 10³⁰⁸ | 15~16 |
long double | 16 | 10⁻⁴⁹³² ~ 10⁴⁹³² | 18~19 |
| 特性 | auto | extern | static | register |
|---|---|---|---|---|
| 預設值 | 隨機 | 0 | 0 | 隨機 |
| 作用域 | 當前函數 | 整個程式 | 當前檔案(外部)/函數(內部) | 當前函數 |
| 生命週期 | 函數結束釋放 | 程式結束 | 程式結束 | 函數結束釋放 |
| 跨函數共享 | 否 | 是 | 是(內部)/否(外部) | 否 |
| 跨檔案共享 | 否 | 是 | 否 | 否 |
| 記憶體位置 | 棧 | 靜態區 | 靜態區 | CPU 寄存器(最多 2 個) |
| 可取址 | 是 | 是 | 是 | 否 |
auto 每次進入函數重新初始化。int/char,數量受硬體限制(TC 為 2),適合計數器;無法取址。auto,若需高效能計數器可顯式聲明 register,或開啟優化選項讓編譯器自動提升熱點變量。熟悉 TC IDE 操作能事半功倍;深刻理解流程控制細節與變量存儲機制,是從「能跑通」進階到「寫得好」的分水嶺。下一章將進入函數與陣列進階。