1樓:碧血玉葉花
for裡面分三個部分,都是表示式
第一個部分的表示式的值是版被丟棄的。i=0,t=0的值是0,不過這個權0沒有用
第二個部分的表示式的值是用來判斷是否繼續迴圈的,0表示不繼續,其他表示繼續
第三個部分的表示式的值也是被丟棄的。
所以所謂什麼初值啊啥的,只是一般的習慣用法,不按照這個也沒關係。你甚至可以這麼寫
i = 1;
for(; i <= 5; ++i) printf("%d", i);
或者i = 0;
for(; i++, i <= 5; printf("%d", i));
總之滿足上面說的三個要求就可以了。裡面要出現函式呼叫啊什麼的也沒有關係
不過因為寫出來**太詭異而被看**的人罵就得不償失了
c語言 為什麼for(;;)是死迴圈?求大神解釋
2樓:碧海風雲
c語言中來for迴圈包含三個部分:初自始化、條件、遞增for (initialization; condition; afterthought)
初始化是宣告(或者賦值)任何需要的變數的動作。如果你要使用多個變數,則變數的種類要一致。條件的部分則是檢查是否離開這個迴圈,也就是讓程式碼往下執行。
如果條件判斷為假,則離開迴圈。遞增在每跑一次迴圈都會重複執行一次。
for(;;),這個語句中缺少迴圈終止的條件,自然就是死迴圈了
c語言中for迴圈怎麼理解?
3樓:楓璽
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迴圈中的"單次表示式"、"條件表示式"和"迴圈體語句"都是選擇項, 即可以預設成只剩下「;」的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。
4樓:guxuecan劍
以題目中的程式為例子:
for(i=0;i<10;i++)
a+=i;
for迴圈裡面的三個引數為三個表示式:
第一個控制表示式」i=1「在迴圈開始時執行,且只執行一次。
第二個控制表示式必須是一個邏輯表示式,且在每次迴圈迭代開始重複前計算。
第三個控制表示式」i++「在每一次迴圈迭代結束時執行。
只有第二個邏輯表示式為真時,語句塊內的語句才執行。
5樓:匿名使用者
1、for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。
2、下面舉例說明for語句的使用方法:
int i;
for(i=0; i<3; i++)
// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作
// 上面的for語句就是控制輸出3次helloworld
6樓:匿名使用者
a+=i就是a=a+i,
for迴圈語句就是:i=0時,a=a+0;再執行i++,即i=1;再執行a=a+i,一直到i=9,為止,能看懂嗎?
7樓:匿名使用者
初始時,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不成立,迴圈結束
8樓:匿名使用者
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;
9樓:匿名使用者
for從i=0開始,如果i<10,進入迴圈體 a+=i;結束之後,i++;然後繼續判斷i<10,然後進入迴圈體,a+=i。。。。。如此迴圈,最後得到a=0+1+2+……+9
10樓:
你只要搞清楚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不成立,迴圈結束
11樓:匿名使用者
第一次i=0,a=a+i,後面依次i=1,2,3。。。9,a=a+i;
c語言問題,如下圖 for 迴圈中的迴圈條件就已經是i<=n-1了,為什麼還要判斷if(i
12樓:sunny鞦韆墜
舉個例子
n=3第一遍迴圈 i=2,i<=2 執行抄bai if判斷...
第二遍迴圈du i=3 跳出迴圈
這個時候,
zhiidao素數
n=8第三遍迴圈 i=4,判斷if是true,跳出迴圈4<8所以8是素數
總結:在是素數情況下會迴圈到n-1,並且在i=n時結束,所以判斷i是否小於n
13樓:聽不清啊
這是因為如果沒有發生break退出;則退出時的i已經超過n-1,即i=n了。
所以在這裡用i 14樓:匿名使用者 for語句的迴圈體只包括他後面緊跟的那一條if語句,並不包括你說的if(i 15樓:匿名使用者 首先素數只能被1和他本身整除如果n為5迴圈結束,i就等於6在判斷if(i求採納
求解釋這個c語言程式大括號內每句什麼意思 16樓: void fun(*** ***) // 函式體開始和bai結尾du struct s; // 結構定義開zhi始和結 dao尾 for (xx,xx,***) // 迴圈體的開內始和結尾, 只有一句**的話可容 以省略 if(***)else // if語句塊的開始和結尾, 只有一句**的話可以省略 第一個 include main printf s d s 第二個 include main printf s g n s 如果的你的編譯器不支援漢語就把它改成別的我編譯了一下沒問題 這類問題用for迴圈一次一次迴圈 第一個 include main printf sum d n sum 第二個 i... for迴圈程式語言中的語句之一,用於迴圈執行。for迴圈是開界的,它的一般形式為 for 條件表示式 語句 初始化通常是一個賦值語句,它用來給迴圈控制變數賦初值 條件表示式是一個關係表示式,它決定什麼時候退出迴圈 增量定義迴圈控制變數每迴圈一次後 按什麼方式變化。這三個部分之間用 分開。例如 for... int i 0 i 0 i i 1 system.out.println i 輸出baidu1換行zhi for int j 0 j 2 j system.out.println j 以下是執 行過dao程 j 0 j 0 j 2成立,內開始迴圈 輸出0換行 j j 1 j 2成立,繼續迴圈 輸出1...c語言迴圈題目中的一點問題,C語言迴圈題目中的一點問題
for迴圈的介紹,C語言中for迴圈怎麼理解?
i 和for迴圈中的i,在C語言的for迴圈中,i 和 i有區別嗎,i 是不是意味著先用i的指去做判斷再自身 1?