1. 程式人生 > >C程序設計導引(3)

C程序設計導引(3)

判斷 一個 等價 之前 復合語句 spa 用法 舉例 遇到

第4章 循環語句和goto語句

4.1 while語句

語法格式:

while (<表達式>) 語句;

在這個語句中,表達式描述循環的條件,如果表達式的值為0,就停止語句,否則繼續執行語句部分。語句部分可以是一句或復合語句。

4.2 for語句

for語句和while語句的最大區別在於for循環語句會對循環控制變量進行初始化。

語法格式如下:

for (表達式1;表達式2;表達式3) <語句>

表達式1只在for語句開始時被執行一次,一般用於設置循環的初始狀態;表達式2說明循環的條件;表達式3用於修改循環控制變量的狀態。

有趣的是,表達式123都是可以為空的,只要兩個“

;”存在,for循環語句就合法。

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語句時就立即結束對循環語句的執行,從循環體內直接跳出循環。

  1. continue

continue是循環語句專用的一種跳轉語句,它的作用是使程序跳過循環體中的其他語句而進行下一輪的循環。

註意,breakcontinue都只會影響多重循環中它所在的一層循環。

4.7 goto語句

goto是一種無條件跳轉語句,可以使程序的執行轉向同一函數中的任意語句。

goto語句是和語句標號一起使用的。語句標號在程序中標誌一條語句的位置。使用標號時,需要將語句標號的標識符放在一條語句前面,並用一個冒號將這個標識符與它所標誌的語句分開。比如:

A:x=y+z;

A就是語句”x=y+z”的標號。

goto的用法則是:

goto A;

註意,標號和goto語句必須在同一個函數中,至於函數,是我們下一章詳細介紹的內容。

C程序設計導引(3)