程序結構基礎
- C 區分大小寫,無行號概念,用分號終止語句,採用鋸齒縮進風格。
- 程序由函數組成,必有唯一
main() 入口,執行從 main 開始結束。
- 三大結構:順序、選擇、循環。
順序結構
- 空語句:單獨分號
;,用作空循環體。
- 表達式語句:賦值表達式加分號
a=100;。
選擇結構
if-else
if(條件) { 語句塊1; } else { 語句塊2; }
- 單分支
if、多重 else if 鏈、嵌套 if。
else 匹配最近的未配對 if。
switch-case
switch(表達式) {
case 常量1: 語句; break;
case 常量2: 語句; break;
default: 語句;
}
- 表達式必為整型,
case 後為整型常量表達式(可含字符)。
- 無
break 會貫穿執行後續 case(特性可用於合並分支)。
- 替代長
if-else 鏈,結構更清晰。
關系運算符
| 運算符 | 含義 | 優先級 |
< <= > >= | 比較 | 高 |
== != | 等值 | 低 |
結果:真為 1,假為 0。可嵌套 a > (b > c)。
邏輯運算符
| 運算符 | 含義 | 結合性 | 優先級 |
! | 非 | 右 | 最高 |
&& | 與 | 左 | 中 |
|| | 或 | 左 | 低 |
短路求值:&& 左假不算右,|| 左真不算右。優先級:! > 算術 > 關系 > && > || > 賦值。
循環結構
while
while(條件) { 語句塊; }
先判斷後執行,可能零次。死循環 while(1),空循環 while(getchar()!='\n') n++;。
do-while
do { 語句塊; } while(條件);
至少執行一次,注意結尾分號。
for
for(初始化; 條件; 遞增) { 語句塊; }
- 三部分皆可省略(分號保留),
for(;;) 等價 while(1)。
for(i=0,j=100; i<=100; i++,j--) 多變量控制。
- 條件可為賦值/函數調用
for(; (c=getchar())!='\n'; )。
跳轉控制
- break:跳出當層循環/switch,多層只跳一層。
- continue:跳過本次循環餘下部分,直接下一輪判斷。
- goto:跳轉到同函數標號
label:。慎用,多層循環同時退出時可用。
經典例題
- 較大值、字符分類、星期幾(switch 優化)。
- 1+...+100 三種循環寫法對比。
- 最大公約數、階乘和、素數判斷(
sqrt 優化 + 標志變量復位)。
- 上一篇文章: C語言概述與數據類型體系詳解
- 下一篇文章: C 語言數據結構:順序棧與鏈式棧完整實現指南
Copyright ©
程式碼之家 All Rights Reserved