C程序設計導引(3)
第4章 循環語句和goto語句
4.1 while語句
語法格式:
while (<表達式>) 語句;
在這個語句中,表達式描述循環的條件,如果表達式的值為0,就停止語句,否則繼續執行語句部分。語句部分可以是一句或復合語句。
4.2 for語句
for語句和while語句的最大區別在於for循環語句會對循環控制變量進行初始化。
語法格式如下:
for (表達式1;表達式2;表達式3) <語句>
表達式1只在for語句開始時被執行一次,一般用於設置循環的初始狀態;表達式2說明循環的條件;表達式3用於修改循環控制變量的狀態。
有趣的是,表達式123都是可以為空的,只要兩個“
4.3 do while語句
無論是for語句還是while語句,對循環控制條件的判斷都在語句之前,但有時候不經過語句是無法判斷的,所以就有do while語句,語法格式如下:
do <語句> while <表達式>;
首先執行語句部分,然後計算表達式。表達式不等於0,則繼續執行語句部分。
4.4 逗號表達式
由逗號分隔的兩個表達式在語法上可以看成一個整體,稱為逗號表達式。由逗號分隔的子表達式按照從左至右的順序依次求值,而表達式的值等於其中最右側子表達式的值。例如:
r=(a=x,b=y,c=z);
等價於:
a=x; b=y; r=c=z;
4.5 循環語句的嵌套
這可以說是循環語句的精華了。但並不困難,不過是循環中的語句裏也有循環語句罷了。用到的地方很多,這裏不再舉例。
4.6 循環語句中的非常規控制
1.break
程序在循環中遇到break語句時就立即結束對循環語句的執行,從循環體內直接跳出循環。
- continue
continue是循環語句專用的一種跳轉語句,它的作用是使程序跳過循環體中的其他語句而進行下一輪的循環。
註意,break和continue都只會影響多重循環中它所在的一層循環。
4.7 goto語句
goto是一種無條件跳轉語句,可以使程序的執行轉向同一函數中的任意語句。
goto語句是和語句標號一起使用的。語句標號在程序中標誌一條語句的位置。使用標號時,需要將語句標號的標識符放在一條語句前面,並用一個冒號將這個標識符與它所標誌的語句分開。比如:
A:x=y+z;
A就是語句”x=y+z”的標號。
goto的用法則是:
goto A;
註意,標號和goto語句必須在同一個函數中,至於函數,是我們下一章詳細介紹的內容。
C程序設計導引(3)