找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:277999 發(fā)表于 2018-1-20 13:24 來自觸屏版 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
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)的意思是一樣的了
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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