C語言迴圈語句的巢狀三重FOR迴圈

時間 2022-08-10 19:02:21

1樓:風灬清灬雲淡

迴圈巢狀也是依次執行語句的,這是乙個雙重迴圈巢狀,是在最外面那層迴圈裡面多了一層迴圈,只是這一層有兩個迴圈。這個程式會先打乙個換行,然後列印空格,空格的個數就是迴圈的次數,然後列印*,個數也是迴圈的次數,然後開始下一次整體迴圈,每一次都是這樣的,直到最外層迴圈迴圈完畢。

2樓:

for(j=0;j<5-i;j++)

printf("%c",' ');

與for(k=0;k<=2*i;k++)

printf("%c",'*');

是兩條語句,分開執行的,最外層每執行一次迴圈,裡面的這兩句都要全部執行。

如,當最外層迴圈執行到第i=3時,那麼,

for(j=0;j<5-3;j++)

printf("%c",' ');輸出2個空格然後再執行

for(k=0;k<=2*3;k++)

printf("%c",'*');輸出7個『*』

輸出的結果就是 空格空格*******

3樓:月時微

這不是三重迴圈,是二重迴圈

第二個與第三個是並列的,而非巢狀關係

第二個迴圈完全執行完後才執行第三個迴圈

結果為先輸出五個空格,再輸出五個*

如果要輸出輸出空格*空格*空格*空格*空格*#include "stdio.h"

void main()}}

4樓:程式猿3號

你的順序結構沒有搞明白,

首先執行外層迴圈

for(i=0; i<5; i++)

這裡執行第一次迴圈,進入迴圈體:

printf("\n");

for(j=0;j<5-i;j++) //1. 到這裡,又是乙個迴圈,所以要執行這個迴圈體,注意這還是在外層迴圈(大迴圈)的第一次迴圈裡。

printf("%c",' '); //執行完了這個,再往下走。

for(k=0;k<=2*i;k++) //2. 上面的執行完了,又執行這個,道理一樣。

printf("%c",'*'); //執行完這個,大迴圈的第一次就算執行完了,接著執行大迴圈的第二次迴圈。然後重複上面的步驟。

5樓:匿名使用者

這個不是三重迴圈,而是在第一層裡欠了兩條迴圈第一層的作用是換行

j層的迴圈式控制「空格」數量k層迴圈式控制*號數量就是先換行然後迴圈輸出「空格」再迴圈輸出*號

6樓:

行號 輸出

1 換行

2 5個空格

3 1個*

4 換行

5 4個空格

6 3個*

7 換行

8 3個空格

9 5個*

10 換行

11 2個空格

12 7個*

13 換行

14 1個空格

15 9個*

c語言中 for迴圈巢狀的運算流程?

7樓:霍瑾相溫

1.for迴圈的一般形式為:

for(表示式1;

表示式2;

表示式3)

2.它的執行過程如下:

1)先求解表示式1。

2)求解表示式2,若其值為真(非0),則執行迴圈體,否則結束迴圈。

3)執行完迴圈體,再求解表示式3。

4)重複執行步驟2)和

3),直到迴圈結束。

注意:表示式1僅在第一次迴圈時求解,以後都不會再執行,可以認為這是乙個初始化語句。

3.for迴圈的執行過程可用下圖表示:

4.比如我們用for迴圈來計算1加到100的值:

#include

intmain()

printf("%d\n",sum);

return0;}

執行結果:

5050

**分析:

1)執行到

for語句時,先給

i賦初值1,判斷

i<=100

是否成立;因為此時

i=1,i<=100

成立,所以執行迴圈體。迴圈體執行結束後(sum的值為1),再計算i++。

2)第二次迴圈時,i

的值為2,i<=100

成立,繼續執行迴圈體。迴圈體執行結束後(sum的值為3),再計算i++。

3)重複執行步驟

2),直到第101次迴圈,因為此時

i的值為101,i<=100

不成立,所以結束迴圈。

c語言的for迴圈巢狀怎麼執行的?

8樓:匿名使用者

1.你的問題直bai接答案:先執行完du所有內迴圈,zhi再執行外迴圈,dao

然後k=i;再進入內專迴圈。內屬迴圈執行完成後再到外迴圈。

2.流程控制:順序,選擇,迴圈(流程控制都看不懂,學程式語言學不會的)。

簡單解析你的問題:

