c語言for語句C語言for語句

2021-03-07 21:50:32 字數 5592 閱讀 8215

1樓:倒黴熊

for中三個語句都是可以省略了

例如for(; ;)

這樣的寫法也是正確的。

你的上面是雙重迴圈,如果第二個賦初值提出來放在 第一個for迴圈上面 和 放在第二個for中賦初值是不相同的。

關鍵看你想要的是什麼?

2樓:匿名使用者

1) for迴圈中的「表

達式1(迴圈變數賦初值)」、「表示式2(迴圈條件)」和「表示式3(迴圈變數增量)」都是選擇項, 即可以預設,但「;」不能預設。

2) 省略了「表示式1(迴圈變數賦初值)」, 表示不對迴圈控制變數賦初值。

3) 省略了「表示式2(迴圈條件)」, 則不做其它處理時便成為死迴圈。

例如:for(i=1;;i++)sum=sum+i;

相當於:

i=1;

while(1)

4) 省略了「表示式3(迴圈變數增量)」, 則不對迴圈控制變數進行操作,這時可在語句體中加入修改迴圈控制變數的語句。

例如:for(i=1;i<=100;)

5) 省略了「表示式1(迴圈變數賦初值)」和「表示式3(迴圈變數增量)」。

例如:for(;i<=100;)

相當於:

while(i<=100)

6) 3個表示式都可以省略。

例如:for(;;)語句

相當於:

while(1)語句

7) 表示式1可以是設定迴圈變數的初值的賦值表示式,也可以是其他表示式。

例如:for(sum=0;i<=100;i++)sum=sum+i;

8) 表示式1和表示式3可以是一個簡單表示式也可以是逗號表示式。

for(sum=0,i=1;i<=100;i++)sum=sum+i;

或:for(i=0,j=100;i<=100;i++,j--)k=i+j;

9) 表示式2一般是關係表示式或邏輯表示式,但也可是數值表示式或字元表示式,只要其值非零,就執行迴圈體。

例如:for(i=0;(c=getchar())!=』\n』;i+=c);

又如:for(;(c=getchar())!=』\n』;)

printf(「%c」,c);

3樓:

for中的三個表示式分別表示 初始條件 終止條件 和 變化條件

三個都不一定需要,但是在你的程式中可以有。

比如for(;;)就是可以沒有的情況,和while(1)等價

4樓:擋路

可能是編譯器問題,一般來說不賦初值是可以的,如果for裡面三個都是空的話,那就是無限迴圈

c語言中for語句是怎麼用的

5樓:肥仙女

c語言中for語句用法:

for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。

舉例:int i;

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

// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作

// 上面的for語句就是控制輸出3次helloworld。

擴充套件資料:

for迴圈是程式語言中一種迴圈語句,而迴圈語句由迴圈體及迴圈的判定條件兩部分組成,其表示式為:for(單次表示式;條件表示式;末尾迴圈體)。

1.語句最簡形式為:

for( ; ; )

2.一般形式為:

for(單次表示式;條件表示式;末尾迴圈體)

其中,表示式皆可以省略,但分號不可省略,因為「;」可以代表一個空語句,省略了之後語句減少,即為語句格式發生變化,則編譯器不能識別而無法進行編譯。 [1]

for迴圈小括號裡第一個「;」號前為一個為不參與迴圈的單次表示式,其可作為某一變數的初始化賦值語句, 用來給迴圈控制變數賦初值; 也可用來計算其它與for迴圈無關但先於迴圈部分處理的一個表示式。

「;」號之間的條件表示式是一個關係表示式,其為迴圈的正式開端,當條件表示式成立時執行中間迴圈體。

執行的中間迴圈體可以為一個語句,也可以為多個語句,當中間迴圈體只有一個語句時,其大括號{}可以省略,執行完中間迴圈體後接著執行末尾迴圈體。

執行末尾迴圈體後將再次進行條件判斷,若條件還成立,則繼續重複上述迴圈,當條件不成立時則跳出當下for迴圈。

6樓:浩雄王

1、for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。

2、下面舉例說明for語句的使用方法:

int i;

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

// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作

// 上面的for語句就是控制輸出3次helloworld。

for迴圈是程式語言中一種開界的迴圈語句,而迴圈語句由迴圈體及迴圈的終止條件兩部分組成,for迴圈其在各種程式語言中的實現與表達有所出入,但基本為以c語言和pascal語言代表的兩種形式。

7樓:life蝸牛

for(初始變數;迴圈條件;修改變數)

8樓:匿名使用者

1:for迴圈

for語句的格式為:

for (初始化語句; 條件語句; 控制語句)

for 語句的執行順序是:首先執行「初始化語句」;然後測試「條件語句」;若條件成立,則執行語句1到語句n;然後執行「控制」語句;接著再測試條件語句是否成立,如果成立則重複執行以上過程,直至條件不成立時才結束for迴圈。如:

for(i=0;i<10;i++)......;

int i,a=new int[10];

for (i=0,i<10;i++) a[i]= 0;

這段**把整型陣列a中的所有元素都賦成0。

你可以在for迴圈的頭部說明你的變數,而且最後一個表示式可以省略,不過要確定在語句中對變數的值有所改變,如:

for(int i=0;i<=10;) i+=i;

for迴圈中,「初始化語句」、「條件語句」和「控制語句」都可以省略,但是其間的分號不能省略。例如:

int i =0 ;

for (; ; ;)

