c語言for迴圈後面的語句有與沒有的區別

2021-04-28 17:34:14 字數 5279 閱讀 1710

1樓:吉祥二進位制

在c語言中大括號, 用於定義函式體,構成複合語句(語句塊)、宣告聯合(union)及結構體變數。

在for迴圈中沒有大括號,則表示緊接for語句下面的一句為迴圈體。

for (int start=0; end!=100; ++start)

printf("start value:%d\t", start); //這一句是for迴圈的迴圈體

printf("\n"); //這一句不是迴圈體中的語句如果迴圈體中有多條語句,是需要使用大括號的。

2樓:孤星淚

這個要視情況而定。。

比如以下兩種情況

#include

main()

printf("第二種輸出方式:\n");

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

printf("%d",a[i]);

printf("\n");

return 0;

}看以上「\n」的作用就知道

括號的作用是限制作用範圍

3樓:眼大5子

雖然c語言中,假如for迴圈後面只有一條語句可以省略{}。

但是為了程式設計規範,一般建議不管for迴圈後面幾條語句,一律加上{}

4樓:

如果for迴圈裡面只有一句話的話,就可以不用{},如果for迴圈主體有很多語句,就要用{}包住這些語句。

但是有點良好的程式設計習慣,加一個{},對**的規範,閱讀的簡便都有挺大的幫助的。最好的都加上吧。

5樓:fun賦別

因為c語言裡的語句是以;為結束標質的,所以for迴圈中如果只有一帶;語句的話就可以不加花括號,但如果是for迴圈後又有一個迴圈的話是沒有;的,但這還是要當作一條語句看待。

6樓:匿名使用者

執行for語句時:有{}則執行{}裡的語句,沒{}時只執行for後面的一句話

7樓:飄飄渺渺夢逍遙

沒有{}for只能控制緊挨著for後面的一句,有了{}for可以控制花括號裡面的多個語句,懂了嗎?

8樓:匿名使用者

有括號是整個括號裡面的都要迴圈,沒括號只迴圈下一句語句!!明白了吧,其實只要上機操作一下就知道了

9樓:溫蒂的威爾遜

{}是把很多語句給括起來,沒有{}的話就只迴圈fr後面的那句話,有裡面的所有話

10樓:

for後面只有一條語句,有沒有{}都一樣的效果,如果for後面有多條語句有{}和沒有{}區別很大

11樓:情鍾綠茶

有{}後面可以跟多條語句,也就是for的迴圈部分,沒有{},只有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樓:種完太陽吃牛大

for迴圈後面加分號,表示這個迴圈是空語句,除了執行for()括號裡的,什麼都不幹。然後就執行下一行,也就是你的prinf,printf和for迴圈沒關係。

如果不加分號,那for迴圈後面的printf語句就是for迴圈的一部分,跟著for一起執行,但前提是for迴圈裡的條件要滿足。執行到第二個for時a已經等於3了,你要b=a,那b怎麼可能小於3 。所以後面的for迴圈不滿足條件,不執行,同時for裡面的**也不執行。

使用for語句應該注意:

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

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

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

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

在c語言中,for語句的後面加分號和不加分號有何不同,該分號有什麼作用?

17樓:大野瘦子

加分號,表示這個迴圈是空語句,除了執行for()括號裡的,什麼都不幹,然後就執行下一行。

不加分號,那for迴圈後面的printf語句就是for迴圈的一部分,跟著for一起執行,但前提是for迴圈裡的條件要滿足。

分號代表語句結束。

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

就等於:

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

18樓:翲燚

for語句有兩種用法,一種是跟單個語句,一種是跟**體

在跟單個語句時,由於在c語言語句預設是以分號結尾的,程式會將for (;;)之後直到第一個分號的**視為迴圈體來執行,例如下面三種情況:

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

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

foo1();

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

foo1();

上面三種寫法,都是呼叫foo1()函式10次。在下面一種情況裡,程式只會將foo1()函式迴圈呼叫10次,而不會將foo2()列入迴圈中,因為分號for語句在foo2()之前就已經結束了:

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

特別要提的是下面的兩種寫法,這兩種寫法的for語句的迴圈體都為空,程式都不會將foo2()列入迴圈,因此foo2()只會執行一次。這也是初學者常見的書寫錯誤。

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

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

