1樓:匿名使用者
輸入5後,執行第一個for()語句順序是i=1;i<=a; 接著執行{}中的語句 {}中又有一個for()語句
執行第二個for()語句順序是j=1;j<=a; 因為1<5 執行printf()語句 輸出* 因為for()為迴圈語句那輸出*後執行j++ 使i的值加1等於2,在執行j<=a 就這樣執行下去,直到j=6 不滿足j<=a 是才停止迴圈.第二個for迴圈停止後執行printf("\n");語句換行,然後執行第一個for語句中的i++使i加1等於2,執行i<=a,然後再執行第二個for語句,就這樣迴圈執行下去,直到i=6不滿足i<=a整個for迴圈結束.
2樓:匿名使用者
這是雙重迴圈
外層 i 確定行數為5
內層 j 確定每行為5 個*
3樓:匿名使用者
for(i = 1; i <= a; i ++)表示從i=1開始,只要i <=a,則每迴圈一次,i自動加1,a = 5表示該迴圈會執行5次
裡面的j迴圈也是一樣,
j迴圈的功能就是列印5個*,然後列印回車,就是一行外面的迴圈執行5次,就是一共5×5的*號矩陣了
4樓:匿名使用者
先是一行5個*加回車,然後這樣的5行
5樓:匿名使用者
凡是迴圈,都必須要有一個結束迴圈的條件 (i<=a),我們常常藉助一個變數 (i=1) 來控制迴圈次數,每執行一次迴圈就改變該變數的值(i++)。組合起來,就成了 for(i=1;i<=a;i++)
第一次迴圈,i = 1,執行迴圈體後 i = 2;
第一次迴圈,i = 2,執行迴圈體後 i = 3;
……每次迴圈都判斷 i 是否 小於等於 a (比如 5),如果是就繼續迴圈,否則退出。
c語言中for迴圈怎麼理解?
6樓:楓璽
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迴圈中的"單次表示式"、"條件表示式"和"迴圈體語句"都是選擇項, 即可以預設成只剩下「;」的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。
7樓:guxuecan劍
以題目中的程式為例子:
for(i=0;i<10;i++)
a+=i;
for迴圈裡面的三個引數為三個表示式:
第一個控制表示式」i=1「在迴圈開始時執行,且只執行一次。
第二個控制表示式必須是一個邏輯表示式,且在每次迴圈迭代開始重複前計算。
第三個控制表示式」i++「在每一次迴圈迭代結束時執行。
只有第二個邏輯表示式為真時,語句塊內的語句才執行。
8樓:匿名使用者
1、for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。
2、下面舉例說明for語句的使用方法:
int i;
for(i=0; i<3; i++)
// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作
// 上面的for語句就是控制輸出3次helloworld
9樓:匿名使用者
a+=i就是a=a+i,
for迴圈語句就是:i=0時,a=a+0;再執行i++,即i=1;再執行a=a+i,一直到i=9,為止,能看懂嗎?
10樓:匿名使用者
初始時,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不成立,迴圈結束
11樓:匿名使用者
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;
12樓:匿名使用者
for從i=0開始,如果i<10,進入迴圈體 a+=i;結束之後,i++;然後繼續判斷i<10,然後進入迴圈體,a+=i。。。。。如此迴圈,最後得到a=0+1+2+……+9
13樓:
你只要搞清楚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不成立,迴圈結束
14樓:匿名使用者
第一次i=0,a=a+i,後面依次i=1,2,3。。。9,a=a+i;
c語言 求大神解釋 for(; ;)為什麼是無限迴圈的?
15樓:劉子超1號
該函式等同於while(1),由於執行for迴圈for(初始條件;判斷條件;結束時執行)的判斷條件沒寫,意味著判斷結果始終為真,沒有跳出迴圈的契機,就是無限迴圈。
16樓:zz迎風
for(a;b;c);b的位置是判斷迴圈進行的條件,若b省略,則迴圈一直進行即死迴圈
17樓:玉蘭花瓣巨蟹座
c語言學了,快全部還給老師了
18樓:匿名使用者
悲劇,因某次面試,用的 for(; ;)迴圈,直接被面試官pass...
c語言for( ; ; )這個語句怎麼理解?
19樓:風千觴
for語句的一般形式為:
for(表示式1;表示式2;表示式3)
語句3個表示式的主要作用是:
表示式1:設定初始條件,只執行一次。可以為零個、一個或多個變數設定初值。
表示式2:是迴圈條件表示式,用來判斷是否繼續迴圈。在每次執行迴圈體前先執行此表示式,決定是否繼續執行迴圈。
表示式3:作為迴圈的調整,例如使迴圈變數增值,它是在執行完迴圈體後才進行的。
所以for語句可以這樣理解
for(迴圈變數賦初值;迴圈條件;迴圈變數增值)
語句舉個例子來說
for(i=1;1<=100;i++)
sum=sum+i;
接下來來說for(;;)這個語句,第一個分號前為空,即沒有賦初始值,為了能正常執行迴圈,應要在for語句之前給迴圈變數賦初始值。第二個分號前為空,即不設定任何表示式作為迴圈條件,那此時迴圈無終止的進行下去。第二個分號後為空,即執行for語句時會一直執行下去,永無終止。
其實for(;;)語句即是不設初值,不判斷條件,迴圈變數不增值,無止盡的執行迴圈體語句。不過,顯然這個是沒有實用價值的。
while(1)與for(;;)等價。
20樓:灬愛爬樹的魚
for(表示式1;表示式2;表示式3)
這三個表示式,可以都有,也可以都沒有,也可以由任意的一項或兩項,這就是for的靈活性所在
解釋一下三個表示式的含義
表示式1,這個一般是初始化條件,如i=1。在第一個分號之前,可以用一個,也可以好幾個,用逗號隔開
表示式2,這個事迴圈條件,滿足就繼續執行迴圈體,不滿足就跳出迴圈。這裡一般是個邏輯判斷語句。
表示式3,這個一般是改變迴圈條件的地方,如i++。
執行順序是,先初始化,也就是運算表示式1,初始化完成後,這個表示式就沒有用處了。
接著判斷是否滿足迴圈條件,也就是運算表示式2,如果是真,就執行迴圈體。
最後,運算表示式3,改變迴圈條件。這樣第一次迴圈完成。
接著第二次迴圈,也就是運算表示式2,看是否滿足迴圈條件,如果表示式2還滿足(也就是真),接著執行迴圈體。完成後運算表示式3,。
如此往復迴圈,直到不滿足表示式2後,跳出迴圈
說白了就相當於沒有迴圈條件,既然沒有迴圈條件就是一直滿足,所以是無限迴圈
21樓:
這個其實就是個無限迴圈,跟while(1){}一樣的效果,一般會在迴圈內部採用break,goto,以及return來結束迴圈。望採納
22樓:匿名使用者
這個是死迴圈,最好寫成while(1){}
你把for(;;)換成while(1)就可以了,意思就是不停執行for後面{}裡面的**,**的具體意思嗎,不太瞭解。除非你提供函式原**
23樓:一路的淚
for(判斷條件1;判斷條件2;執行語句)
24樓:東魏巍
無限迴圈後面的,直到執行break停止
25樓:留陽澤
??你想問for語句中都為空怎麼理解 ?
26樓:i_拋物線
無限迴圈,死迴圈。。
c語言中for迴圈怎麼理解?
27樓:英格拉姆
你只要搞清楚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不成立,迴圈結束。
根據具體問題型別,進行步驟拆解/原因原理分析/內容拓展等。
具體步驟如下:/導致這種情況的原因主要是……
誰能解釋下這條語句的含義(c語言)
設n n的最左邊數字是a,則必然存在不等式a 10 p n n a 1 10 p對不等式中的各項取以10為底的對數,得到 p lga nlgn p lg a 1 所以lga nlgn p 因為a是個一位數,所以0 lga 1,因此p就是nlgn取下整,所以 lga nlgn nlgn 這裡的表示取下...
c語言中的for語句和ni語句,C語言中的for語句和n i 語句
n 這種形式是字尾自增1運算,表示先使用n值,然後n n 1自增1 i這種形式是字首自增1運算,表示先對i進行i i 1自增1,然後再使用i值 如果是單獨執行這樣的語句,兩者沒有區別,如 for i 0 i 輸出0 9 與for n 0 n 輸出0 9 這兩者都會迴圈10次,沒有差別。而下面的語句 ...
關於C語言IF語句
break結束迴圈,不在執行了。i 也不執行。return跳出迴圈進入下一次迴圈,i 也不執行還有這2句話 如果都需要if判斷 建議你寫到 規範 看起來也清楚好懂 i 0 while 1 1 break跳出迴圈,不在執行了。c 27成立,就break了,不成立i 跳出迴圈了 不執行了 當c 27時就...