當前位置:首頁 » 編程語言 » c語言4個for循環講解
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言4個for循環講解

發布時間: 2023-05-23 17:05:01

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");
}
}

❷ C語言中for循環怎麼理解

for循環是編程語言中一種開界的循環語句,而循環語句由循環體及循環的終止條件兩部分組成,for循環一般形式為:for(單次表達式;條件表達式;末尾循環體){中間循環體;}。

執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括弧{}可以省略,執行完中間循環體後接著執行末尾循環體 。執行末尾循環體後將再次進行條件判斷,若條件還成立,則繼續重復上述循環,當條件不成立時則跳出當下for循環。

for循環實例:

# include <stdio.h>

int main(void)

{int n = 0;

int i = 0;

int m = 1;

int sum=0;

printf("請輸入n的值:");

scanf("%d", &n);

for (i=1; i<=n; ++i){

m = m * i;

sum = sum +m;}

printf ("sum = %d ", sum);

return 0;}

假如 n=4,當 i=1 時,m=1,sum=1。當 i=2 時,m=1×2,sum=1+1×2。當 i=3 時,m=1×2×3,sum=1+1×2+1×2×3。當 i=4 時,m=1×2×3×4sum=1+1×2+1×2×3+1×2×3×4。

(2)c語言4個for循環講解擴展閱讀

for循環注意事項:

1、for循環的代碼不僅可以寫一句,也可以寫多句(保證第二部分的返回值是布爾值)

2、for循環的三個部分都可以省略。第一部分省略表示不初始化;第二部分省略表示不判斷,默認值為true;第三部分省略表示省略後什麼也不執行。

3、小循環在外,大循環在內、

4、如果for循環有條件判斷,可以將條件放到for循環外。

5、for循環中的"單次表達式"、"條件表達式"和"循環體語句"都是選擇項, 即可以預設成只剩下「;」的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。

❸ 關於c語言for循環里有4個表達式該怎麼理解,程序如下:

1.相當於
for(i=0;i<10;i++,)
{ printf("%d"前慶慎慧敬,p++);
p++;}
你原來的理解也可以

2.printf("%d",p++);相當於:

printf("%d"差孫,p);

p++;

❹ C語言4種循環語句用法

C語言循環語句用法有三種主要形式:
for()循環
while()循環
do
{}
while();循環
for()循環用法:
for( e1 ; e2 ; e3 ) //注意三個區域間用分號來分隔,而不是逗號!!
{
for_statements ; //多條語句用{}括起來,單條語句可以不用,建議也使用,一:代碼清楚,二:便於查錯。 其它循環也是這樣。
}
//說明:
//e1:變數初始化區,只執行一次
//e2:循環控制區,每次都要先檢查e2表達式的結果是否為真,為真則進入循環區,否則,結束循環
//e3:循環變數變化區,每次執行完for_statements ;則轉到這里,執行e3,然後轉到e2
例:
int i;
for( i=0; i<10; i++ )
{
printf("%d ", i );
}
while()循環用法:
循環控制變數初始化
while(e)
{
while_statements ; //包括循環控制變數 變化
}
//說明:
//e 循環控制條件,e為真則進入循環區,否則,結束循環 執行完while_statements ;後轉到這里繼續判斷
例:
int i;
i=0;
while( i<10 )
{
printf("%d ", i );
i++; //循環控制變數變化
}
do
{}
while();循環用法:
do {
do_while_statements ; //包括循環控制變數 變化
} while(e); //注意尾部有分號
//說明:
//與while()不同的是,這里可以沒有循環變數的初始化,先進行循環語句的操作,然後,再判斷是否繼續進行,所以,這種循環,至少要執行一次do_while_statements ;而前兩種,有可能一次都不執行循環語句。
例:
int i;
do {
printf("input number " );
scanf("%d", &i ); //循環控制變數 變化
printf("%d\n", i );
} while ( i<10 );
到這里,一定能得到一個大於10的i. 一般我們在要求輸入一個數據必須符合規定時,這樣寫代碼。

❺ c語言中的for循環是怎麼理解的能夠具體一點更好理解

展開全部
for.
循環里必須有兩個分號,for(1;2;3)
.1表示初值,2表示循環條件,3表示步長。
for後跟一條語句,如果有多條需用
大括弧
,該語句稱為
循環體
,第一次循環執行1-2-4(循環體)-3,以後執行2-4-3直到循環結束。

❻ C語言for循環的使用和講解有哪些

for(表達式1;表達式2;表達式3)
{
內容
}
比如
for(int i=0;i<100;i++)
{
sum=sum+i
}
意思是先定義一個整型i給他賦初值0,在判斷i是否小於100,是的話執行sum=sum+1;之後i在加1;一直循環到i>=100的時候這個循環就結束了。

