for語句中巢狀ifelse語句為什麼可以不加

2021-04-18 14:39:22 字數 4200 閱讀 2548

1樓:團長是

c++規定,循bai

環體必須為單個語du句。但往往有時需要在循zhi環dao體中執行多百句**,這時候版,可以將

權這些語句用{}括起來,構成「塊語句」。

if語句一般形式

if語句的一般形式如下:

if(表示式)語句1

[else語句2]

if語句中的「表示式」可以是關係表示式、邏輯表示式,甚至是數值表示式。其中最直觀、最容易理解的是關係表示式。所謂關係表示式就是兩個數值進行比較的式子。

2樓:四舍**入

c++規定,迴圈體必須為單個語句。但往往有時需要在迴圈體中執行多句**,這時候,版可以將這些語句用

權{}括起來,構成「塊語句」。

「塊語句」在形式上等價於單個語句。

if...else無論有多少個分支,在形式上都等價於單個語句。因為這些分支中要麼一個分支都不執行,要麼至多執行其中的一個分支。

3樓:陽光上的橋

當if和else後面是多個語句的時候必須使用{},只有一個語句時無需{},if或者switch等複雜語句也只是一個語句,無需使用{}

4樓:火龍大大果

這個bai是和語言的語法

du有關係的。if else裡{}是可以省略zhi的。

但是,如果dao你內

要執行的語句有容多條,括號必須有,否則就完全是兩個意思。

只執行一條語句的話,括號省略,也不會出錯。

if(aa==0)

aa=bb;

bb=cc;

if(aa==0)

if(aa==0)aa=bb;

5樓:匿名使用者

c++規定,循

bai環體必須為單du個語句。但往往zhi有時需要在迴圈體dao中執行多句**專,這時候,可以將這屬些語句用{}括起來,構成「塊語句」。

「塊語句」在形式上等價於單個語句。

if...else無論有多少個分支,在形式上都等價於單個語句。因為這些分支中要麼一個分支都不執行,要麼至多執行其中的一個分支。

所以在上面那個例子中,不需要{}。

只要是形式上等價於單個語句的,都可以不用{},比如整個switch...case結構。

6樓:匿名使用者

確實包括for迴圈,以及if,while等語句,後面只有一行**可以不加{},

你這裡if...elseif...else 可以認為是一條語句

到底加不加看個人愛好,沒有死規定

7樓:匿名使用者

這是來程式設計風格所致。

在源c中,for、ifelse、while語句在巢狀時或者單獨使用bai時均可以分號du;作為結zhi束的標誌,在

編譯器中會預設按照分dao號執行。但是這種風格有很多問題,比如閱讀困難,結構不會很清晰等等。這是這種風格的缺陷。

因此,在良好的程式設計分風格要求下,這些語句需要使用一對花括號作為分界符,花括號內的所有語句被認為是語句塊,即複合的單語句從而在編譯器中執行。

因此不加花括號程式依然可以正常執行,但是在人員閱讀及測試和除錯時會帶來不必要的問題和煩惱。因此加上花括號尤其是在有巢狀的語句中會很清晰的劃分出結構來。使得閱讀很清楚方便。

8樓:匿名使用者

你是不是加錯地方了。

c語言for語句中巢狀if 語句可以沒有else麼

9樓:伊藉禹馳

這個不會的.

if語句完全可以不與else配合使用的.

你上面寫的**完全沒有問題的.

c會這樣想:滿足s[i]=a,則sum+1;

不滿足,則不執行sum+1;

就是這樣......

10樓:班翠同堯

可以沒有else

沒有else的意思是

不滿足條件不做事

你的for()if;

如果s[i]等於a

那麼sum+1,

否則i=i+1,做下一步迴圈.

11樓:計好樂智

不會啊,如果if不成立則繼續執行i++,然後再判斷i<=len(s)條件成立與否;一直迴圈直至條件不成立結束for語名.

12樓:源夏載斐

當然可以了。。。if..else語句表示的是選擇下一步應該執行的內容。。沒有對內容作具體要求(不要有語法錯誤。。囧。。)

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

13樓:匿名使用者

在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語句中巢狀if 語句可以沒有else麼

14樓:匿名使用者

不會啊,如果if不成立則繼續執行i++,然後再判斷i<=len(s)條件成立與否;一直迴圈直至條件不成立結束for語名.

15樓:匿名使用者

可以沒有else,if不成立就繼續下一個迴圈唄。

16樓:匿名使用者

**寫出來,要讓自己和別人清晰明白,思考這種問題,有點像孔乙專己,意義不大。如果

屬這樣的**,自己覺得暈,就換一種寫法,加上{}如: for(i=0; i<=len(s); i++)else}

17樓:_逸塵

這個不會的.

if 語句完全可以不與else配合使用的.

你上面寫的**完全沒有問題的.

c會這樣想:滿足s[i]=a,則sum+1;

不滿足,則不執行sum+1;

就是這樣......

18樓:

可以沒有else

沒有else的意思是 不滿足條件不做事

你的 for()if;

如果s[i]等於a 那麼sum+1, 否則 i=i+1,做下一步迴圈.

19樓:匿名使用者

根本不需要,全憑習慣

20樓:匿名使用者

可以在else後面加分號,像else;這樣else語句就不執行了

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

21樓:匿名使用者

在c語言中,if...else分支語句與for迴圈語句和其他迴圈及分支都是可以巢狀使用的,也就是說在if語句後面和else語句後面都是可以使用for迴圈語句的,例如:

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

int sum=0;

if(n<2)else

printf("%d",sum);}

22樓:大鍋飯個土

if語句後面的else語句中當然能巢狀for迴圈語句.並且可鑲嵌多個.

23樓:星歿

當然可以了。。。if..else語句表示的是選擇下一步應該執行的內容。。沒有對內容作具體要求(不要有語法錯誤。。囧。。)

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

24樓:聽不清啊

可以的。例抄如,輸入襲0求100以內

所bai有偶數的和,輸入du

非0則求100以內所zhi有奇數的和:daoint n,i,s=0;

scanf("%d",&n)

if(n)

for(i=1;i<101;i+=2)

s+=i;

else

for(i=2;i<101;i+=2)

s+=i;

printf("%d\n",s);

25樓:匿名使用者

能,如:

if (條件)

else}

c語言while語句中if else 語句中while語句

等同於加上括號 while 條件1 else 實際上時這樣的,條件1為假什麼都不執行,條件2為假執行else 求高手解釋 在c語言中,if語句中不是不能用break嗎?怎麼資料裡用了?可以用,因為if外面是while迴圈,break是用來退出while迴圈的。如果外面沒有while迴圈,只有if語句...

c中ifelse語句的配對原則

你說錯了,這裡的else 是與第2個 if配對的 else總是與同一層次上,與他前面最近的 if配對 如果此例要讓else與第一個 if配對,必須上大括號 if else 這是最經典的if else了吧 include include include void main else else if b...

switchcase語句巢狀問題

break跳出的是巢狀裡面的那個switch,跳出後a 1 順序執行了語句 這裡沒有判斷switch x 沒有作用case 2 a b break 跳出迴圈可以用下面的測試 int x,y,a 0,b 0 cin x y switch x case 2 a b cout break case 3 a...