天天看點

C 語言學習 判斷C語言中的判斷規則

文章目錄

  • C語言中的判斷規則
      • 1. 三元運算符
      • 2. if() ... else if ()... else ...
          • 文法格式:
          • 示例 :
      • 3. switch case break
          • 文法格式 :
          • 與 if 語句的不同:
          • 代碼示例

C語言中的判斷規則

  • 1.判斷結構要求程式員指定一個或多個要評估或測試的條件,以及條件為真時要執行的語句(必需的)和條件為假時要執行的語句(可選的)。
  • C 語言把任何非零和非空的值假定為 true,把零或 null 假定為 false。

1. 三元運算符

文法 : Exp1 ? Exp2 : Exp3;
//
// Created by dell on 2019.12.30.
//

#include <stdio.h>

int main() {
    //定義一個變量
    int num = 0;
    //for循環周遊 20 次
    for (int i = 0; i < 20; i++) {
        //每次周遊 num + 1
        num++;
        //使用 三元進行判斷
        //如果 num 等于 10  則讓 a等于1000 否則   a等于 i
        int a = num == 10 ? 1000 : i;
        printf("%d\n", a);
    }
    return 0;
}
           

2. if() … else if ()… else …

文法格式:
if(條件語句) {
			要執行的操作
		} else if (條件語句) {
 			要執行的操作
 		} else {
			要執行的操作 
		}
           
示例 :
//
// Created by dell on 2019.12.30.
//

#include <stdio.h>

int main() {
    int a = 0;
    for (int i = 0; i < 20; i++) {
        a++;
        if (a % 5 == 0) {
            printf("20以内除以3能除的盡的數 %d\n", a);
        } else if ((a % 3 != 0) && (a % 2 == 0)) {
            printf("20以内 除以3不能除盡 并且 除以2能除的盡的數有 :  %d\n", a);
        } else {
            printf("其他情況 : %d\n", a);
        }
    }
}
           

3. switch case break

文法格式 :
switch(表達式)
{
    case 常量表達式1:語句1;
    case 常量表達式2:語句2;
    ...
    default:語句n+1;
}
           

先計算表達式的值,再逐個和 case 後的常量表達式比較,若不等則繼續往下比較,若一直不等,則執行 default 後的語句;

若等于某一個常量表達式,則從這個表達式後的語句開始執行,并執行後面所有 case 後的語句。

與 if 語句的不同:
1.if 語句中若判斷為真則隻執行這個判斷後的語句,

執行完就跳出 if 語句,不會執行其他 if 語句

2. switch 語句

不會在執行判斷為真後的語句之後跳出循環

,而是

繼續執行

後面所有 case 語句。

3.在每一

case

語句之後增加

break

語句,使每一次執行之後均可跳出 switch 語句,進而

避免輸出不應有的結果

代碼示例
#include <stdio.h>
int main() {
	int b = 0;
    for (int j = 0; j < 10; ++j) {
        b++;
        switch (b) {
            case 1:
                printf("第 %d 次循環 b 等于 1 \n", j + 1);
                break;
            case 2:
                printf("第 %d 次循環 b 等于 2 \n", j + 1);
                break;
            case 3:
                printf("第 %d 次循環 b 等于 3 \n", j + 1);
                break;
            case 4:
                printf("第 %d 次循環 b 等于 4 \n", j + 1);
                break;
            case 5:
                printf("第 %d 次循環 b 等于 5 \n", j + 1);
                break;
            case 6:
                printf("第 %d 次循環 b 等于 6 \n", j + 1);
                break;
            case 7:
                printf("第 %d 次循環 b 等于 7 \n", j + 1);
                break;
            default:
                printf("第 %d 次循環沒有比對項 b = %d\n" , j ,b);
        }
    }
}