for循環語句嵌套怎么算?ForIFrom1To9ForJFrom0To9If10J+I=J^2-I^2
雖然不知道你用的是什么語言,不過各種語言應該是類似的.在你程序中:如果不用for嵌套而是把語句寫上9遍:LET I=1For J From 0 To 9 If 10J+I=J^2-I^2 Then Print 10J+I End If End For LET I=2For J From 0 To 9 If 10J+I=J^2-I^2 Then Print 10J+I End If End For LET I=3For J From 0 To 9 If 10J+I=J^2-I^2 Then Print 10J+I End If End For 。
LET I=9For J From 0 To 9 If 10J+I=J^2-I^2 Then Print 10J+I End If End For 如此.。
for循環如何嵌套
舉個例子:
用for循環輸出以下圖案:
*
***
*****
*******
#include<stdio.h>
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
}
for(i=0;i<=3;i++)下面大括號里面的for(j=0;j<=2-i;j++)和for(k=0;k<=2*i;k++)就是它的兩個嵌套子循環。
首先程序執行父循環,i=0;
然后執行子循環里靠前的for(j=0;j<=2-i;j++),j=0;
滿足j<=2-i這個條件,打印一個“空格”。
這個子循環繼續自循環,j=1;依然滿足條件,繼續打印一個空格;
繼續自循環,j=2;依然滿足條件,再打印一個空格。
繼續自循環,j=3,這時已經不滿足j<=2-i這個條件了。跳出循環。執行下面的代碼。
也就是第二個子循環for(k=0;k<=2*i;k++),它依然是在父循環的i=0的條件下執行。
第一輪自循環,k=0,滿足條件k<=2*i;k++),打印一個*號。(注:這個*號是跟在前面的那三個空格之后,因為前面一個子循環沒有打印換行。
第二輪自循環:k=1,不滿足條件k<=2*i;k++),跳出自循環,執行后面的代碼printf("\n"),換行。
(注:printf("\n")這句代碼并不是包含在for(k=0;k<=2*i;k++)這個循環里面的,因為一個條件語句下如果不用大括號括起來,默認為只包含下面的第一段代碼。
這時父循環第一輪循環全部結束,執行第二輪父循環。i=1;在這個條件下首先判斷是否符合父循環本身條件,如果符合,依次判斷兩個子循環是否滿足條件,輸出相應結果。如果不符合,直接跳出;
總結一下,嵌套循環的執行原則是:首先執行父第一輪父循環,在滿足第一個父循環條件下完全執行子循環。如有多個子循環,按照從上往下的原則完全執行。也就是說要第一個子循環進行一個完整的循環之后才會繼續執行下一個子循環。
需要for循環語句的使用講解
只要指定條件為 true 都執行語句塊.for (initialization; test; increment)statements 參數initialization 必選項.一個表達式.該表達式只在執行循環前被執行一次.test 必選項.一個 Boolean 表達式.如果 test 是 true,則 statement 被執行.如果 test 是 false,則循環結束.increment 必選項.一個表達式.在每次經過循環的最后執行該遞增表達式.statements 可選項.test 是 true 時,要執行的一個或多個語句.可以是復合語句.說明循環要執行確定的次數,通常使用 for 循環.示例下面的例子示范了一個 for 循環./* 在開始時 i 被設為 0,并在每次重復的最后被增加 1.在循環重復前,如果 i 不小于 10,則循環結束.*/var myarray = new Array();for (i = 0; i myarray = i;} 在c語言的解釋是:for:循環語句.作用:循環.它的一般形式為:for(;;)語句;初始化總是一個賦值語句,它用來給循環控制變量賦初值;條件表達式是一個關系表達式,它決定什么時候退出循環;增量定義循環控制變量每循環一次后按什么方式變化.這三個部分之間用";"分開.例如:for(i=1;i10時,結束循環.注意:(1).for循環中語句可以為語句體,但要用"{"和"}"將參加循環的語句括起來.(2).for循環中的"初始化"、"條件表達式"和"增量"都是選擇項,即可以缺省,但";"不能缺省.省略了初始化,表示不對循環控制變量賦初值.省略了條件表達式,則不做其它處理時便成為死循環.省略了增量,則不對循環控制變量進行操作,這時可在語句體中加入修改循環控制變量的語句.(3).for循環可以有多層嵌套.例如:for(;;) 語句;for(i=1;;i+=2) 語句;for(j=5;;) 語句;這些for循環語句都是正確的.FORfield of regard 的縮寫。
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語言編譯運行復制過來的:)
關于for語句嵌套
打個比方 我輸入的10個數是 34 184 24 58 59 20 84 86 69 38 我們先不管for(j = 1; j <= 9; j++)看下面的 for(i = 1; i <= 10-j; i++) if(a[i-1] > a[i]) { t = a[i-1]; a[i-1] = a[i]; a[i] = t; } 如果執行一次這條語句 那么 我輸入的10個數就是兩兩進行比較 第一個和第二個比較 第二個和第三個比較 以此類推 得出的結果 是34 24 58 59 20 84 86 69 38 184 結果很明顯 原來的是34 184 24 58 59 20 84 86 69 38現在的是34 24 58 59 20 84 86 69 38 184 執行一次的結果就是把最大數找出來 那么 現在可以解釋for(j = 1; j <= 9; j++) 這句是什么意思了吧當J=1 就是把最大數放在最后面 當J=2 就是把第二大的數放在最大前一個同樣道理 執行9次后 就成升序了 我這么說你明白了嗎? 這個又叫冒泡排序 考試經常考的 都 是固定寫法。