C語言-if語句


    1、一般形式 if(表達式)表達式1 else 表達式2   :表達式成立(為真)則執行表達式1,否則執行表達式2.

    適用范圍:真假,對錯,開關,對立面的條件

   注意:如果if語句中只包括一條語句,可以省略{}但最好不要省略,如果有多條語句,一定要加{}

   如果else不包含任何語句,則可以省略掉else

    2、分支 if(表達式1){語句1}else if(表達式){語句2} else if(表達式3){語句3}。。。。。else(語句4)

    表達式1成立立即執行語句1,否則判斷表達式2,表達式2成立則立即執行語句2,否則判斷表達式3,表達式3成立則立即執行語句3,表達式1,表達式2,表達式3都不成立,則執行語句4

    分支if語句中條件是互斥的,不能有重復或互相包含的情況。如果有,必須重新理清程序思路。

    if的條件是一段連續的范圍,要把所有的情況都涵蓋完

    適用范圍:條件互斥,沒有相重合的條件,且條件都是一段連續的范圍的時候用

    3、嵌套形式:

        if (表達式) {

            if(表達式1)

            {

                語句1   //表達式和表達式1同時成立

            }else{

            語句2    //表達式成立且表達式1不成立

            }

        }else{

            if (表達式2) {

                語句3   //表達式不成立且表達式2成立

            }else{

            語句4    //表達式不成立且表達式2不成立

            }

        }

    使用范圍:適合逐層遞進,從大到小細分條件,可用嵌套

    

    三目運算符 表達式?語句1:語句2 等價於if(表達式)語句1 else 語句2;

    1、使用if分支選擇性輸出兩個數中最大的數字:

    int a=2;
    int b=3;
    if(a>b)
    {
        printf("2");
    }
    else
    {
        printf("3");
    }

2、使用if語句判斷一個從鍵盤輸入的數字是奇數還是偶數

int a=0;//定義變量時最好對變量進行初始化。
    printf("請輸入一個數字:");
    scanf("%d",&a);
    if(a%2==0)//對a除以2的余數進行判斷,如果余數為0,則說明a為偶數,否則a為奇數。
    {
        printf("%d是一個偶數\n",a);
    }
    else
    {
        printf("%d是一個奇數\n",a);
    }

3、數學中分段函數的C語言模型:如果x為0,則y的值為1000,如果x不為0,y的值為x分之1,

  float y=0;  //定義變量
    int x=0;
    
    printf("請輸入x:");   //輸入
    scanf("%d",&x);
    
    if(x!=0)      //判斷
    {
        y=(float)1/x;  //對運算結果要強制轉換為float型。
    }
    else
    {
        y=1000;
    }

4、輸入三個數,找出最大的並輸出:

int a=0;
    int b=0;
    int c=0;
    int temp=0;
    
    printf("請輸入三個數:\n");
    scanf("%d%d%d",&a,&b,&c);
    
    if(a>b)
    {
        temp=a;
    }
    else
    {
        temp=b;
    }
    if (temp>c) {
        printf("max=%d\n",temp);
    }
    else
    {
        printf("max=%d\n",c);
    }

5、三個數求最大值的第二種算法:先假設第一個數最大,然后和第二個數比較,得到最大的,最后與第三個數比較:

int a=0;
    int b=0;
    int c=0;
    int max=0;
    
    printf("請輸入三個數:\n");
    scanf("%d%d%d",&a,&b,&c);
    
    max=a;//選擇法找出三個數的最大值
    if (max<b) {
        max=b;
    }
    if (max<c) {
        max=c;
    }
    
    printf("最大數是%d",max);

6、判斷一個兩位數個位是奇數且十位是偶數:首先判斷這個數時兩位數,再對后續條件進行判斷

  int a=0;
    
    printf("輸入一個數:");
    scanf("%d",&a);
    
    if (a>9&&a<100&&a%2==1&&a/10%2==0) {
        printf("a是兩位數,且個位是奇數,十位是偶數\n");
    }
    else
        printf("a不符合條件\n");

