for循環(huán)語(yǔ)句
for語(yǔ)句是我們今后編程的一個(gè)常用的語(yǔ)句,這個(gè)語(yǔ)句必須得學(xué)會(huì)其用法,他不僅僅可以用來(lái)做延時(shí),還可以用來(lái)做一些循環(huán)運(yùn)算。for語(yǔ)句的一般形式如下:
for(表達(dá)式1; 表達(dá)式2; 表達(dá)式3)
(需要執(zhí)行的語(yǔ)句);
其執(zhí)行過(guò)程是:表達(dá)式1首先執(zhí)行且只執(zhí)行一次;然后執(zhí)行表達(dá)式2,通常都是一個(gè)用于判定條件的表達(dá)式,如果表達(dá)式2條件成立,就執(zhí)行(需要執(zhí)行的語(yǔ)句);然后再執(zhí)行表達(dá)式3;再判斷表達(dá)式2,再執(zhí)行表達(dá)式3.....一直到表達(dá)式2不成立時(shí),跳出循環(huán)往下執(zhí)行。舉個(gè)例子:
for(i = 0; i<2; i++)
j++;
這里有一個(gè)符號(hào)++,這個(gè)符號(hào)表示加1的意思。假如j最開始初值是0,首先執(zhí)行表達(dá)式1的i=0,然后判斷i小于2這個(gè)條件成立,就執(zhí)行一次j++,j的值就是1了,然后經(jīng)過(guò)表達(dá)式3后,i的值也變成1了,再判斷條件2,還是符合,j再加一次,j變成2了,表達(dá)式3后i也變成2了,再判斷條件2,發(fā)現(xiàn)2<2這個(gè)條件不成立了,所以就不會(huì)再執(zhí)行j++這個(gè)語(yǔ)句了。所以執(zhí)行完畢后,j的值就是2。
for語(yǔ)句除了這種標(biāo)準(zhǔn)用法,還有幾種特殊用法,我們上節(jié)課的閃爍小燈對(duì)for語(yǔ)句的用法for(i=0; i<30000; i++) ;我們沒有加(需要執(zhí)行的語(yǔ)句),沒有加的話,就是什么都不操作。但是什么都不操作的話,我們這個(gè)for語(yǔ)句循環(huán)判斷了30000次,程序執(zhí)行是會(huì)用掉時(shí)間的,所以就起到了延時(shí)的作用。比如我們把30000改成20000,會(huì)發(fā)現(xiàn)燈的閃爍速度加快了,因?yàn)槲覀冄訒r(shí)時(shí)間短了,當(dāng)然,我們?cè)摮?0000后會(huì)發(fā)現(xiàn),閃爍慢了。但是有一點(diǎn)特別注意,C語(yǔ)言的延時(shí)時(shí)間是不能通過(guò)程序看出來(lái)的,也不會(huì)成比例,比如假如我們這個(gè)for循環(huán)里邊的表達(dá)式2使用30000的時(shí)候延時(shí)3秒的話,那么延時(shí)40000的時(shí)候,可能不會(huì)是4秒,那如何看實(shí)際延時(shí)時(shí)間呢,一會(huì)我再教大家。
還有一種寫法for( ; ; ),這樣寫后,這個(gè)for循環(huán)就變成了死循環(huán)了,就不停的執(zhí)行(需要執(zhí)行的語(yǔ)句),和我們前邊講的while(1)的意思是一樣的。那while這個(gè)語(yǔ)法是如何用的呢?
編輯:admin 最后修改時(shí)間:2018-05-25