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

2021-05-23 01:48:11 字數 3748 閱讀 7297

1樓:love添飯

要點是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 <= 1)else

}//第二中情況

if(a <= 1)

else

printf("no\n");//a>1時執行

2樓:聽不清啊

配對情況如下:

圖中黑線表示配對情況,紅線表示條件滿足時執行的,或else時執行的語句。

配對的規律是:從上往下找第一個else,它與前面未配過對的if配成一對;如此這般,直到結束。

3樓:水忠隱浩穰

沒括號又沒縮排得確實看著累。

首行y=0是初始化y

x=80時,不屬於if

x<0,也不屬於else

ifx<10

,只能屬於else

y=200

所以結果是200

選ex=5時,屬於else

ifx<10

then

y=10

,但緊接著機結果被if

x<100

then

y=100覆蓋掉,

所以最後時100

選dp.s.注意以下語句屬於同一個區域性變數範圍內else

ifx<10

then

y=10

ifx<100

then

y=100

endif

c語言中三個if語句的巢狀怎理解

4樓:壞笑的狸貓醬

不知道你說的是橫

向還是縱向

縱向就是多個平級的 if()語句的並列

如 if()

if()

if()

而橫向就是 if()語句中包含if()語句如 if(if(if()));

我正好學到這裡剛剛試驗了一下是可以的 以下: 但是因為格式的關係else

}if(a==2&&b>=4)

else}}

else

return 0;}

5樓:匿名使用者

嚴格按照if語句

的格式來看待if語句,可以在條件執行體語句上外包大括號以便區別:

if ( 條件 ) 語句; //語句也可以是:

if ( 條件 ) 語句; else 語句; //語句也可以是:

如果在巢狀的if語句中出現else,編譯器會自動向前找到最近的那個if完成一個完整的if...else ...語句;你也可以在遇到else後找到這個結構然後用大括號將它們括起來表示這是一條if語句,省得混淆,比如:

if ( a ) if ( b ) else 語句a; else 語句b;

可以看成:if ( a ) else 語句b;

其中巢狀的if語句可以看成一條語句,基本結構是:

if ( a ) 語句c; else 語句b; 其中語句c是一條if語句:if ( b ) else 語句a;

6樓:學渣還是學霸

if語句相關:

if語句的括號內可以加任意語句,但是不能有分隔符。可以用||、&&、!來進行邏輯語句的判斷

若是包含結構,則關係如下:

if(a)}}

則意思為如果滿足a,則對b進行判斷。如果滿足b,則對c進行判斷。如果滿足c,則執行語句d

7樓:

if 是一個分支語句,就是在條件中選擇一個執行,

for 是迴圈語句,只要條件成立,就反覆的執行,所以迴圈裡的條件只是判斷進入或退出迴圈的。

c語言if語句巢狀

8樓:匿名使用者

if(x>=0)

else if(x<20)

esle if(x<30)

else if(x<40)

}裡面很多我就不寫了,

抄只是要記得bai在if和else if和else以後du加用大括號括起來,

從開始zhi要養成好的**習慣從加dao大括號開始求採納,求經驗,求懸賞

自己寫的不容易

9樓:匿名使用者

如果x的範圍在[0,10),將列印四個f=一個小數範圍在[10,20),將列印3個f=一個小數範圍在[20,30),將列印2個f=一個小數範圍在[30,40),將列印1個f=一個小數

c語言裡面if語句的巢狀看不懂~

10樓:匿名使用者

if/else if語句是一對判斷組合;多個順序if是平行的執行判斷的。

舉例說明:

if(我有錢)

else if(我有時間)

上面的語句意思如下:如果我有錢(if判斷成立),則我只能去**,即使我有時間又有金錢也不能去旅遊;而如果我沒有錢(if判斷不成立),則要看我是否有時間,有時間就去旅遊(沒錢去旅遊就苦了)。

if(我有金錢)

ifif(我有時間和金錢)

這樣的判斷意思是說:如果我有錢(第一個if成立),我可以**,如果我沒有錢但有時間(第二個if成立),我可以上網(辦公室的免費網路);而如果我有了錢又有時間(第三個if成立),我就可以去旅遊了(好爽啊!)

不知樓主明白些沒有呢?

11樓:匿名使用者

四個條件都滿足則執行命令,這不用if語句巢狀。如果是滿足每一個條件就分別執行一個命令才用if語句巢狀。

你這寫一條if 語句即可。如下

if(條件1&&條件2&&條件3&&條件4)其實,用四層無執行語句的if語句巢狀,與這個是相同的。

if(條件1)}}}

12樓:匿名使用者

if(a==1)else(a==2)else如果a=1則b=1

如果a!=1,a=2則b=2

如果a!=1,a!=2則b=3

13樓:匿名使用者

如果(滿足條件) 就執行if {}裡面的語句 不是就是執行與他配套的else 中的 語句

14樓:匿名使用者

理解很難,多看呀,多看幾遍,學到後面自然就懂了~

c語言裡if語句可以巢狀for迴圈麼

15樓:聽不清啊

c語言裡if語句

裡是可抄以巢狀for迴圈的(if語句裡可以放c語言裡的任意的執行語句)。

舉例說:

char yn;

int i;

printf("需要列印1到10之間的所有奇數嗎(y/n)?\n");

scanf("%c",&yn);

if(yn=='y'||yn=='y')

else

printf("那就不列印了\n");

16樓:匿名使用者

當然可以,肯定是你記錯了

比如int n=5,i=0;

if(n==5)

}else

17樓:詭其辭

記錯了吧?可以巢狀。

18樓:匿名使用者

if 換成while

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語言中for語句巢狀求解這道題是怎麼運算的

巢狀的for,先執行最內層的,這裡也就是最下面的一個 for k 0 k 2 k 當k 2時,不滿足條件,返回上一層巢狀,j加1,從0變成1 然後又繼續執行 for k 0 k 2 k 再次k 2時,又返回,j加1,變成2,不滿足條件,再往上一層,i加1,然後又往下執行,重複之前過程,直到i等於2,...

c語言中,while語句的用法,C語言中,while語句的用法

while 迴圈括號裡只有2種值,0和非0,0表示假,非0表示真。真就進入迴圈,假就離開迴圈。這裡1就表示永真,直到迴圈體內遇到break while 迴圈的使用方法為 while condition 一條語句如果 condition 為真 true 則迴圈執行 一條語句 如果 condition ...