找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2197|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

C語(yǔ)言for循環(huán)語(yǔ)句

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:277999 發(fā)表于 2018-1-20 13:24 來(lái)自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
C語(yǔ)言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í)行(需要執(zhí)行的語(yǔ)句);再執(zhí)行表達(dá)式 3.....一直到表達(dá)式 2 不成立時(shí),跳出循環(huán)繼續(xù)執(zhí)行循環(huán)后面的語(yǔ)句。舉個(gè)例子:
for( i=0; i<2; i++ ){
j++;
}
這里有一個(gè)符號(hào)++,我們剛剛講過(guò)了。假如 j 最開(kāi)始初值是 0,首先執(zhí)行表達(dá)式 1 的 i=0,然后判斷 i 小于 2 這個(gè)條件成立,就執(zhí)行一次 j++,j 的值就是 1 了,然后經(jīng)過(guò)表達(dá)式 3 后,i的值也變成 1 了,再判斷條件 2,還是符合,j 再加一次,j 變成 2 了,再經(jīng)過(guò)表達(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++) ;我們沒(méi)有加(需要執(zhí)行的語(yǔ)句),沒(méi)有加的話,就是什么都不操作。但是什么都不操作的話,我們這個(gè) for 語(yǔ)句循環(huán)判斷了 30000 次,程序執(zhí)行是會(huì)用掉時(shí)間的,所以就起到了延時(shí)的作用。比如我們把 30000 改成 20000,會(huì)發(fā)現(xiàn)燈的閃爍速度加快了,因?yàn)槲覀冄訒r(shí)時(shí)間短了,當(dāng)然,我們改成 40000 后會(huì)發(fā)現(xiàn),閃爍慢了。但是有一點(diǎn)特別注意,C 語(yǔ)言的延時(shí)時(shí)間是不能通過(guò)程序看出來(lái)的,也不會(huì)成比例,比如我們這個(gè) for 循環(huán)里邊的表達(dá)式 2 使用 30000 時(shí)延時(shí)是 3 秒的話,那么改成 40000 的時(shí)候,可能不是 4 秒,那如何看實(shí)際延時(shí)時(shí)間呢,一會(huì)我再教大家。

還有一種寫(xiě)法 for( ; ; ),這樣寫(xiě)后,這個(gè) for 循環(huán)就變成了死循環(huán)了,就不停的執(zhí)行(需要執(zhí)行的語(yǔ)句),和while(1)的意思是一樣的了
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表