7、判斷一個輸入的數字是否是整數:

   float a;
    
    scanf("%f",&a);
    printf("輸入的數字是%f",a);
    
    if (a-(int)a==0)
    {
        printf("a是整數");
    }
    else
    {
        printf("a不是整數");
    }

8、使用冒泡排序對四個數進行排序(不使用for循環)假設第一個數是最小的,然后與后續的數字逐一比較並移動到最后一個數字的位置,然后再使用第一個數字和最后一個數字之前的數字進行比較,得到第二小的數,並放在倒數第二的位置,重復循環直到得出最大的放在第一個的位置。

   int a=0;
    int b=0;
    int c=0;
    int d=0;
    int tmp=0;
    
    printf("請輸入四個數字:");
    scanf("%d%d%d%d",&a,&b,&c,&d);
    
    if (a<b) {
        tmp=b;
        b=a;
        a=tmp;
    }
    if (b<c) {
        tmp=c;
        c=b;
        b=tmp;
    }
    if (c<d) {
        tmp=d;
        d=c;
        c=tmp;
    }
    
    if (a<b) {
        tmp=b;
        b=a;
        a=tmp;
    }
    if (b<c) {
        tmp=c;
        c=b;
        b=tmp;
    }
    if (a<b) {
        tmp=b;
        b=a;
        a=tmp;
    }
 
    printf("從大到小是%d,%d,%d,%d\n",a,b,c,d);

9、根據商品價格打折條件對應付款進行計算:如果三種商品的價格中有一個超過50或者三個商品價格之和超高100,則對總價格打折扣85%。

   float aprice,bprice,cprice;
    float sumprice;
    
    printf("請輸入三種商品價格:");
    scanf("%f%f%f",&aprice,&bprice,&cprice);
    
    if (aprice>50||bprice>50||cprice>50||aprice+bprice+cprice>100) {
        sumprice=(aprice+bprice+cprice)*(1-0.15);
    }
    else sumprice=aprice+bprice+cprice;
    
    printf("應付錢數為%.1f\n",sumprice);

10、使用分支if語句確定三個數中最大的數:

int a,b,c,m;
    scanf("%d%d%d",&a,&b,&c);
    
    if (a>=b&&a>=c) {
        m=a;
    }
    else if (b>=a&&b>=c){
        m=b;
    }
    else m=c;
 
    printf("最大值為%d\n",m);

11、使用嵌套if語句找出三個數中最大的數

int a,b,c,m;
    
    scanf("%d%d%d",&a,&b,&c);
    
    if (a>b) {
        if (c>a)
            m=c;
        else
            m=a;
    }else{
        if(c>b)
            m=c;
        else
            m=b;
    }
    
    printf("最大的是:%d\n",m);

12、使用三目運算符求三個數中最大的數,方法一:

   int a,b,c,m;
    
    scanf("%d%d%d",&a,&b,&c);
    
    m=(((a>b)?a:b)>c?((a>b)?a:b):c);
    
    printf("最大值是%d\n",m);

13、使用三目運算符求三個數中最大的數,方法二:

  int a,b,c,m;
    scanf("%d%d%d", &a, &b, &c);
    m = a;
    m = m > b ? m : b;
    m = m > c ? m : c;
   printf("最大值是%d\n",m);

14、使用三目運算符求三個數中最大的數,方法三:

  int a,b,c,m;
    scanf("%d%d%d", &a, &b, &c);
    m = (a>=b && a>=c) ? a : (b>=a && b>=c ? b : c);
   printf("最大值是%d\n",m);

15、使用三目運算符求三個數中最大的數,方法四

  int a,b,c,m;
    scanf("%d%d%d", &a, &b, &c);
    m = a>=b ? (a>=c ? a : c) : (b>=c ? b : c);
   printf("最大值是%d\n",m);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM