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