foo2();

除了跟單個語句外,for語句還可以跟 圈起來的**體,如下面的例子:

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

在這種情況下,for語句可以不以分號結尾,程式會將**體內的所有語句迴圈10次。

19樓:匿名使用者

for後面是個迴圈體 你可以理解為一個語句塊for{}

平時是由一些語句組成的 如果直接加分號的話 說明不執行操作(空操作) 只做單純迴圈 沒有什麼意義 一般用在延遲函式裡

但這樣的寫法是不推薦的 因為很佔cpu 你可以試一下用三重迴圈 然後迴圈體只寫一個分號 執行你會發現電腦記憶體一下子飆很高 最簡單的電腦病毒就是這樣做的 用很高次的迴圈 做無意義的操作 讓你的電腦執行很慢

20樓:逍遙的夢

for(i = 0;i<5;你所說的是for()後面那個分號嗎?如果是的話,他後面的分號是一定要的,但是如果分號直接寫在括號後面卻沒有其他語句的話,證明這個迴圈是沒有可執行語句的,如上面1.

第二個例子分號前面有個語句,就是每當括號裡的條件成立時,他就會執行一次。

21樓:匿名使用者

分號代表語句結束假設你有一個陣列int a[5];那麼你可以這樣給陣列賦值for(int i = 0;i<5;i++) a[i]=i;這個是沒加分號的,那麼a[0]=0,a[1]=1....a[4]=4;for(int i = 0;i<5;i++);這樣加了分號,就代表結束了,相當於迴圈只執行了i,然後就退出迴圈了 a[i]=i;//這樣相當於只有a[4]=4; c語言中,分號代表語句結束

22樓:匿名使用者

c語言中";"表示一句的結束,長的句子可以分成多行寫,到最後才寫一個";"

for語句中後面的分號也是如此,根據迴圈結構和你的需求不同,有時會寫分號,有時候換到下一行寫,還是有分號的。

23樓:匿名使用者

這個 其實每一項**後面必須要加「;」,但是如果for後沒有語句 就多加一個「;」,代表那項**是空值 for ( i = 0; a[ i ] <= m; i++ ) ;;;;;;; 也沒人說你錯的

24樓:戀雲歌晨

剛試驗了一下,一個是加分號一個是不加分號的

25樓:想做一隻喵喵喵

推薦回答中最後那個迴圈出來是i=5,而不是4

在c語言中,if語句後面的else語句中能不能巢狀for的迴圈語句?

26樓:匿名使用者

在c語言中,

baiif...else分支語句du與for迴圈語句和其他迴圈及分zhi支都是可以dao巢狀使用的,也內就是說在if語句後面和容else語句後面都是可以使用for迴圈語句的,例如:

給定一個整數n,判斷這個整數n是不是小於2,如果小於2則提示給定數值不在有效範圍內,否則計算從1到n的累加和。

int sum=0;

if(n<2)else

printf("%d",sum);}

C語言for迴圈語句變數問題,請問在c語言中for迴圈語句表示式1中能否定義變數?如果可以它的作用域又是什麼?

第一次回答可獲 來2分,答案被採納可源獲bai得懸賞分和額外20分獎勵。du 答案是肯zhi定的可以,無論是表示式,還是dao初始條件,或是增量部分的變數,都要保證先定義後引用,如果未賦值,會按照c語言規定得到一個數值 auto 自動變數在賦值之前,它的值是不確定的 也就是說在引用的時候會得到一個隨...

c語言中迴圈語句有那些能給幾個例項嗎

c語言中迴圈語句有for語句 while語句 當型迴圈 以及until語句 直到型迴圈 以下具體說明 for語句 使用格式為 for 表示式1 表示式2 表示式3 執行過程如下 1 計算表示式1 2 判斷表示式2,如果其值為非0 真 則執行迴圈體,否則,如果其值為0 假 執行 5 3 計算表示式3 ...

c語言問題可以解釋一下if後面的那句語句是什

0x20 是一個16進位制數,對應的十進位制是32 對應的字元是空格那一句就相當於 if c 32 或者if c 0x開頭的數字表示16進位制,0x20即16進位制的20,相當於20h c語言 能詳細解釋一下這段 的意思嗎 特別是後面那段if語句 我看不懂?if a 0 c 1 d 1 d 0 3 ...