1樓:匿名使用者
1全部for 迴圈的格式為:
for(表示式1;表示式2;表示式3)
因此巢狀的時候要明白 怎樣才是巢狀,如下所示:
for(表示式1;表示式2;表示式3)
}//你所謂的第二個for後邊用不用加分號,不知道你想要做什麼;規範的 標準的巢狀如上所示
如果你直接不加{}而是直接向你上邊那樣
for()
for(表示式4;表示式5;表示式6) ; 這裡直接在for迴圈後邊新增一個分號 就表示 當條件表示式5成立的時候只去執行表示式6,然後進入下一次迴圈,知道表示式5不成立退出迴圈
如果不加分號,那麼這個內層迴圈控制的語句 就會是最近一個新增了分號的這條語句,如下:
for()
for(表示式4;表示式5;表示式6)
語句1;
至於你上邊提到的,那是語法問題,c語言必須是以分號 或者 語句塊標識{} 作為一條語句 或者一段語句塊的結束標誌
2樓:
參考**如下:
#include"stdio.h"
main()
}j要是從0開始做5次迴圈就可以了。
3樓:小安無敵
例如一個簡單巢狀:
for(i=0;i<10;i++)
for(j=0;j<10;j++)
printf("%d",a[i][j]);
對於第一個for,後面的兩句都是它的迴圈體,printf後面的 ;代表結束
對於第二個for,printf是它的迴圈體for()括號後面是沒有分號的,不管是雙重巢狀還是三重巢狀,它的分號只是在迴圈體裡
4樓:
for 後面只跟大括號,用;都是錯的
5樓:匿名使用者
什麼語言的問題說清楚 了
c語言中for for 巢狀語句
6樓:小小小倉
for(i = 3; i >=1; i --)這樣就清楚很多了,i=3,j=1 printf: 4i=3 j=2 printf: 5
i=2 j=1 printf: 3
i=2 j=2 printf: 4
i=1 j=1 printf: 2
i=1 j=2 printf: 3
for(i=3;i>=1;i--)
這是兩個for迴圈for(i=3;i>=1;i--)是外層迴圈,for (j=1;j<=2;j++)是內層迴圈,在內層迴圈中for (j=1;j<=2;j++) 做的事情就是先給j初始化為1,然後判斷j是否<=2,如果滿足條件,則執行
printf("%d",i+j); 然後執行j++,然後再判斷此時j是否<=2,如果滿足就執行 printf("%d",i+j); 否則就退出迴圈,一直這樣迴圈下去,但是記得,for (j=1;j<=2;j++)中的j=1,只在進入迴圈時執行一次,以後的迴圈過程不會執行它。當內層迴圈執行完退出迴圈時接著執行下面的語句 printf("\n");然後你把內層迴圈看成是一段語句,然後按照內層迴圈的分析方法去看外層迴圈就可以了。
7樓:匿名使用者
你的程式有兩層迴圈,對於每一個i的值(3,2,1),內層都會執行兩次迴圈。
i=3的時候:
j=1時,列印4(3+1);j=2時,列印3(3+2);再輸出一個換行
後面的類推
8樓:匿名使用者
i==3{
j==1 out: 3+1=4
j==2 out:3+2=5
}i==2……
j**a中的for迴圈巢狀語句怎麼執行啊 比如巢狀4個 ?
9樓:專治八阿哥的孟老師
就一層一層執行唄。
這個最好是debug一下自己看
但是通常專案開發裡面都儘量保持在三個以下,不然就說明你的邏輯設計的不合理
看你設定的條件是迴圈幾次唄。
我們就用for1,for2區分一下
for1(int i=0;i<5;i++)
這裡for2執行的時候迴圈體執行5次,但是for1每次執行的時候都會讓for2再執行一次,也就是說跳出for1的時候迴圈體一共執行了5x5=25次
}其實看簡單點,for2是for1的迴圈體,for2要執行5次,for2每執行一次,她的迴圈體就要執行5次
你只要明白一個for的迴圈體是怎麼運轉的就可以了,巢狀語句沒什麼特殊的,只不過它的迴圈體又是個for而已。
10樓:名字不好起熊
一般for迴圈是雙重迴圈,先執行第一個迴圈,如果為true的話,就進入第二層迴圈,如果第二層迴圈為true的話,就執行第二層迴圈中的**,知道迴圈條件為false,跳出內迴圈,執行外迴圈,和之前的執行流程是一樣的,最好有具體的例子,比較直觀。
11樓:匿名使用者
先從上到下執行,到最內層後,從內到外執行。
舉個例子:
for(int i=0;i<10;i++) 第一層
for(int j=0;j<11;j++) 第二層
for(int k=0;k<12;k++) 第三層
for(int m=0;m<13;m++) 第四層
a++;
執行語句就只有一句a++,然後我們來看執行順序:
先從上到下執行for迴圈,先執行第一層,i=0滿足條件,進去執行他的方法體,他的方法體就是第二層;第二層一看也滿足,繼而執行第三層;第三層也滿足,執行第四層。現在i,j,k值都為0,m是之後一層迴圈,先把m的這層全部滿足後跳出迴圈執行第三層,k=1,之後又進入第四層,後面都是這個順序。一層條件滿足後調到上一層執行。
12樓:
要看你的**怎麼寫啊.就把那幾個相乘,不知道你問的是不是這個意思.
13樓:匿名使用者
for(int i =0;i<?;i++)(for(int ij =0;j<?;i++)(for(int k =0;k<?
;i++)(for(int m =0;m<?;i++)())))?是要迴圈的次數
for迴圈語句巢狀的問題。
14樓:匿名使用者
for(i=0;i<10;i++)
for(j=0;j<10;j++);
請問for(i=0;i<10;i++)後面有沒有;
沒有的話i讀取10次,j讀取100次 ;
有的話則是i讀取10次,j讀取10次 。
15樓:
這是一個雙迴圈
也就是 i 迴圈10次 即 i 讀取10次
然後 每一次的 i 迴圈內 j都要迴圈10次 也就是說 j總共要讀取100次
16樓:_無倫會
i讀取10次,j讀取100次
while()語句下能巢狀for()迴圈嗎?
17樓:創作者
可以巢狀for迴圈,兩種語法沒有直接關係。
舉個例子,while查詢資料表中資料行,for查詢資料列,把正給資料庫單元格文字串聯成一個文字資訊:
string str="";
int i=0;
while(i
樓主的寫法,因為迴圈體重複將會陷入死迴圈,並不是因為語法本身帶來的。
18樓:匿名使用者
寫法是對的,但是你的group[i]裡的四個值應該是一樣的。因為revdata(retdata)沒有變。
19樓:來賺錢啊
while 裡面當然可以巢狀for()迴圈這個程式應該是一個死迴圈 :while(1)始終為真 沒有使while停止迴圈的條件 在最後加一個break;
group[i] = revdata(retdata) 掉了一個「;」
group[i]是4個值
20樓:無情一匕
錯誤的 陷入死迴圈了
group[i] 能得到四個值
while(1)
21樓:流星劍
對的,沒有問題,可以巢狀。
22樓:江湖三腳貓
while(1)
23樓:匿名使用者
少了個分號,其他沒問題。
可以巢狀。
24樓:匿名使用者
寫法是對的~~但是可能不是你想要的效果,
25樓:匿名使用者
當然可以。
group[0]~group[3]都被賦了值。
j**a中的for迴圈巢狀語句怎麼執行?
26樓:胡說八道小鬼
控制語句——for;語句的巢狀應用;累加求和,計數器;迴圈巢狀。
一、語句的巢狀應用
語句巢狀形式。其實就是語句中還有語句。形式多種多樣,沒有固定的格式和套路。
1、列印偶數
for(int x=1;x<=10;x++)
{ if(x%2==1)
continue;
system.out.prinln(「x=」+x);
二、累加求和,計數器
1、獲取1~10的和,並列印。
思路://1,定義變數用於儲存不斷變化的和。
int sum = 0;
//2,定義變數,記錄住不斷變化的被加的數。
int x = 1;
//3,定義迴圈,重複加法的過程。
用while來體現
while(x<=10)
sum = sum + x;
x++;
system.out.println("sum="+sum);
迴圈注意:
一定要明確哪些語句需要參與迴圈,哪些不需要
2、1~100之間 7的倍數的個數。並列印。
思路:1、先對1~100進行迴圈(遍歷)通過迴圈的形式。
2、在遍歷的過程中,定義條件。只對7的倍數進行操作。
3、因為7的倍數不確定,只要符合條件,就通過一個變數來記錄住這個變化的次數。
步驟:1、定義迴圈語句,選擇for語句。
2、在迴圈中定義判斷。只要是7的倍數即可。使用if語句。條件:7的倍數 x%7==0;
3、定義變數,該變數隨著7的倍數的出現而自增。
三、迴圈巢狀。
1、列印一個長方形。
對於列印長方形總結:外迴圈控制的行數。內迴圈控制的是每一行的列數。也就是一行中元素的個數。
3個for迴圈巢狀使用流程
27樓:
public static void main(string args)
for(int xing=1;xing<=i;xing++)//4
system.out.println();//6
}for(int j=1;j<=5;j+=2) //7
system.out.println();//12
}} //首先進入1迴圈, i = 1, 執行 2 迴圈 語句3 迴圈7次輸出7個空格 然後執行迴圈4 語句5執行1次 輸出1個*;
//然後執行語句6 換行. 第一次1迴圈結束 i=3 再次執行, 直到最後一次 i = 7;總共迴圈4 次 輸出的*每次增加2
//1迴圈結束後進入第一次7迴圈 8 和10 迴圈是7迴圈的內迴圈. 輸出的*每次減少2
//程式中 迴圈1 和 7是並列的 2 和 4 是並列的在1迴圈內 8和10 是並列的在7迴圈內,,,並沒有三層巢狀0.0
不懂再問吧~
另外**的格式儘量規範一些...看起來好看一點~
c語言中,for迴圈裡巢狀了switch迴圈,switch循
不光是在while裡 在所有的迴圈中,如for,do.while,while裡。break都是跳出當前這一層的迴圈,要是多層迴圈的話,也是隻跳出這一層迴圈。終止這一次的迴圈是用continue.reak 是跳出迴圈體 執行下面的語句的意思 在你這個題目中是 switch 語句回巢狀在for語句當中!...
c語言裡if語句可以巢狀for迴圈麼
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 當然可以,肯定是你記錯了 ...
c語言中的f格式符,C語言中的 f格式符
f在輸入輸出使用,它表示輸入或輸出的數為浮點數 即可以帶小數的數 如 float a scanf f a 就可以輸入3.15 a 3.15 同理 d,表示輸入或輸出的數為整數。c表示輸入或輸出的數為字元。不曉得你上個問題是什麼,但是 f是輸出一個實數,並不需要制定輸出寬度的。他的小數位佔6寬度,小數...