最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中條件判斷的正確使用姿勢

 更新時(shí)間:2023年05月10日 08:37:55   作者:知微之見  
在C語言中,有三種條件判斷結(jié)構(gòu):if語句、if-else語句和switch語句,這篇文章主要來和大家講解一下它們的正確使用姿勢,需要的可以參考一下

前言

在C語言中,有三種條件判斷結(jié)構(gòu):if語句、if-else語句和switch語句。

一、if語句

基本語法

if (條件) {
    // 代碼塊1
}

代碼示例

#include <stdio.h>

int main() 
{
  int num = 5;
  if (num > 0) {
    printf("這個(gè)數(shù)為正數(shù).\n");
  }
  return 0;
}

運(yùn)行結(jié)果

二、if-else語句

基本語法

if (條件) {
    // 代碼塊1
} else {
    // 代碼塊2
}

代碼示例

#include <stdio.h>

int main() 
{
  int num = -2;
  if (num > 0) {
    printf("這個(gè)數(shù)為正數(shù).\n");
  } else {
    printf("這個(gè)數(shù)為負(fù)數(shù).\n");
  }
  return 0;
}

運(yùn)行結(jié)果

if語句嵌套使用

代碼示例

#include <stdio.h>

int main() {
    int num = 3;
    if (num > 0) {
        if (num < 5) {
            printf("num在1到4之間\n");
        } else {
            printf("num大于等于5\n");
        }
    } else {
        printf("num小于等于0\n");
    }
    return 0;
}

在這個(gè)示例中,外層的if語句判斷num是否大于0,如果成立,進(jìn)入內(nèi)層的if語句繼續(xù)判斷num是否小于5;

如果不成立,執(zhí)行else語句塊,輸出"num小于等于0"。

num的值是3,它既符合外層if語句的條件,也符合內(nèi)層if語句的條件,所以程序輸出"num在1到4之間"。

運(yùn)行結(jié)果

if else語句的鏈?zhǔn)绞褂?/h3>

代碼示例

#include <stdio.h>

int main() {
    int score = 85;
    if (score >= 90) {
        printf("優(yōu)秀\n");
    } else if (score >= 80) {
        printf("良好\n");
    } else if (score >= 70) {
        printf("中等\n");
    } else if (score >= 60) {
        printf("及格\n");
    } else {
        printf("不及格\n");
    }
    return 0;
}

在這個(gè)示例中,if else語句被鏈?zhǔn)绞褂?,程序從上到下依次判斷score的值是否大于等于90、是否大于等于80、是否大于等于70、是否大于等于60,最終輸出對應(yīng)的成績等級。

score的值是85,它大于等于80,但小于90,所以程序輸出"良好"。

運(yùn)行結(jié)果

三、switch語句

基本語法

switch (expression) {
    case constant1:
        statement1;
        break;
    case constant2:
        statement2;
        break;
    ...
    default:
        statementN;
        break;
}

switch語句的執(zhí)行過程如下:

  • 表達(dá)式的值被計(jì)算。
  • 表達(dá)式的值被依次與各個(gè)case后的常量進(jìn)行比較,直到找到與之匹配的常量。
  • 如果找到匹配的常量,執(zhí)行該常量對應(yīng)的代碼塊,并跳出switch語句。
  • 如果沒有找到匹配的常量,執(zhí)行default對應(yīng)的代碼塊(如果有),并跳出switch語句。

switch語句中的case標(biāo)簽可以是整數(shù)、字符或枚舉常量。

每個(gè)case標(biāo)簽必須是唯一的,且必須以冒號(:)結(jié)尾。

case后面的代碼塊中可以包含任意數(shù)量的語句,用花括號({})來組成代碼塊。

switch語句的default標(biāo)簽是可選的,它通常放在case標(biāo)簽的最后面。如果沒有匹配到任何case標(biāo)簽,那么default標(biāo)簽下的代碼塊將被執(zhí)行。

default標(biāo)簽只能出現(xiàn)一次,且必須放在最后一個(gè)case標(biāo)簽之后,否則會(huì)引發(fā)編譯錯(cuò)誤。

switch基礎(chǔ)用法

下面是一個(gè)簡單的switch語句示例,用于根據(jù)輸入的數(shù)字輸出對應(yīng)的星期幾:

#include <stdio.h>

int main() 
{
    int day;
    printf("請輸入數(shù)字(1-7):");
    scanf("%d", &day);
    switch (day) {
        case 1:
            printf("星期一\n");
            break;
        case 2:
            printf("星期二\n");
            break;
        case 3:
            printf("星期三\n");
            break;
        case 4:
            printf("星期四\n");
            break;
        case 5:
            printf("星期五\n");
            break;
        case 6:
            printf("星期六\n");
            break;
        case 7:
            printf("星期日\n");
            break;
        default:
            printf("輸入錯(cuò)誤!\n");
            break;
    }
    return 0;
}

運(yùn)行結(jié)果

switch高級用法

除了基本用法外,switch語句還有一些高級用法,可以更靈活地使用。

1、case標(biāo)簽穿透

