for語句是我們(men) 今後編程的一個(ge) 常用的語句,這個(ge) 語句必須得學會(hui) 其用法,他不僅(jin) 僅(jin) 可以用來做延時,還可以用來做一些循環運算。for語句的一般形式如下:
for(表達式1; 表達式2; 表達式3)
(需要執行的語句);
其執行過程是:表達式1首先執行且隻執行一次;然後執行表達式2,通常都是一個(ge) 用於(yu) 判定條件的表達式,如果表達式2條件成立,就執行(需要執行的語句);然後再執行表達式3;再判斷表達式2,再執行表達式3.....一直到表達式2不成立時,跳出循環往下執行。舉(ju) 個(ge) 例子:
for(i = 0; i<2; i++)
j++;
這裏有一個(ge) 符號++,這個(ge) 符號表示加1的意思。假如j最開始初值是0,首先執行表達式1的i=0,然後判斷i小於(yu) 2這個(ge) 條件成立,就執行一次j++,j的值就是1了,然後經過表達式3後,i的值也變成1了,再判斷條件2,還是符合,j再加一次,j變成2了,表達式3後i也變成2了,再判斷條件2,發現2<2這個(ge) 條件不成立了,所以就不會(hui) 再執行j++這個(ge) 語句了。所以執行完畢後,j的值就是2。
for語句除了這種標準用法,還有幾種特殊用法,我們(men) 上節課的閃爍小燈對for語句的用法for(i=0; i<30000; i++) ;我們(men) 沒有加(需要執行的語句),沒有加的話,就是什麽(me) 都不操作。但是什麽(me) 都不操作的話,我們(men) 這個(ge) for語句循環判斷了30000次,程序執行是會(hui) 用掉時間的,所以就起到了延時的作用。比如我們(men) 把30000改成20000,會(hui) 發現燈的閃爍速度加快了,因為(wei) 我們(men) 延時時間短了,當然,我們(men) 該成40000後會(hui) 發現,閃爍慢了。但是有一點特別注意,C語言的延時時間是不能通過程序看出來的,也不會(hui) 成比例,比如假如我們(men) 這個(ge) for循環裏邊的表達式2使用30000的時候延時3秒的話,那麽(me) 延時40000的時候,可能不會(hui) 是4秒,那如何看實際延時時間呢,一會(hui) 我再教大家。
還有一種寫(xie) 法for( ; ; ),這樣寫(xie) 後,這個(ge) for循環就變成了死循環了,就不停的執行(需要執行的語句),和我們(men) 前邊講的while(1)的意思是一樣的。那while這個(ge) 語法是如何用的呢?