C 語(yǔ)言基礎(chǔ)教程

C 語(yǔ)言流程控制

C 語(yǔ)言函數(shù)

C 語(yǔ)言數(shù)組

C 語(yǔ)言指針

C 語(yǔ)言字符串

C 語(yǔ)言結(jié)構(gòu)體

C 語(yǔ)言文件

C 其他

C 語(yǔ)言參考手冊(cè)

C 語(yǔ)言 if...else 語(yǔ)句

在本教程中,您將在示例的幫助下了解C語(yǔ)言編程中的if語(yǔ)句(包括if ... else和嵌套if..else)。

C 語(yǔ)言 if語(yǔ)句

ifC語(yǔ)言編程中該語(yǔ)句的語(yǔ)法為:

if (test expression) 
{
   //測(cè)試表達(dá)式為真時(shí),執(zhí)行的語(yǔ)句
}

if語(yǔ)句如何工作?

if語(yǔ)句在括號(hào)()內(nèi)評(píng)估測(cè)試表達(dá)式。

  • 如果測(cè)試表達(dá)式的計(jì)算結(jié)果為true,則將if執(zhí)行主體內(nèi)部的語(yǔ)句。

  • 如果測(cè)試表達(dá)式的計(jì)算結(jié)果為false,if則不會(huì)執(zhí)行主體內(nèi)的語(yǔ)句。

if語(yǔ)句在C語(yǔ)言編程中如何工作?

要了解有關(guān)何時(shí)將測(cè)試表達(dá)式評(píng)估為true(非零值)和false(0)的更多信息,請(qǐng)檢查關(guān)系運(yùn)算符邏輯運(yùn)算符。

示例1:if語(yǔ)句

//程序顯示一個(gè)數(shù)字,如果它是負(fù)數(shù)
#include <stdio.h>
int main() {
    int number;

    printf("輸入一個(gè)整數(shù): ");
    scanf("%d", &number);

    //如果數(shù)字小于0,則為true
    if (number < 0) {
        printf("您輸入 %d.\n", number);
    }

    printf("if語(yǔ)句很簡(jiǎn)單。");

    return 0;
}

輸出1

輸入一個(gè)整數(shù): -25
您輸入  -25.
if語(yǔ)句很簡(jiǎn)單。

當(dāng)用戶(hù)輸入-25時(shí),測(cè)試表達(dá)式number<0將評(píng)估為true。因此,您輸入的-25 將顯示在屏幕上。

輸出2

輸入一個(gè)整數(shù): 5
if語(yǔ)句很簡(jiǎn)單。

當(dāng)用戶(hù)輸入5時(shí),測(cè)試表達(dá)式number<0的計(jì)算結(jié)果為false,并且if不執(zhí)行主體內(nèi)部的語(yǔ)句

C 語(yǔ)言 if ... else語(yǔ)句

if語(yǔ)句可以有一個(gè)可選的else塊。if..else語(yǔ)句的語(yǔ)法為:

if (test expression) {
    //測(cè)試表達(dá)式為真時(shí),要執(zhí)行的語(yǔ)句
}
else {
    // 如果測(cè)試表達(dá)式為假,則執(zhí)行的語(yǔ)句
}

if... else語(yǔ)句如何工作?

如果測(cè)試表達(dá)式(test expression)的計(jì)算結(jié)果為true,

  • if內(nèi)的語(yǔ)句被執(zhí)行。

  • 主體中else的語(yǔ)句從執(zhí)行中跳過(guò),即else中的語(yǔ)句不會(huì)被執(zhí)行。

如果測(cè)試表達(dá)式(test expression)的值為false,

  • else內(nèi)的語(yǔ)句會(huì)被執(zhí)行

  • if主體中的語(yǔ)句會(huì)被跳過(guò),即不會(huì)執(zhí)行。

if ... else語(yǔ)句在C語(yǔ)言編程中如何工作?

示例2:if ... else語(yǔ)句

// 檢查一個(gè)整數(shù)是奇數(shù)還是偶數(shù)
#include <stdio.h>
int main() {
    int number;
    printf("輸入一個(gè)整數(shù): ");
    scanf("%d", &number);

    //如果余數(shù)為0,則為true
    if  (number%2 == 0) {
        printf("%d 是一個(gè)偶數(shù)。",number);
    }
    else {
        printf("%d是一個(gè)奇數(shù)。",number);
    }

    return 0;
}

輸出結(jié)果

輸入一個(gè)整數(shù): 23
23 是一個(gè)奇數(shù)。

當(dāng)用戶(hù)輸入23時(shí),(test expression)測(cè)試表達(dá)式 number%2==0 的評(píng)估結(jié)果為false。因此,將執(zhí)行else主體內(nèi)的語(yǔ)句。

C 語(yǔ)言 if...else if...else 語(yǔ)句

if...else語(yǔ)句執(zhí)行兩個(gè)不同的代碼,具體取決于測(cè)試表達(dá)式(test expression)為true還是false。適用于必須從兩種以上的可能性中進(jìn)行選擇。

if...else if...else允許您在多個(gè)測(cè)試表達(dá)式之間進(jìn)行檢查并執(zhí)行不同的語(yǔ)句。

if...else if...else的語(yǔ)法

if (test expression1) {
   // 語(yǔ)句
}
else if(test expression2) {
   // 語(yǔ)句
}
else if (test expression3) {
   // 語(yǔ)句
}
.
.
else {
   // 語(yǔ)句
}

示例3:C 語(yǔ)言if...else if...else示例

//程序使用=、> 或< 符號(hào)比較兩個(gè)整數(shù)

#include <stdio.h>
int main() {
    int number1, number2;
    printf("輸入兩個(gè)整數(shù): ");
    scanf("%d %d", &number1, &number2);

    //檢查兩個(gè)整數(shù)是否相等
    if(number1 == number2) {
        printf("結(jié)果: %d = %d",number1,number2);
    }

    //檢查number1是否大于number2。
    else if (number1 > number2) {
        printf("結(jié)果: %d > %d", number1, number2);
    }

    //如果以上兩個(gè)測(cè)試表達(dá)式均為false,則執(zhí)行下面語(yǔ)句
    else {
        printf("結(jié)果: %d < %d",number1, number2);
    }

    return 0;
}

輸出結(jié)果

輸入兩個(gè)整數(shù): 12
23
結(jié)果: 12 < 23

C 語(yǔ)言 if...else 語(yǔ)句嵌套

可以在另一個(gè)if...else語(yǔ)句的主體中包含另一個(gè)if...else語(yǔ)句。

示例4:if...else嵌套演示

此程序下面給出使用任一涉及兩個(gè)整數(shù)<,>和=類(lèi)似if...else階梯的實(shí)例。但是,我們將使用嵌套if...else語(yǔ)句來(lái)解決此問(wèn)題。

#include <stdio.h>
int main() {
    int number1, number2;
    printf("輸入兩個(gè)整數(shù): ");
    scanf("%d %d", &number1, &number2);

    if (number1 >= number2) {
      if (number1 == number2) {
        printf("結(jié)果: %d = %d",number1,number2);
      }
      else {
        printf("結(jié)果: %d > %d", number1, number2);
      }
    }
    else {
        printf("結(jié)果: %d < %d",number1, number2);
    }

    return 0;
}

如果if...else語(yǔ)句的主體只有一個(gè)語(yǔ)句,可以不需要使用方括號(hào){}。

例如,下面代碼

if (a > b) {
    print("Hello");
}
print("Hi");

等同于

if (a > b)
    print("Hello");
print("Hi");
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清