在switch語句中,如果沒有在一個(gè)case語句塊中使用break語句,那么程序會(huì)從這個(gè)case開始,一直執(zhí)行到switch語句的結(jié)尾,這種現(xiàn)象被稱為case標(biāo)簽穿透。

下面是一個(gè)case標(biāo)簽穿透的示例:

#include <stdio.h>

int main() {
    int num = 3;
    switch (num) {
        case 1:
        case 2:
            printf("num是1或2\n");
            break;
        case 3:
        case 4:
            printf("num是3或4\n");
            break;
        default:
            printf("num不是1、2、3、4\n");
            break;
    }
    return 0;
}

在這個(gè)示例中,num的值是3,它既符合case 3的條件,也符合case 4的條件,但是由于case 3的語句塊中使用了break語句,所以程序執(zhí)行完case 3之后就跳出了switch語句,不會(huì)繼續(xù)執(zhí)行case 4的語句塊。

運(yùn)行結(jié)果

2、switch語句嵌套

在C語言中,switch語句可以嵌套使用,例如:

#include <stdio.h>

int main() 
{
    int num = 1;
    switch (num) {
        case 1:
            printf("num是1\n");
            switch (num) {
                case 2:
                    printf("num是2\n");
                    break;
                default:
                    printf("num不是2\n");
                    break;
            }
            break;
        case 3:
            printf("num是3\n");
            break;
        default:
            printf("num既不是1也不是3\n");
            break;
    }
    return 0;
}

在這個(gè)示例中,switch語句被嵌套使用,內(nèi)層的switch語句只有在外層的case 1被匹配時(shí)才會(huì)執(zhí)行。

運(yùn)行結(jié)果

到此這篇關(guān)于C語言中條件判斷的正確使用姿勢的文章就介紹到這了,更多相關(guān)C語言條件判斷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c++基礎(chǔ)使用STL的注意點(diǎn)詳解

    c++基礎(chǔ)使用STL的注意點(diǎn)詳解

    這篇文章主要為大家介紹了c++基礎(chǔ)使用STL的注意點(diǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • C語言鍵盤控制走迷宮小游戲

    C語言鍵盤控制走迷宮小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言鍵盤控制走迷宮小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • C++ std::shared_mutex讀寫鎖的使用

    C++ std::shared_mutex讀寫鎖的使用

    本文主要介紹了C++ std::shared_mutex讀寫鎖的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • libxml教程(圖文詳解)

    libxml教程(圖文詳解)

    本篇文章是對libxm進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言字符函數(shù)與字符串函數(shù)詳解

    C語言字符函數(shù)與字符串函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于C語言字符/字符串的相關(guān)函數(shù),文中通過示例代碼總結(jié)的非常詳細(xì),對大家學(xué)習(xí)或者使用C語言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • c++常量詳解

    c++常量詳解

    常量是存放固定且不可變值的,一旦確定初始值則在程序其它地方不可改變, 所以const對象必須初始化。常量一般使用const關(guān)鍵字來修飾
    2017-06-06
  • linux下使用g++編譯cpp工程的方法

    linux下使用g++編譯cpp工程的方法

    這篇文章主要介紹了linux下使用g++編譯cpp工程的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • C++多線程實(shí)現(xiàn)TCP服務(wù)器端同時(shí)和多個(gè)客戶端通信

    C++多線程實(shí)現(xiàn)TCP服務(wù)器端同時(shí)和多個(gè)客戶端通信

    通訊建立后首先由服務(wù)器端發(fā)送消息,客戶端接收消息;接著客戶端發(fā)送消息,服務(wù)器端接收消息,實(shí)現(xiàn)交互發(fā)送消息。本文主要介紹了C++多線程實(shí)現(xiàn)TCP服務(wù)器端同時(shí)和多個(gè)客戶端通信,感興趣的可以了解一下
    2021-05-05
  • QSS樣式表實(shí)現(xiàn)界面換膚功能

    QSS樣式表實(shí)現(xiàn)界面換膚功能

    這篇文章主要介紹了QSS樣式表實(shí)現(xiàn)界面換膚功能,對QSS樣式表進(jìn)行簡單介紹,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • 深入C中常用的三種排序方法總結(jié)以及探討分析

    深入C中常用的三種排序方法總結(jié)以及探討分析

    本篇文章是對C中常用的三種排序方法總結(jié)以及探討分析的概述,需要的朋友參考下
    2013-05-05

最新評論

靖江市| 修水县| 淅川县| 长葛市| 木兰县| 武义县| 邳州市| 舟曲县| 双桥区| 微山县| 罗田县| 富宁县| 巩留县| 乐业县| 万全县| 甘孜县| 共和县| 乐平市| 当涂县| 上栗县| 南靖县| 砀山县| 察隅县| 轮台县| 石泉县| 板桥市| 马关县| 罗山县| 鱼台县| 庆安县| 舟曲县| 吴忠市| 仙居县| 城口县| 册亨县| 广饶县| 五指山市| 莱阳市| 剑阁县| 同德县| 迭部县|