導航:首頁 > 編程語言 > omp編程for多重循環

omp編程for多重循環

發布時間:2022-07-30 12:23:01

1. 多重for循環怎麼理解

Pascal程序:
Program ex36;
Begin
For a := 1 to 4 do {外循環控制行的變化}
Begin
For b := 1 to 9 do {內循環控制列的變化}
write(『*』);
Writeln; {輸出一行的「*」後換行}
End;
Readln;
End.
當a=1時:輸出9個*;
當a=2時:輸出9個*;
當a=3時:輸出9個*;
當a=4時:輸出9個*;
就像在做有的數學題時分情況討論一樣

2. C語言 for的多重循環是怎麼一回事啊 能給小弟詳細講解以下嗎

for(表達式1;表達式2;表達3)

語句:

表達式1 通常用來給循環變數賦初值,一般是賦值表達式。也允許在for語句外給循環變數賦初值,此時可以省略該表達式。

表達式2 通常是循環條件,一般為關系表達式或邏輯表達式。

表達式3 通常可用來修改循環變數的值,一般是賦值語句。

這三個表達式都可以是逗號表達式, 即每個表達式都可由多個表達式組成。三個表達式都是任選項,都可以省略。

一般形式中的「語句」即為循環體語句。for語句的語義是:

1.首先計算表達式1的值。

2.再計算表達式2的值,若值為真(非0)則執行循環體一次, 否則跳出循環。

3.然後再計算表達式3的值,轉回第2步重復執行。在整個for循環過程中,表達式1隻計算一次,表達式2和表達式,3則可能計算多次。循環體可能多次執行,也可能一次都不執行。for 語句的執行過程如圖所示。

void main(){
int n,s=0;
for(n=1;n<=100;n++)
s=s+n;
printf("s=%d\n",s);
}

用for語句計算s=1+2+3+...+99+100

int n,s=0;
for(n=1;n<=100;n++)
s=s+n;
printf("s=%d\n",s);

本例for語句中的表達式3為n++,實際上也是一種賦值語句,相當於n=n+1,以改變循環變數的值。

void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;a++,n--)
printf("%d ",a*2);
}

用for語句修改例題。從0開始,輸出n個連續的偶數。

int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;a++,n--)
printf("%d ",a*2);

本例的for語句中,表達式1已省去,循環變數的初值在for語句之前由scanf語句取得,表達式3是一個逗號表達式,由a++,n-- 兩個表達式組成。每循環一次a自增1,n自減1。a的變化使輸出的偶數遞增,n的變化控制循次數。

在使用for語句中要注意以下幾點

1.for語句中的各表達式都可省略,但分號間隔符不能少。如:for(;表達式;表達式)省去了表達式1。for(表達式;;表達式)省去了表達式2。

for(表達式;表達式;)省去了表達式3。for(;;)省去了全部表達式。

2.在循環變數已賦初值時,可省去表達式1,如例3.27即屬於這種情形。如省去表達式2或表達式3則將造成無限循環, 這時應在循環體內設法結束循環。例題即屬於此情況。

void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;)
{ a++;n--;
printf("%d ",a*2);
}
} int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;)
{ a++;n--;
printf("%d ",a*2);
}

本例中省略了表達式1和表達式3,由循環體內的n--語句進行循環變數n的遞減,以控制循環次數。

void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;;){
a++;n--;
printf("%d ",a*2);
if(n==0)break;
}
}
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;;){
a++;n--;
printf("%d ",a*2);
if(n==0)break;
}

本例中for語句的表達式全部省去。由循環體中的語句實現循環變數的遞減和循環條件的判斷。當n值為0時,由break語句中止循環,轉去執行for以後的程序。在此情況下,for語句已等效於while( 1)語句。如在循環體中沒有相應的控制手段,則造成死循環。

3.循環體可以是空語句。

#include"stdio.h"
void main(){
int n=0;
printf("input a string:\n");
for(;getchar()!='\n';n++);
printf("%d",n);
}

本例中,省去了for語句的表達式1,表達式3也不是用來修改循環變數,而是用作輸入字元的計數。這樣, 就把本應在循環體中完成的計數放在表達式中完成了。因此循環體是空語句。應注意的是,空語句後的分號不可少,如缺少此分號,則把後面的printf 語句當成循環體來執行。反過來說,如循環體不為空語句時, 決不能在表達式的括弧後加分號, 這樣又會認為循環體是空語句而不能反復執行。這些都是編程中常見的錯誤,要十分注意。

4.for語句也可與while,do-while語句相互嵌套,構成多重循環。以下形成都合法的嵌套。

(1)for(){…
while()
{…}

}
(2)do{

for()
{…}

}while();
(3)while(){

for()
{…}

}
(4)for(){

for(){

}
}
void main(){
int i,j,k;
for(i=1;i<=3;i++)
{
for(j=1;j<=3-i+5;j++)
printf(" ");
for(k=1;k<=2*i-1+5;k++)
{
if(k<=5) printf(" ");
else printf("*");
}
printf("\n");
}
}

3. vba編程多重循環

Fori=1To3
x=4
Forj=1To4
x=3
Fork=1To2
x=x+5
Nextk
Nextj
Nexti
MsgBoxx

這個題目很有可能是考試題目,只有考試才會出這樣無聊的題目。

答案13,原因如下:無論I,J如何值多少,在進入K循環之前,X=3.

所以程序等價於:

x=3
Fork=1To2
x=x+5
Nextk
MsgBoxx

答案很快出來,達到考試目的。題目簡單,技巧性好。

4. for語句的多重循環 continue怎麼寫

continue語句在哪個循環里,就跳過該循環體剩下的語句,重新開始該循環體的下一輪循環。

5. C程序for多重循環

不是,順序是這樣的
先執行第一個For的第一遍循環,遇到到二個For時,進行循環,等第二個For循環全部執行完後,再進行第一個For循環的第二遍,遇到到二個For時,再進行循環,等第二個For循環全部執行完後再運行第一個For循環的第三遍。。。。一直到第一個For循環全部執行完畢。

閱讀全文

與omp編程for多重循環相關的資料

熱點內容
戰地聯盟3解壓密碼 瀏覽:803
s型命令 瀏覽:23
php年薪5年 瀏覽:67
如何上網上設個人加密賬戶 瀏覽:44
linux打開ssh服務 瀏覽:78
微信位置可以加密嗎 瀏覽:470
演算法蠻力法 瀏覽:438
隨機排練命令 瀏覽:147
python多進程並發 瀏覽:41
安卓軟體安裝如何躲避安全檢測 瀏覽:647
奇幻潮翡翠台源碼百度雲盤 瀏覽:187
什麼軟體可以免費pdf轉word 瀏覽:15
php正則表達式大全 瀏覽:394
androidntp時間 瀏覽:299
輪機長命令簿英文 瀏覽:148
oppo鈴聲設置被加密怎麼處理 瀏覽:548
粵苗app圖形驗證碼怎麼填 瀏覽:899
管家婆架設雲伺服器 瀏覽:254
php的登錄界面代碼 瀏覽:997
php開發客戶端 瀏覽:998