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