C語言FOR語句嵌套
不需要大括號的,因為都是單語句,直接接再FOR循環后了,如果FOR語句后帶有幾個語句的話就需要大括號了,FOR循環的嵌套是底層首先有變化的
首先:第一個for循環k=0,然后第二個for循環n=0,然后就是第三個FOR循環m分別等于0和1輸出
其次:第一個FOR循環k=0,第二個for循環n=1,第三個for循環m分別等于0和1輸出
第三:第一個for循環k=1,第二個for循環n=0,第三個for循環m分別等于0和1輸出
第四:第一個for循環k=1,第二個for循環n=1,第三個for循環m分別等于0和1輸出
輸出結果就是:0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1
每三個數為一組來看就比較清楚了,還有注意的就是你的for循環的順序是k,n,m,而輸出的順序是m,n,k
注意看一下就可以了
FOR語句嵌套
首先聲明一下:C語言不是很懂。本人在學Java。
根據嵌套for循環語句,最為流行的就是九九乘法表,代碼如下:
for(int i=1;i<10;i++)
{
for(int j=1;j<10;j++)
{
printf("%d%d",i*j);
}
printf(\n);//C語言的換行是這么寫的嗎?!
}
不知道printf語句寫對了沒?沒有環境編譯。
給您解釋下流程:
第一次for循環,i初始值為1,它進入里面內套的for循環,內套的for循環便開始了,結束后才會繼續回到外面的for語句。
那我們來看里面那個for循環:
j從1一直++到9后,程序會看到條件“j<10”時,循環就不再繼續了。就從內套的for循環中跳出來,下一句是換一行,然后“}”表示i=1的這次過程結束了,i++,返回進入下一個循環(即i=2),就這樣,i一直++到9后,因為i<10,所以for循環結束。程序結果就是:
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
上面是java語言編譯運行復制過來的:)
c語言 for循環嵌套
循環的過程是先執行第一個大循環for(i=0;i<3;i++),此句中先給i賦值0,在判斷條件i<3是否成立賦值后的i=0了,所以條件成立,成立則做下面一條語句,就是for(j=0;j<4;j++),同樣這個循環還是先賦值j=0,在進行判斷j<4是否成立,成立就再做下一句。
此時scanf語句后面已經沒有語句了,所以程序就會跳上去到第二個循環中,即for(j=0;j<4;j++)這句話中,可能你會問為什么不是第一句(因為在循環嵌套中只有循環體執行完成所以的任務后才執行下面的語句,就是for(j=0;j<4;j++)要全部執行完畢才能執行后面的語句。即j<4條件為假時跳出)跳到for(j=0;j<4;j++)這個循環體以后。
就會自動加一,就是執行j++(注:在這個for里面的j=0不再執行),這個賦值過程只在開始時執行。所以 j 這個循環要執行到條件不滿足時停止,即最后j的值要>=4.。
這樣 j 這個循環就結束了。結束后又跳到了第一句。
因為第二個for是包含在第一個for 里的。只有第一個for 里包含的語句全部執行完后第一個for就再一次執行i++,i 變成了2,判斷條件i<3成立,就再執行下一句,所以下面的for(j=0;j<4;j++)又要再一次執行。
執行完后就在回到第一個for執行。原理:i=0,j 執行4次,給a[0][0],a[0][1],a[0][2],a[0][3]賦值i=1,j 執行4次,給a[1][0],a[1][1],a[1][2],a[1][3]賦值i=2,j 執行4次,給a[2][0],a[2][1],a[2][2],a[2][3]賦值i=3跳出. 還有不懂再問。
c語言for循環嵌套if語句
兩種方法,一種是重新賦值,程序段如下 for(i=0;i 轉載請注明出處華閱文章網 » c語言for語句的嵌套