1樓:紅魚清單
for(a;b;i++)
第一步:a
第二步:b true
第三步:迴圈體1
第四步:i++
第五步:b true
第六步:迴圈體2
第七步:i++
第八步:b 不成立
第九步:迴圈結束
迴圈體執行2次,而i++(表示式3)執行了2次答案選c
2樓:蠟筆小新蘭
n-1次,表示式2判斷不合適,此次迴圈就退出了
3樓:程式設計那點事
假設for(i=0;i<5;i++){}
是這樣走的:
先是第一句,把0賦給i
然後比較,執行迴圈體,然後i加1(i==1)比較,成立,執行迴圈體,然後i加1(i==2)比較,成立,執行迴圈體,然後i加1(i==3)比較,成立,執行迴圈體,然後i加1(i==4)比較,成立,執行迴圈體,然後i加1(i==5)比較!不成立,迴圈結束!
所以選c
4樓:鬆睿博
答案是c
假如for(i=o.i<1,i++)
就迴圈一次,計算一次。
5樓:
public class temp }}
輸出五句話,迴圈體執行五次
但是因為要停止迴圈必須要直到i不滿足條件,也就是表示式2,i=5的時候,不滿足條件了,因此i++不用再執行了。
五次。應該選c
若用"for(表示式1;表示式2;表示式3)語句;"設計的迴圈語句共迴圈了n次,表示式2被求了幾次
6樓:旅初彤
表示式2求的次數就是迴圈次數,也就是n次
7樓:物理公司的
表示式2是條件,所以也是n次
對於for(表示式1;表示式2;表示式3)語句來說,continue語句意味著轉去執行表示式2. 對嗎?
8樓:匿名使用者
for語句的順序是
表示式1->
表示式2 -> 程式 -> 表示式3->
表示式2 -> 程式 -> 表示式3->
表示式2 -> 程式 -> 表示式3->
。。。。。
continue的作用是 跳過沒有執行完的“程式”,執行表“達式3”
9樓:
先執行表示式3,再執行表示式2
哈哈,按你這樣的話就會有死迴圈的情況了~~
10樓:匿名使用者
我個人覺得這樣可能比較好理解點!
for語句是整體看的
當沒有continue時,for語句就迴圈的運算很多次,直到不滿足條件退出。
如果你途中加了continue 的話 。
滿足條件使用contiune 時那一次就跳過執行下一次。
如果是break 的話就是跳出迴圈了,不執行for語句了。
而continue只是跳過那一次,是否跳出迴圈還得看條件!!!
c語言中for迴圈怎麼理解?
11樓:楓璽
for迴圈是程式語言中一種開界的迴圈語句,而迴圈語句由迴圈體及迴圈的終止條件兩部分組成,for迴圈一般形式為:for(單次表示式;條件表示式;末尾迴圈體)。
執行的中間迴圈體可以為一個語句,也可以為多個語句,當中間迴圈體只有一個語句時,其大括號{}可以省略,執行完中間迴圈體後接著執行末尾迴圈體 。執行末尾迴圈體後將再次進行條件判斷,若條件還成立,則繼續重複上述迴圈,當條件不成立時則跳出當下for迴圈。
for迴圈例項:
# include
int main(void)
printf ("sum = %d\n", sum);
return 0;}
假如 n=4,當 i=1 時,m=1,sum=1。當 i=2 時,m=1×2,sum=1+1×2。當 i=3 時,m=1×2×3,sum=1+1×2+1×2×3。
當 i=4 時,m=1×2×3×4sum=1+1×2+1×2×3+1×2×3×4。
擴充套件資料
for迴圈注意事項:
1、for迴圈的**不僅可以寫一句,也可以寫多句(保證第二部分的返回值是布林值)
2、for迴圈的三個部分都可以省略。第一部分省略表示不初始化;第二部分省略表示不判斷,預設值為true;第三部分省略表示省略後什麼也不執行。
3、小迴圈在外,大迴圈在內、
4、如果for迴圈有條件判斷,可以將條件放到for迴圈外。
5、 for迴圈中的"單次表示式"、"條件表示式"和"迴圈體語句"都是選擇項, 即可以預設成只剩下“;”的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。
12樓:guxuecan劍
以題目中的程式為例子:
for(i=0;i<10;i++)
a+=i;
for迴圈裡面的三個引數為三個表示式:
第一個控制表示式”i=1“在迴圈開始時執行,且只執行一次。
第二個控制表示式必須是一個邏輯表示式,且在每次迴圈迭代開始重複前計算。
第三個控制表示式”i++“在每一次迴圈迭代結束時執行。
只有第二個邏輯表示式為真時,語句塊內的語句才執行。
13樓:匿名使用者
1、for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。
2、下面舉例說明for語句的使用方法:
int i;
for(i=0; i<3; i++)
// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作
// 上面的for語句就是控制輸出3次helloworld
14樓:匿名使用者
a+=i就是a=a+i,
for迴圈語句就是:i=0時,a=a+0;再執行i++,即i=1;再執行a=a+i,一直到i=9,為止,能看懂嗎?
15樓:匿名使用者
初始時,i=0,開始迴圈。
第一步:a+=i;然後i++,i變成1,1<10,繼續迴圈;
第二步:a+=i;然後i++,i變成2,2<10,繼續迴圈;
。。。第九步:a+=i;然後i++,i變成9,9<10,繼續迴圈;
第十步:a+=i;然後i++,i變成10,10<10不成立,迴圈結束
16樓:匿名使用者
a相當於一個累加器 每次都用a和i的值相加 然後再把結果存在a中 ,直到i=10為止
a=a+0;
a=a+1;
a=a+2;
a=a+3;
a=a+4;
a=a+5;
a=a+6;
a=a+7;
a=a+8;
a=a+9;
17樓:匿名使用者
for從i=0開始,如果i<10,進入迴圈體 a+=i;結束之後,i++;然後繼續判斷i<10,然後進入迴圈體,a+=i。。。。。如此迴圈,最後得到a=0+1+2+……+9
18樓:
你只要搞清楚for迴圈3個語句的含義應該就懂了第一個是初始化,第二個是條件語句,第三個是自處理語句;
迴圈時第一個語句只使用一次,然後判斷是否滿足第二個語句,滿足則進入迴圈體執行a+=i,然後i自加1,再判斷是否滿足第二個語句,滿足則進入迴圈體執行a+=i,一直到i不滿足i<10了,迴圈跳出。
開始時,i=0,開始迴圈。假設a初始化為0,第一步:a+=i;然後i++,a=0,i變成1,1<10,繼續迴圈;
第二步:a+=i;然後i++,a=1,i變成2,2<10,繼續迴圈;
。。。第九步:a+=i;然後i++,a=36,i變成9,9<10,繼續迴圈;
第十步:a+=i;然後i++,a=45,i變成10,10<10不成立,迴圈結束
19樓:匿名使用者
第一次i=0,a=a+i,後面依次i=1,2,3。。。9,a=a+i;
c語言for(表示式1,表示式2,表示式3)語句 中表示式2為空語句則變成死迴圈,那麼這裡的空語句為真還是假
20樓:倒黴熊
這裡“表示式2為空語句則變成死迴圈”這樣說不完整正確。
例如下面這個迴圈:
int i=0;
for(i=0;;i++)
這就不是死迴圈,這裡將for的第二個表示式的判斷移至迴圈體內,藉助break來結束迴圈。
這裡的空語句可以理解為永真,因為沒有進行任何的判斷,所以可以這樣理解。
21樓:匿名使用者
你都說了變成死迴圈了。那你告訴我是真還是假呢。。
肯定只有是真,for迴圈裡面的內容才會執行啊。
22樓:匿名使用者
首先for語句中各表達
式是通過分號隔開的,通過表示式1確定迴圈初值,表示式2確定判斷迴圈條件,表示式3可用於設定增值;現表示式2為空語句,表示不做迴圈判斷直接執行迴圈體內語句,也可以認為是表示式2預設為真。
23樓:匿名使用者
糾正一個錯語: for(表示式1; 表示式2; 表示式3),裡面是分號,不是逗號。
24樓:瑞峰
給的表示式太原始,最好拿出幾個不同的例子出來
25樓:
你就好像問,這裡沒有數,那麼這個沒有的數是大於零,還是不大於零。
26樓:匿名使用者
for(;;)則變成死迴圈,空語句還有真和假?
假定迴圈語句為「for(int i 0 in iS從迴圈頭部可以看出,迴圈體S語句將被執行次
i從0到n 1,共n 1 1 n個數。因此迴圈體s語句將被執行n次選c c n次。因為迴圈裡的 int i 0 如果是int i 1 那就是n 1次。迴圈語句 for i 0 i n i s 中迴圈體s被執行的次數為 瘋狂的門 n 1 次,迴圈語句 for i 0 i n 1次 0 n 你自己算算 ...
請問for迴圈中的switch語句中case後用break還是continue??區別是什麼
鐮刀鐵錘遊騎兵 break是結束並跳出迴圈語句,continue是結束本次迴圈然後進入下次迴圈 迴圈的定義是程式段執行完了以後,再次判斷條件,若條件為真,則繼續執行該程式段。而在switch結構當中,只是該程式段執行完了之後,就繼續執行下面的語句。因此很明顯switch結構不是迴圈。迴圈有重複 反覆...
c 的迴圈語句中的判斷表示式問題
k 0是賦值表示式,左值如果等於0,整個表示式的值就是0。按照你的寫法,在第一次執行while時,判斷條件為0就會跳出迴圈,最後還是輸出0。如果改為k 0,這就是邏輯表示式,因為k的值是 20,不等於0,所以該邏輯表示式的值還是為0,第一次時while還是直接跳出迴圈,最後輸出的是 20。如果改為k...