整理自郝斌老師 C 語言課程第一講,涵蓋變數本質、記憶體運作、Hello World 執行流程、基本資料類型、進制表示、學習路徑與程式設計哲學。
int i;
printf("i = %d\n", i); // 輸出類似 -858993460 (0xCCCCCCCC)
#include <stdio.h>
#include <math.h>
int main() {
int a=1, b=5, c=6;
double delta = b*b - 4*a*c, x1, x2;
if (delta > 0) {
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("兩解: x1=%f, x2=%f\n", x1, x2);
} else if (delta == 0) {
x1 = x2 = -b / (2*a);
printf("雙重解: %f\n", x1);
} else printf("無實數解\n");
return 0;
}
| 世代 | 代表語言 | 特點 |
|---|---|---|
| 第一代 | 機器語言 (0/1) | 直接執行,難讀寫 |
| 第二代 | 組合語言 | 助記符,對應機器碼 |
| 第三代 (結構化) | C, Fortran, Pascal, Basic | 面向過程,結構化控制流 |
| 面向對象 | C++, Java, C# | 封裝/繼承/多型,大型專案管理 |
CPU ←→ 記憶體 (RAM) ←→ 硬碟
↑
顯卡/主板/外設
int(4)、short(2)、long(4/8)float(4)、double(8) — IEEE 754 浮點表示char(1) — ASCII/延伸編碼'A'、字串常數 "Hello" (以 \0 結尾)「當你成為 C 高手,進入作業系統平台實際開發,懂除錯,就能掌握整個平台架構,計算機一切盡在掌握。」 — 《編程箴言》梁肇新
打好 C 語言基礎,是通往系統級開發、嵌入式、高效能計算的必經之路。