C語言裡,while的迴圈體一定要用花括號括起來麼

時間 2021-10-17 04:46:57

1樓:成都中公優就業

不一定花括號作用是為了讓編譯器知道while迴圈的迴圈體範圍。

但是建議用花括號,

如果**初步完成後,又想起來向while迴圈裡新增**。

下面是用和不用{}括起來的兩種可能的情況:

while (a<100) {

a=b+10;

b++;

}這個迴圈會執行a=b+10;b++;兩條語句while (a<100)

a=b+10;

b++;

這個迴圈會執行a=b+10;一條語句,迴圈結束以後會執行b++;

可以看出兩者是有差別的。

花括號使用看個人喜好,用{}會減少錯誤的可能性。

2樓:農民工

是的,while迴圈體是需要用花括號括起來的。

如果while迴圈體不用花括號括起來,那麼編譯器沒有辦法判斷該段**是否是while迴圈體。

如果**初步完成後,又想起來向while迴圈裡新增**。

下面是用和不用{}括起來的兩種可能的情況:

while (a<100)

a=b+10;

b++;

while (a<100)

可以看出兩者是有差別的。為了防止第一種情況的發生,哪怕while迴圈體只有一個語句也要用花括號括起來。

3樓:

for{迴圈的迴圈體語句中,可以包含多條語句,但必須用花括號括起來,花括號後面一定要加分號。(錯誤)

解答:花括號後不能加分號

4樓:匿名使用者

不一定,當迴圈體的語句超出一句時,需要用花括號括起來,但是如果迴圈體只有一條語句時,就可以省略花括號。

舉例如下:

#include

int main()

這個迴圈體只有 i++ 一條語句,執行的結果如下:

5樓:匿名使用者

不是的 如果你得迴圈的內容只有一個語句 即一個帶分號的語句 就可以不要花括號 而假如你的一個迴圈中語言執行幾條語句 那就需要加括號了 對於if語句也是這樣的

6樓:智趣派

不一定啊,花括號括起來是為了讓編譯器知道while迴圈的迴圈體範圍,如果沒有花括號,編譯器就會認為while的迴圈體只有緊接著while語句的一行。例如

while(i < 10) i++;

這種使用方法是可以的。甚至可以是空語句:

while(i < 0) ;

這條語句就是個死迴圈。

7樓:離散卷積

如果只有一條迴圈語句就可以不用括,但是有一條以上的迴圈語句就一定要括

8樓:匿名使用者

不一定啊 如果迴圈體是一句話的話 不需要花括號也可以比如: while(1)

printf("hello");

這裡的一句話是指一次可以執行完畢的

while(1)

if(a>b) printf("%d",a);

這也是可以的 不過 為了**的規範 還是推薦寫花括號

c語言中while迴圈後面的語句沒有用花括號括起來,怎麼判斷哪些語句是在迴圈裡面,為什麼?

9樓:海棠六號樓

例如while(迴圈條件)

表示式1;

表示式2;

表示式3;

這樣沒有大括號的話,迴圈體就只有表示式1,就是說while()後第一個分號前面的語句就是迴圈體。

10樓:匿名使用者

只有while後面的一個statement是在while裡面的

11樓:匿名使用者

後面起作用的只有緊鄰的一條語句或**塊,**塊就是用花括號括起來的所有語句。

在c語言中for語句是不是和 while 語句一樣,在迴圈體中需要用花括號括起來 ,如果不括起來就

12樓:星魂之海

是的,如果有多個語句必須括起來,否則迴圈只執行第一個語句。不只是for、while迴圈,包括if、swicth等分支結構也是如此。

13樓:匿名使用者

不止 for 和 while , if 也是。

14樓:簫韶九成鳳凰來儀

是的花括號括起來其實是把多個語句組合成一個語句

c語言中的 { } 大括號的使用,什麼時候需要什麼 ?

15樓:會飛的小兔子

大括號也稱花括號是程式塊的分界符,大括號起的作用主要就是劃分割槽域用的。

沒有規定for後面一定要加大括號,如果for迴圈裡只有一個語句,如果有多個語句,就需要用一個大括號把他們包起來。

比如:if(a>b) println("a>b");與if(a>b) ,其實效果是一樣的但有的時候是必須用到大括號的。

比如:當if語句後有多條語句的話就需要大括號與別的語句繼續區分。比如:if(a>b)。

擴充套件資料

大括號號使用注意事項:

在kb&r格式中,開括號總是與使用它的語句在同一行上,而閉括號總是在它所關閉的語句的下一行上,並且與該語句對齊。例如,在上例中,if語句的開括號和它在同一行上,|f語句的閉括號在它的下一行上,並且與它對齊。

在與if語句對應的else條件語句以及出現在程式段後部的while語句中,情況也是這樣的。在allman格式中,每個大括號都單獨成行,並且開括號和閉括號都與使用它們的語句對齊。與allman格式相同,whitesmiths格式也要求大括號單獨成行,但是它們要和它們所包含的語句對齊。

例如,在if語句的開括號是與第一個printf()函式呼叫對齊的。不管使用哪一種格式,一定要保持前後一致——這將有助於其它人更方便地讀程式。

16樓:成都中公優就業

‍大括號也稱花括號是程式塊的分界符。是相對應的,必須同時存在大括號有很多地方使用,比如:每個函式的開始,類的定義,結構的定義,列舉的定義,if,for,do,while,switch case等

使用方法形如:

for( ... )

括號中的語句可以有許多個,如果其中的語句有且只有一條的時候,花括號可以省略,其它時候都不能省略!

另外,像下面的情況:

if(  ...  )

while(  .... )

如果這裡的 if 語句中只有 while 一個**塊,if 的大括號可以省略,否則要加上花括號

ps:{}主要劃區域用。

17樓:匿名使用者

大括號有很多地方使用,比如:每個函式的開始,類的定義,結構的定義,列舉的定義,if,for,do,while,switch case等

它是程式塊的分界符。

是相對應的,必須同時存在。

18樓:_莫罕達斯_甘地

大括號的作用是將多條語句(每個語句以分號;結尾)合成一個複合語句(可理解看作一個大語句,較長的語句)

例如int x=1;

if(x!=1)

結果是x=1,如果不加大括號,則是x=2

19樓:匿名使用者

c中,{}是一對成對的符號,要一起配對使用的,

除了主程式開始結束用外,在程式子模組中就大量使用,

可以是子函式塊,也可以是子功能塊,都要用它來限定程式執行的範圍.

求高手幫我講解下C語言中的while迴圈

的確是輸入快取裡面有回車的緣故,那樣就相當於你輸入了兩次,因而輸出連詞錯誤,i也沒減到了1,所以第二次無法輸入。你可已在 printf 錯誤 n 除一樓說的方法外後面寫上fflush stdin 清空輸入快取也可以達到目的 include include void main if a b else ...

C語言while裡的感嘆號,一個簡單的C語言,while 後面的那個感嘆號是什麼意思?謝謝

表示邏輯取反。不加感嘆號,表示當 i 3 2 i 5 4 i 6 5 為邏輯真的時候執行迴圈。加了感嘆號,就表示當 i 3 2 i 5 4 i 6 5 為邏輯假的時候執行迴圈。 嘿 行 邏輯卻反,在本程式裡的意思是 第二個括號內的表示式不能同時全對,如果全對,迴圈結束 while裡面是當i除以3餘2...

C語言中產生隨機數,C語言怎樣產生一定範圍的隨機數?

巧金蘭嵇嫣 樓上這樣得出的隨機值不準確,不信你執行幾次試試,都是同一個數。正確應該這樣。首先加標頭檔案 include include 然後在主函式裡面寫 inti srand time 0 i rand 100 1 printf d i 隨機數主要有兩個函式 一個種子產生函式 void srand...