【學習筆記】【C語言】選擇結構-if

來源:互聯網
上載者:User

標籤:

1.if的第1種結構
if(條件)
{
    語句1;
    語句2;
    ......
}
如果if右邊小括弧()中的條件成立,也就是為“真”時,就會執行大括弧{}中的語句;

如果條件為假,就不執行大括弧{}中的語句。這裡的if是關鍵字。

C語言規定所有非0值都為“真”


 2.if的第2種結構
if(條件1)
{
     語句1;
     語句2;
     ......
}
else
{
   
}
如果if右邊小括弧()中的條件成立,也就是為“真”時,就會執行大括弧{}中的語句,

如果條件為假,就執行else中{}裡面的語句。


 3.if的第3種結構
if(條件1)
{
     語句1;
     語句2;
     ......
}
else if(條件2)
{
 
}
else if(條件3)
{
 
}
else if(條件4)
{
 
}
else
{
 
}

如果if右邊小括弧()中的條件1成立,也就是為“真”時,就會執行大括弧{}中的語句,

如果條件1不成立就判斷條件2成不成立,成立就執行不成立就繼續往下走判斷條件3,以此類推

如果如果所有的條件為假,就執行else中{}裡面的語句。

 注意:這麼多大括弧中,只有1個大括弧內的代碼會被執行。
 
 4.if的第4種結構

如果if後面大括弧{}中只有一行代碼時,可以省略大括弧。
if (條件)
   語句1;

為了保證代碼的可讀性,不建議省略大括弧!!!

 

5.語句嵌套

if語句內部是可以嵌套其他if語句的,如下面的例子

int a = 7;

if ( a > 0 )
{
    printf("a的值大於0\n");
   
       if ( a<9 )
       {
           printf("a的值小於9");
       }
}

 

6.注意

1》

千萬不要在if的小括弧後面添加分號

if ( a>8 );

 

2》

假設本來是想判斷a是否為0,那麼本應該寫if (a == 0),若誤寫成了if (a = 0),那將是一件非常可怕的事情,因為編譯器又不報錯,這樣的BUG就難找了。因此,像a==0這樣的運算式,最好寫成0==a,若誤寫成0=a,編譯器會直接報錯。

// 不推薦
if (a == 0) {
}

// 推薦
if (0 == a) {
}

 

3》
在C語言中,可以不儲存關係運算的結果。

int a = 10;
a > 10;
a == 0;

這裡又是一個陷阱,假設你的本意是想給a賦值為0,那麼本應該寫a = 0; ,若誤寫成a == 0; ,那將又是一個非常難找的BUG,因為編譯器根本不會報錯。

 

7.練習

 1 /* 2  輸入一個整數score代表分數,根據分數輸出等級(A-E)(用兩種方式) 3  A:90~100 4  B:80~89 5  C:70~79 6  D:60~69 7  E:0~60 8 */ 9 10 #include <stdio.h>11 12 int main()13 {14     // 1.提示輸入15     printf("請輸入分數值:\n");16     17     // 2.接收輸入18     int score;19     scanf("%d", &score);20     21     // 3.判斷等級 (效能最高)22     if (score>=90 && score<=100) { // [90, 100]23         printf("A\n");24     } else if (score>=80) { // [80, 89]25         printf("B\n");26     } else if (score>=70) { // [70, 79]27         printf("C\n");28     } else if (score>=60) { // [60, 69]29         printf("D\n");30     } else { // (-∞, 59]31         printf("E\n");32     }33     34     /* 效能中等35     if (score>=90 && score<=100) { // [90, 100]36         printf("A\n");37     } else if (score>=80 && score<=89) { // [80, 89]38         printf("B\n");39     } else if (score>=70 && score<=79) { // [70, 79]40         printf("C\n");41     } else if (score>=60 && score<=69) { // [60, 69]42         printf("D\n");43     } else { // (-∞, 59]44         printf("E\n");45     }*/46     47     /* 效能最差48     if (score>=90 && score<=100) { // [90, 100]49         printf("A\n");50     }51     52     if (score>=80 && score<=89) { // [80, 89]53         printf("B\n");54     }55     56     if (score>=70 && score<=79) { // [70, 79]57         printf("C\n");58     }59     60     if (score>=60 && score<=69) { // [60, 69]61         printf("D\n");62     }63     64     if (score<=59) { // (-∞, 59]65         printf("E\n");66     }*/67     return 0;68 }

 

【學習筆記】【C語言】選擇結構-if

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.