1樓:詛咒
for迴圈程式語言中的語句之一,用於迴圈執行。for迴圈是開界的,它的一般形式為: for(; 《條件表示式》; ) 語句; 初始化通常是一個賦值語句, 它用來給迴圈控制變數賦初值; 條件表示式是一個關係表示式, 它決定什麼時候退出迴圈; 增量定義迴圈控制變數每迴圈一次後 按什麼方式變化。
這三個部分之間用;分開。 例如:for(i=1; i<=10; i++) 語句; 上例中先給i賦初值1, 判斷i是否小於等於10, 若是則執行語句, 之後值增 加1。
再重新判斷, 直到條件為假, 即i>10時, 結束迴圈。for語句比while語句和do-while都要靈活,是一種功能更大、更常用的迴圈語句,它的一般語法格式為:for(表示式1;表示式2;表示式3)其中,表示式可以省略,但是分號不可省略。
for迴圈並沒有嚴格規定三個語句必須是什麼型別的語句,例如表示式1也可以寫其他可執行的**,這條**將必執行且只執行一次;表示式2每次迴圈前都會執行,並判斷它的返回值是否為true;表示式3是每次迴圈體執行完後再執行的**。
c語言中for迴圈怎麼理解?
2樓:楓璽
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迴圈中的"單次表示式"、"條件表示式"和"迴圈體語句"都是選擇項, 即可以預設成只剩下「;」的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。
3樓:guxuecan劍
以題目中的程式為例子:
for(i=0;i<10;i++)
a+=i;
for迴圈裡面的三個引數為三個表示式:
第一個控制表示式」i=1「在迴圈開始時執行,且只執行一次。
第二個控制表示式必須是一個邏輯表示式,且在每次迴圈迭代開始重複前計算。
第三個控制表示式」i++「在每一次迴圈迭代結束時執行。
只有第二個邏輯表示式為真時,語句塊內的語句才執行。
4樓:匿名使用者
1、for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。
2、下面舉例說明for語句的使用方法:
int i;
for(i=0; i<3; i++)
// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作
// 上面的for語句就是控制輸出3次helloworld
5樓:匿名使用者
a+=i就是a=a+i,
for迴圈語句就是:i=0時,a=a+0;再執行i++,即i=1;再執行a=a+i,一直到i=9,為止,能看懂嗎?
6樓:匿名使用者
初始時,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不成立,迴圈結束
7樓:匿名使用者
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;
8樓:匿名使用者
for從i=0開始,如果i<10,進入迴圈體 a+=i;結束之後,i++;然後繼續判斷i<10,然後進入迴圈體,a+=i。。。。。如此迴圈,最後得到a=0+1+2+……+9
9樓:
你只要搞清楚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不成立,迴圈結束
10樓:匿名使用者
第一次i=0,a=a+i,後面依次i=1,2,3。。。9,a=a+i;
C語言中for迴圈語句,c語言中for語句是怎麼用的
for 語句包括三個表示式,第一個和第三個可以省略,省略第一個的意思是在for之前已經對變數初始化,例如i 0 for i 5 i 和for i 0 i 5 i 意思相同 第三個省略的意思也很明顯,原來的i 可以在for迴圈語句中實現,例如 for i 0 i 5 i 和for i 0 i 5 i ...
C語言for迴圈賦值問題,C語言中用for迴圈賦值陣列
在第一次迴圈以後,漏掉了將j清零的操作,這樣在i 1與i 2時,j 4,不會進入輸出的第二級迴圈 c語言中用for迴圈賦值陣列 include main a 0 到a 9 這10個數依次賦值0到9for i 0 i 10 i a i i a 20 到a 29 這10個數全部賦值成9for i 20 ...
在c語言中for迴圈中的迴圈條件是若陣列ai為空
針對字元陣列 for int i 0 a i 0 i 或for int i 0 a i 0 i 注意 這種方式存在越界的風險,因為如果陣列中沒有 0 的字元將會發生越界,最好用sizeof獲取陣列大小,然後再判斷是否為 0 這樣,當迴圈到陣列結束時若任然沒有 0 也會停止迴圈 字元應該加單引號,也就...