先外迴圈for(i=0(只執行一次);i

3.不懂可以繼續問,不幫你弄懂說明我的理解不深刻。

9樓:連冉家谷之

可以寫成if(i==x),但不能寫成if(i=x)

i的確是不可能大於x,但是i>=x是只要滿足i>x或者i=x就能執行的,所以條件寫i>=x和i==x是沒區別的.

10樓:蕭竣閏

外層迴圈執行復一次,制內迴圈執行所有符合條件的次數。

例:for(i=1;i<=5;i++)

}i=1時j=1,j=2,j=3,j=4,j=5;即外層迴圈迴圈了一次,內層迴圈了5次。

所以外迴圈共迴圈了5次,內迴圈共迴圈了25次

11樓:匿名使用者

在vc6.0中 for(i=0;i<4;i++)處新增斷點(f9),然後執行到斷點處按f10 除錯執行一直到結束

12樓:匿名使用者

for(i=0第一步;i<4第二部;i++第四步)

{ 第三步{

13樓:匿名使用者

用vc6 自己除錯一步步執行下就知道了

14樓:三十褚龍

(4+3+2+1)*(5+4+3+2)=140個

c語言裡if語句可以巢狀for迴圈麼

15樓:聽不清啊

c語言裡if語句

裡是可抄以巢狀for迴圈的(if語句裡可以放c語言裡的任意的執行語句)。

舉例說:

char yn;

int i;

printf("需要列印1到10之間的所有奇數嗎(y/n)?\n");

scanf("%c",&yn);

if(yn=='y'||yn=='y')

else

printf("那就不列印了\n");

16樓:匿名使用者

當然可以,肯定是你記錯了

比如int n=5,i=0;

if(n==5)

}else

17樓:詭其辭

記錯了吧?可以巢狀。

18樓:匿名使用者

if 換成while

關於c語言for語句的迴圈巢狀

19樓:鄭桂蘭韶巳

從裡到外。。意思就是

i=0j=0時先迴圈k.

迴圈結束再執行i=0

j=1再迴圈k

...一直這樣下去!~

關於c語言for語句的迴圈巢狀,關於C語言for語句的迴圈巢狀

從裡到外。意思就是 i 0 j 0時先迴圈k.迴圈結束再執行i 0 j 1再迴圈k 一直這樣下去! for i 0 i 2 i for j 0 j 2 j for k 0 k 2 k 要是這樣看的話會不會好理解些,從裡到外。 意思是 k 的for 語句迴圈的次數 k j,而 j 迴圈的次數 j i ...

C語言中if語句的巢狀怎理解,C語言中三個if語句的巢狀怎理解

if語句相關 if語句的括號內可以加任意語句,但是不能有分隔符。可以用 來進行邏輯語句的判斷 若是包含結構,則關係如下 if a 則意思為如果滿足a,則對b進行判斷。如果滿足b,則對c進行判斷。如果滿足c,則執行語句d c語言對巢狀if語句的規定是 else總是與 配對 答案是d,其前面最近的尚未配...

c語言能不能用if語句實現迴圈結構

噁心一點可以用遞迴實現迴圈,雖然遞迴的開銷要大得多 int sum int val int main 可以,一種是 start sum n if n 100 n goto start 一種是遞迴 為啥偏偏用if呢?再說只用if是不行的,用for迴圈,或者goto,或者while都可以啊 額 不行 i...

c語言函式的遞迴呼叫,C語言的函式巢狀呼叫與函式遞迴呼叫有什麼區別

是的,區域性變數會新定義一次,不過僅侷限於區域性變數 全域性變數和靜態變數都是全域性的,要是還沒學暫時不用管 並不能說是 同時 應該說是 同樣 時間上肯定是按照呼叫的先後順序的。遞迴確實會讓程式變慢,但只是相對於不需要遞迴的等價 而且原因也不是記憶體分配導致的,而是因為函式呼叫產生的。這個遞迴呼叫怎...

C語言迴圈的問題,C語言迴圈的乙個問題

迴圈列印的原因是因為你根本沒有清空 scanf的緩衝區,導致第一次輸入以後就會一直有第一次輸入的資料在快取裡面 加上你的迴圈又沒有結束條件所以導致他會一直列印 通過scanf輸入的字元都會暫時存在輸入緩衝區中,你輸入a回車,然後它首先從緩衝區中讀a,匹配到a,然後輸出a換行,然後繼續從緩衝區中讀讀到...