for迴圈中省略「條件語句」時,在for語句{}中必須包換轉句語句控制程式在某個條件滿足時跳出for迴圈,否則將形成死迴圈

2:while迴圈

while迴圈和for迴圈類似,其格式為:

while (條件語句)

執行while時,先測試「條件語句」,如果條件成立,則執行語句1到語句n,直至條件不成立時調處迴圈。

int i=0 ;

while (i<10)

3:do ... while 迴圈

do ... while 迴圈語句的格式為:

dowhile (條件語句) ;

do ...while 語句的功能是首先執行語句1到語句n,然後進行條件測試,如果條件成立,則繼續執行語句1到語句n,否這跳出迴圈。如:

boolean test=false;

dowhile(test);

這種控制並不是很常用,但有時卻非常重要,使用時注意結尾處while語句後的分號。

9樓:匿名使用者

for 語句是一種應用廣泛的迴圈語句,一般格式為for(表示式1;表示式2;表示式3)迴圈語句;

表示式1作用為對一般變數初始化,完成初始化後計算表示式2的值,如是非零值則執行迴圈語句,即表示式2為條件語句,表示式3為執行完迴圈語句後才求解的式子,多為改變變數的值.

例如:迴圈執行某段相同的**

for(int i = 0; i < 5; i++)比如這段**是把hello迴圈輸出5次。

int i = 0是初始條件

i < 5是條件判斷,如果滿足此條件就執行**i++是條件的變化步長

10樓:匿名使用者

做迴圈用的

例如你要迴圈某個事件 5次

int i;

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

11樓:

c語言程式設計知識第十二節-c語言語句之迴圈語句-for語句

12樓:謝搶來

這樣的問題也問,那書是用來做什麼的?暈

c語言for語句加{}和不加{}有什麼區別?

13樓:匿名使用者

你好,很高興為你答疑。

為了程式的易讀,一般是提倡加括號的,那樣for函式執行的主體清晰明瞭。

不加括號的時候,預設該for函式執行的是緊跟其後的1函式或語句。

比如:for(;;)

}這裡面外層的for不佳括號也可以的。但是如下:

for(;;)

printf("");

}這樣的話外層for不加括號主體是內層 for ,主體沒有printf函式了。是以提倡加括號。

問題解決還望採納。也歡迎**。

14樓:匿名使用者

{}其內的所有語句是

迴圈體內的語句;無{}則預設下一個";"前的語句是迴圈體內的語句。

例如:for(int i=0;i<5;i++)//每次迴圈,m和n的值都重新計算,即5次計算。

for(int i=0;i<5;i++)m+=5+i;n+=m;//每次迴圈,m的值都重新計算,即5次計算,n則是for迴圈結束後僅計算一次。

for(int i=0;i<5;i++);m+=5+i;n+=m;//每次迴圈啥都不做,m和n則是for迴圈結束後僅計算一次。

15樓:匿名使用者

如果for迴圈裡面,只有一條語句,那麼,加不加 是沒有任何區別的。 如果for 迴圈裡面有很多條語句,那麼加了{},for就執行兩個{}裡面的語句,不加,就執行下一個分號之前的語句,因為一個分號是保不住多個語句的。

c語言中for(;;)是什麼意思?

16樓:a羅網天下

在c語言中,for語句使用最為靈活,它的一般形式為:

for(表示式1; 表示式2; 表示式3)  語句它的執行過程如下:

先求解表示式1。

求解表示式2,若其值為真(非0),則執行for語句中指定的內嵌語句,然後執行下面第3)步;若其值為假(0),則結束迴圈,轉到第5)步。

求解表示式3。

轉回上面第2)步繼續執行。

迴圈結束,執行for語句下面的一個語句。

程式執行過程如下圖所示:

17樓:

當然會死迴圈了。

for後的圓括號中,第一個分號前的內容是執行第一次迴圈前執行的,第二個分號前的內容是每次執行前都要判斷的(如果該處表示式的值為真,那麼執行迴圈體,如果為假,那麼就跳出迴圈體),第二個分號後的內容是每執行完一次迴圈體後執行的

你這裡中間沒有限制條件(第2個分號前)(有限制條件也要該條件必然會變成真,迴圈才會停止),所以不會停。另一種停止的方法在迴圈體中使用break跳出迴圈體。

18樓:匿名使用者

for(;;)

相當於while(1)

即不設初值,不判斷條件,迴圈變數不增值,無終止的迴圈。

那個程式會死迴圈

c語言for迴圈巢狀if語句,c語言for迴圈巢狀if語句

include int main int argc,char argv else endforloop printf 已經退出外層迴圈 return 0 比如 for i 0 i 10 i if i 5 break 外部迴圈的條件是i 10,內部判斷i是否等於5,如果等於執行break,結束迴圈,否...

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

要點是1 if與else的成對關係依照就近原則2 if與else的成對關係遇到花括號時,就近原則找相成對花括號3 區域性 塊一定要加括號 if a 1 if b 1 printf yes n a 1且b 1時執行else printf no n a 1且b 1時執行 用括號括起來更容易理解 if a...

C語言中,什麼叫複合語句,C語言複合語句的使用

把多個語句用括bai 號 括起來du組成的一個語句zhi 稱複合語句。在程式中dao應把複合語句看成是單條專語句屬,而不是多條語句,例如 是一條複合語句。就是循bai環體中用多個語 du句來實現,例如zhi 求1,2,3,4,5的和 main 就是一個語句後包含另一個語句 從上到下依次執行。好好看教...