c語(yǔ)言死循環(huán)下條件語(yǔ)句的使用?
有三種循環(huán)。
在開(kāi)始之前,我需要解釋一下dowhilefor是C語(yǔ)言標(biāo)準(zhǔn)定義的32個(gè)關(guān)鍵字之一。
它們不是函數(shù)。
1.while循環(huán)
while循環(huán)
傳播
有一點(diǎn)要注意的是,不管是哪種循環(huán),都要注意條件變量的范圍。比如我們把for循環(huán)的變量I的初始化放在for循環(huán)之外,它當(dāng)然可以在循環(huán)執(zhí)行后繼續(xù)使用I的值。但是如果我們有一個(gè)多層循環(huán),如果I是內(nèi)循環(huán)的條件變量,那么for循環(huán)之外的初始化會(huì)導(dǎo)致for循環(huán)的第二次執(zhí)行,這樣倒I就無(wú)法復(fù)位。
首先解釋while循環(huán),然后解釋while結(jié)構(gòu)。
while(x)
{…}
首先要知道循環(huán)的條件為真。在C語(yǔ)言中,true表示除0以外的所有值都為真。
例如,bool類型true或1,2,3,-1,-2,-3等。
同時(shí)需要注意的是,while()中的x不僅代表一個(gè)數(shù)的值,還可以是一個(gè)表達(dá)式。
例如,while(truex)
另外需要注意的是,在while()的循環(huán)中,其循環(huán)體可以有花括號(hào)將循環(huán)體括起來(lái)執(zhí)行,循環(huán)體中的所有語(yǔ)句。也可以不用花括號(hào),在這種情況下,while只循環(huán)while()之后的第一條語(yǔ)句。
例如
intn3
當(dāng)(名詞)
printf(#34%d
#34,n-)
一個(gè)
2
三
一個(gè)
2
三
上述程序的答案是321。
printf(#34%d
#34,n–)當(dāng)這個(gè)語(yǔ)句執(zhí)行一個(gè)循環(huán)時(shí),它會(huì)對(duì)n執(zhí)行一個(gè)自減量函數(shù)。
注意while(1){}這是無(wú)限循環(huán)的表達(dá)式之一。
接下來(lái),解釋for循環(huán)。
理解for循環(huán)時(shí),首先要理解逗號(hào)運(yùn)算符,它是從左到右執(zhí)行的,優(yōu)先級(jí)最低。
比如inta(200,300)
這是a的值是300;
intx(y3,(zy3))
這是x7。
然后注意for循環(huán)的兩個(gè)分號(hào)中間的內(nèi)容。
For(初始值;條件;值運(yùn)算)
如果(){…}的分號(hào)中的內(nèi)容為空,它將成為一個(gè)無(wú)限循環(huán)。
for(inti1,printf(#34he
#34)ilt10i)
{}
for(printf(#34he
#34),inti1ilt10i)
{}
一個(gè)
2
三
四
一個(gè)
2
三
四
以上兩種寫(xiě)法都不能編譯,因?yàn)槲覀冊(cè)诘谝粋€(gè)分號(hào)前用了逗號(hào)運(yùn)算符,意味著兩邊的初始化語(yǔ)句和輸出語(yǔ)句不能被逗號(hào)表達(dá)式共享。得救了。
所以在這種情況下我們必須把I的初始化放在for循環(huán)之外。
inti1
tfor(printf(#34he
#34)ilt10i)
t{t}
一個(gè)
2
三
一個(gè)
2
三
下面我展示了兩個(gè)關(guān)于while循環(huán)和for循環(huán)的函數(shù),用來(lái)計(jì)算輸入到計(jì)算機(jī)中的數(shù)字的總和。
voidmain()
{
色調(diào)值
色調(diào)總和0
twhile(scanf(#34%d#34,ampval))
t{
ttsumsum值
t}
tprintf(#34%d
#34,總和)
}
voidmain()
{
色調(diào)值
色調(diào)和0
tfor(scanf(#34%d#34,ampval))
t{
ttsumsum值
t}
tprintf(#34%d
#34,總和)
}
一個(gè)
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
19
20
21
一個(gè)
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
19
20
21
關(guān)于scanf函數(shù)返回值的用法,本文末尾有一些解釋。
c語(yǔ)言語(yǔ)句while(!i0);何時(shí)陷入死循環(huán)?A.i0?
這是個(gè)邏輯問(wèn)題,我!0表示I不是0,那么i0是假的,那么!(i0)是真的。
當(dāng)while條件為真時(shí),它將繼續(xù)循環(huán)。