❼ C語言for循環的使用和講解,希望詳細點,初學者

c有四種循環方式
for,while,do-while,goto

一、for,這個最靈活
for(表達式1;表達式2;表達式3)
循環體
1、表達式1:一般是初始化變數用的。這個只運行一次,在進入for的時候
2、表達式2:一般是一個邏輯判斷表達式,也可以是別的,他的作用是如果這個表達式返回值是非零,那麼進入循環,是零,則退出循環。
這個一定是最後運行,如果是零,就退出循環。

3、表達式3:一般是改變循環條件用的,要不然無法退出循環
4、循孝滑環體,就是要做的事情了。注意的是只能是一句話,如果多句,要用{}括起來,當成一句話
注意:
1、這四個地方可以都有,也可以都沒有,也可以由任意的一項兩項三項
2、這個for是個不完整的句子,不能在後面加分號,否則就是空循環了,因為他只管後面一句話的循環體純掘,如果加了分號,那麼這個分號就是一句話了,所以說是空循環
3、運算順序,先表達式1,初始化變數;再表達式2,判斷是否進入循環;接著是循環體,進行相關運算;接著是表達式3,改變循環條件;接著是表達式2,判斷是否進入循環,如果是零,則結束循環。
4、因為表達式3在表達式2前面運行,那麼退出循環的時候,控制循環的變數的值根據表達式2來確定。
如for(i=0;i<9;i++)
s+=i;
那麼退出循環後,i的值是9,因為9不滿足i<9這個表達式退出循環,而不是8
這里是需要注意的

二、while
表達式1

while(表達式2)
{ 循環體;
表達式3}

幾個表達式的意思和for相同,不多說了
注意:
while後面不能有分號,因為while不是一個完整的句子

三、do--while
表達式1
do{
循環體;
表達式3

}while(表達式2);
幾個表達式的意思和for相同,不多說了
注意:
1、while後面必須有分號
2、這個循環至少運行一次

四、goto
表達式1
標記:
循環體
表達式3
if(表達式2)
goto 標記
幾個表達式的意思和for相同,不多說了

注意:
1、標記:可以是一做慎核個字元串,不是變數,常量,後面有一個冒號

2、goto後面的標記不能有冒號,以分號結尾,是一句話

這就是循環的四種方式,for最好用,也最容易出錯

❽ C語言for循環詳細講解

一般情況下for循環里包含3條語句,第一句是為循環變數賦初始值值,第二句是循環條件,第三句是給循環變數重新賦值,例如:
for(i=0;i<num;i++){
//
}
這個循環的循環變數是i,i的初始值是0,循環條件是i<num,i以自增的方式賦新值,也可以寫出i+=10,即i=i+10。就拿上面這個例子來說,執行的過程是先給給i賦初值,再判斷i是否小於num,若是則執行for循環里的語句,執行完之後再執行i++,然後再判斷i是否小於num,若是則仍執行for循環里的語句,否則退出循環。

❾ C語言中for循環怎麼理解

for循環是編程語言中一種開界的循環語句,而循環語句由循環體及循環的終止條件兩部分組成,for循環一般形式為:for(單次表達式;條件表達式;末尾循環體){中間循環體;}。

執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括弧{}可以省略,執行完中間循環體後接著執行末尾循環體 。執行末尾循環體後將再次進行條件判斷,若條件還成立,則繼續重復上述循環,當條件不成立時則跳出當下for循環。

for循環實例:

# include <stdio.h>

int main(void)

{int n = 0;

int i = 0;

int m = 1;

int sum=0;

printf("請輸入n的值:");

scanf("%d", &n);

for (i=1; i<=n; ++i){

m = m * i;

sum = sum +m;}

printf ("sum = %d ", sum);

return 0;}

假如 n=4,當 i=1 時,m=1,sum=1。當 i=2 時,m=1×2,sum=1+1×2。當 i=3 時,m=1×2×3,sum=1+1×2+1×2×3。當 i=4 時,m=1×2×3×4sum=1+1×2+1×2×3+1×2×3×4。

(9)c語言4個for循環講解擴展閱讀

for循環注意事項:

1、for循環的代碼不僅可以寫一句,也可以寫多句(保證第二部分的返回值是布爾值)

2、for循環的三個部分都可以省略。第一部分省略表示不初始化;第二部分省略表示不判斷,默認值為true;第三部分省略表示省略後什麼也不執行。

3、小循環在外,大循環在內、

4、如果for循環有條件判斷,可以將條件放到for循環外。

5、for循環中的"單次表達式"、"條件表達式"和"循環體語句"都是選擇項, 即可以預設成只剩下「;」的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。

❿ 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跳出.
還有不懂再問