空語句
C最簡單的語句就是空語句,它本身只包含一個分號。
空語句適用的場合就是語法要求出現一條完整的語句,但並不需要它執行任何任務。
表達式語句
C並不存在專門的賦值語句、而是統一用“表達式語句”代替。
表達式後面添加一個分號,就可以把表達式轉變爲表達式語句。
代碼塊
代碼塊就是位於一對花括號之內的可選的聲明和語句列表。
代碼塊可以用於要求出現語句的地方,它允許我們在語法要求只出現一條語句的地方使用多條語句。
{
declaration
statement
}
if語句
if(expression)
statement
else
statement
如果expression的值爲真,那麼就執行第一個statement,否則就跳過它。如果存在else子句,它後面的statement只有當expression的值爲假的時候纔會執行。
注意,上面的兩個statement部分都可以是代碼塊。
當if語句嵌套出現時,就會出現“懸空的else”問題。
if (int i > 1)
if (int j > 2)
printf("i > 1 and j > 2\n");
else
printf("no they are not\n");
規定:else子句從屬於最靠近它的不完整的if語句。
while語句
while (expression)
statement
break語句用於永久終止循環。
continue語句用於永久終止當前的那次循環。
for語句
for (expression1 ; expression2 ; expression3)
statement
- expression1爲初始化部分,它只在循環開始時執行一次。
- expression2爲條件部分,它在循環體每次執行前都要執行一次。
- expression3爲調整部分,它在循環體每次執行完畢,在條件部分即將執行之前執行。
- statement稱爲循環體。
break語句立即退出循環。
continue語句把控制流直接轉移到調整部分。
do語句
do
statement
while(expression)
switch語句
switch (expression)
{
statement-list
}
其中,expression的結果必須是整型值。
貫穿於語句列表之間的是一個或多個case標籤,形式如下:
case constant-expression:
statement
每個case標籤都必須具有唯一的值。
constant-expression是常量表達式,是指在編譯期間進行求值的表達式,它不能是任何變量。
break語句
如果在switch語句的執行中遇到了break語句,執行流就會立即跳到語句列表的末尾。
在C語言所有的switch語句中,97%在每個case中都有一條break語句。
break語句的實際效果是把語句列表劃分爲不同的部分。
default語句
把下面這個標籤
default:
statement
寫在任何一個case標籤可能出現的位置。
當switch表達式的值並不匹配所有case標籤的值時,這個default子句後面的語句就會執行。
goto語句
首先,需要強調的是,儘量避免使用goto語句。
goto 語句標籤;
要使用goto語句,我們必須在希望跳轉的語句前面加上語句標籤。
語句標籤就是標識符後面加個冒號。