0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

技術(shù)干貨驛站 ▏深入理解C語言:掌握C語言條件判斷,從if到switch的應(yīng)用

合眾恒躍 ? 2024-11-09 01:10 ? 次閱讀

編程中,條件判斷語句是控制程序流程的核心元素之一。它們使得程序能夠根據(jù)不同的輸入和狀態(tài),做出相應(yīng)的決策。特別是在C語言中,條件判斷語句的使用極為廣泛,涵蓋了從簡(jiǎn)單的if語句到更復(fù)雜的switch語句和條件運(yùn)算符。這些結(jié)構(gòu)不僅增強(qiáng)了代碼的靈活性,還提高了程序的可讀性和可維護(hù)性。本文將深入探討C語言中的主要條件判斷語句,包括它們的語法、使用方法及實(shí)際應(yīng)用,通過具體示例幫助讀者更好地理解和掌握這些重要概念。

01#

一:什么是條件判斷語句

判斷結(jié)構(gòu)要求指定一個(gè)或多個(gè)要評(píng)估或測(cè)試的條件,以及條件為真時(shí)要執(zhí)行的語句(必需的)和條件為假時(shí)要執(zhí)行的語句(可選的)。

C 語言把任何非零和非空的值假定為true,把零或null假定為 false。


以下是C語言的三種條件判斷語句:

5d656ba8-9df4-11ef-8084-92fbcf53809c.png

02#

二:if語句

(1):if語句

一個(gè) if 語句 由一個(gè)布爾表達(dá)式后跟一個(gè)或多個(gè)語句組成。

5d732fa4-9df4-11ef-8084-92fbcf53809c.png

如果布爾表達(dá)式為 true ,則 if 語句內(nèi)的代碼塊將被執(zhí)行。如果布爾表達(dá)式為 false ,則 if 語句結(jié)束后的第一組代碼(閉括號(hào)后)將被執(zhí)行

編寫一個(gè)簡(jiǎn)單的程序:

5d7a59f0-9df4-11ef-8084-92fbcf53809c.png

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

5d8f4b80-9df4-11ef-8084-92fbcf53809c.png

(2):if...else 語句

一個(gè) if 語句 后可跟一個(gè)可選的 else 語句,else 語句在布爾表達(dá)式為 false 時(shí)執(zhí)行。

5d9bf0f6-9df4-11ef-8084-92fbcf53809c.png

如果布爾表達(dá)式為 true,則執(zhí)行 if 塊內(nèi)的代碼。如果布爾表達(dá)式為 false,則執(zhí)行 else 塊內(nèi)的代碼。


編寫一個(gè)簡(jiǎn)單的程序:

5daa37ec-9df4-11ef-8084-92fbcf53809c.png

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

5dbd990e-9df4-11ef-8084-92fbcf53809c.png

(3)if...else if...else語句

一個(gè) if 語句后可跟一個(gè)可選的 else if...else 語句,這可用于測(cè)試多種條件。

當(dāng)使用 if...else if...else 語句時(shí),以下幾點(diǎn)需要注意:

l 一個(gè) if 后可跟零個(gè)或一個(gè) else,else 必須在所有 else if 之后。

l 一個(gè) if 后可跟零個(gè)或多個(gè) else if,else if 必須在 else 之前。

l 一旦某個(gè) else if 匹配成功,其他的 else if 或 else 將不會(huì)被執(zhí)行。

編寫一個(gè)簡(jiǎn)單的程序:

5dc90294-9df4-11ef-8084-92fbcf53809c.png

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

5ddb4f58-9df4-11ef-8084-92fbcf53809c.png

(4)嵌套 if...else語句

在 C 語言中,嵌套 if...else 語句是合法的,可以在一個(gè) if 或 else if 語句內(nèi)使用另一個(gè) if 或 else if 語句。

編寫一個(gè)簡(jiǎn)單的程序:

5de5f5ac-9df4-11ef-8084-92fbcf53809c.png

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

5e00087a-9df4-11ef-8084-92fbcf53809c.png

03#

三:switch語句

(1):switch語句

switch 語句是一種有限制的控制流語句,它用于根據(jù)表達(dá)式的值執(zhí)行不同的代碼塊。

一個(gè) switch 語句允許測(cè)試一個(gè)變量等于多個(gè)值時(shí)的情況,每個(gè)值稱為一個(gè) case,且被測(cè)試的變量會(huì)對(duì)每個(gè) switch case 進(jìn)行檢查。

5e14802a-9df4-11ef-8084-92fbcf53809c.png

編寫一個(gè)簡(jiǎn)單的程序:

5e1de94e-9df4-11ef-8084-92fbcf53809c.png

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

5e2c50a6-9df4-11ef-8084-92fbcf53809c.png

l switch 后面的表達(dá)式的值將會(huì)與每個(gè) case 后面的常量值進(jìn)行比較,直到找到匹配的值或者執(zhí)行到 default(如果存在)。

l 如果找到匹配的值,將執(zhí)行相應(yīng) case 后面的代碼塊,然后跳出 switch 語句。

l 如果沒有匹配的值,并且有 default,則執(zhí)行 default 后面的代碼塊。

l 如果沒有匹配的值,并且沒有 default,則跳過整個(gè) switch 語句直到結(jié)束。

(2):嵌套switch語句

可以在一個(gè) switch 語句內(nèi)使用另一個(gè) switch 語句。

編寫一個(gè)簡(jiǎn)單的程序:

5e412440-9df4-11ef-8084-92fbcf53809c.png

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

5e4bd98a-9df4-11ef-8084-92fbcf53809c.png


推導(dǎo)一下流程:

l 第6行:開始時(shí)n=1,匹配下方case1

l 第8行:m自增1,此時(shí)m=3

l 第9行:由于沒有break,繼續(xù)執(zhí)行n自增1,此時(shí)n=2

l 第10行:由于沒有break,繼續(xù)執(zhí)行case3

l 第11行:此時(shí)匹配n=2

l 第14行:m自增1,n自增1,此時(shí)m=4 , n=3

l 第15行:由于存在break,退出該switch語句

l 第19行:m自增1,此時(shí)m=5

l 第20行:由于存在break,退出該switch語句

l 最終結(jié)果:m=5 , n=3

04#

四:條件運(yùn)算符

我們?cè)谶\(yùn)算符部分提到了條件運(yùn)算符 ? :,它是C語言唯一一個(gè)三目運(yùn)算符,可以用來替代 if...else 語句。

其中,condition 、block1 和 block2 是表達(dá)式。

如果 condition 為真,則計(jì)算 block1 的值,結(jié)果即為整個(gè)表達(dá)式的值。如果 condition 為假,則計(jì)算 block2 的值,結(jié)果即為整個(gè)表達(dá)式的值。

5e54ec6e-9df4-11ef-8084-92fbcf53809c.png

編寫一個(gè)簡(jiǎn)單的程序:

5e5d3d4c-9df4-11ef-8084-92fbcf53809c.png

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

5e7057ce-9df4-11ef-8084-92fbcf53809c.png

關(guān)于更多嵌入式學(xué)習(xí)資料

將持續(xù)更新中

敬請(qǐng)期待

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7628

    瀏覽量

    140017
  • 運(yùn)算符
    +關(guān)注

    關(guān)注

    0

    文章

    172

    瀏覽量

    11309
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    C語言中if語句、if-else語句和switch語句詳解

    C語言中,有三種條件判斷結(jié)構(gòu):if語句、if-else語句和switch語句。
    發(fā)表于 08-18 16:36 ?1.3w次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>中if語句、if-else語句和<b class='flag-5'>switch</b>語句詳解

    技術(shù)干貨驛站深入理解C語言:基本數(shù)據(jù)類型和變量

    C語言中,數(shù)據(jù)類型和變量是編程的基礎(chǔ),也是理解更復(fù)雜概念的關(guān)鍵。數(shù)據(jù)類型決定了變量的內(nèi)存分配、存儲(chǔ)范圍和操作方式,而變量則是存儲(chǔ)數(shù)據(jù)的容器。本篇文章將從基本數(shù)據(jù)類型和變量兩個(gè)方面,帶你深入
    的頭像 發(fā)表于 07-26 17:53 ?2529次閱讀
    <b class='flag-5'>技術(shù)</b><b class='flag-5'>干貨</b><b class='flag-5'>驛站</b> ▏<b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:基本數(shù)據(jù)類型和變量

    技術(shù)干貨驛站深入理解C語言掌握程序結(jié)構(gòu)知識(shí)

    的HelloWorld程序開始,讓我們深入探討C語言的程序構(gòu)成和基本語法規(guī)則。一:C語言程序結(jié)構(gòu)先來看一個(gè)簡(jiǎn)單的HelloWorld程序:一
    的頭像 發(fā)表于 07-27 08:45 ?1726次閱讀
    <b class='flag-5'>技術(shù)</b><b class='flag-5'>干貨</b><b class='flag-5'>驛站</b> ▏<b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>掌握</b>程序結(jié)構(gòu)知識(shí)

    技術(shù)干貨驛站深入理解C語言掌握常量,讓你的代碼更加穩(wěn)固高效!

    C語言的世界中,常量是一種不可忽視的元素。無論你是在編寫簡(jiǎn)單的代碼,還是構(gòu)建復(fù)雜的系統(tǒng),常量都能為你的程序帶來更高的穩(wěn)定性和可靠性。在這篇文章中,我們將深入探討C
    的頭像 發(fā)表于 08-29 13:59 ?3354次閱讀
    <b class='flag-5'>技術(shù)</b><b class='flag-5'>干貨</b><b class='flag-5'>驛站</b> ▏<b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>掌握</b>常量,讓你的代碼更加穩(wěn)固高效!

    深入理解C語言C語言循環(huán)控制

    C語言編程中,循環(huán)結(jié)構(gòu)是至關(guān)重要的,它可以讓程序重復(fù)執(zhí)行特定的代碼塊,從而提高編程效率。然而,為了避免程序進(jìn)入無限循環(huán),C語言提供了多種循環(huán)控制語句,如break、continue和
    的頭像 發(fā)表于 04-29 18:49 ?600次閱讀
    <b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>C</b><b class='flag-5'>語言</b>循環(huán)控制

    深入理解C語言比較有用的幾個(gè)資料

    這里有三個(gè)對(duì)深入理解C語言的資料,覺得不錯(cuò),分享一下
    發(fā)表于 08-07 21:37

    51單片機(jī)C語言講義(譚浩強(qiáng))以及深入理解C指針

    本帖最后由 發(fā)燒友之麒麟 于 2014-10-6 09:19 編輯 C語言講義(譚浩強(qiáng))及深入理解C指針,自己在用的資料,覺得寫得挺好的就拿出來分享,需要的請(qǐng)回[attach]2
    發(fā)表于 10-02 17:05

    C語言有哪些應(yīng)用

    ,WOELD!”,點(diǎn)亮單片機(jī)的LED等,大用來進(jìn)行嵌入式系統(tǒng)開發(fā)、寫操作系統(tǒng)和實(shí)現(xiàn)其他高級(jí)語言。掌握C語言有助于我們學(xué)習(xí)其他編程
    發(fā)表于 07-20 06:58

    對(duì)棧的深入理解

    為什么要深入理解棧?做C語言開發(fā)如果棧設(shè)置不合理或者使用不對(duì),棧就會(huì)溢出,溢出就會(huì)遇到無法預(yù)測(cè)亂飛現(xiàn)象。所以對(duì)棧的深入理解是非常重要的。注:動(dòng)畫如果看不清楚可以電腦看更清晰啥是棧先來看
    發(fā)表于 02-15 07:01

    為什么要深入理解

    [導(dǎo)讀] 從這篇文章開始,將會(huì)不定期更新關(guān)于嵌入式C語言編程相關(guān)的個(gè)人認(rèn)為比較重要的知識(shí)點(diǎn),或者踩過的坑。為什么要深入理解棧?做C語言開發(fā)如
    發(fā)表于 02-15 06:09

    C++語言基礎(chǔ)講解視頻Switch分支條件判斷語句

    C++語言基礎(chǔ)講解視頻Switch分支條件判斷語句
    發(fā)表于 01-14 08:00 ?7次下載

    深入探索Linux中的C語言

    本章將深入探索 Linux 中的 C 語言。在本章中,我們將學(xué)到更多關(guān)于編譯器、源碼二進(jìn)制程序的 4 個(gè)步驟、如何使用 Make 工具以
    的頭像 發(fā)表于 03-14 16:48 ?2233次閱讀

    技術(shù)干貨驛站深入理解C語言:編程高手必備,全方位解析運(yùn)算符的核心技能!

    過程中發(fā)揮著重要作用,還對(duì)程序的性能和穩(wěn)定性產(chǎn)生直接影響。繼上一期對(duì)C語言常量的深入分析后,本文將進(jìn)一步探討C語言中的常用運(yùn)算符,詳細(xì)解析其
    的頭像 發(fā)表于 09-18 15:56 ?607次閱讀
    <b class='flag-5'>技術(shù)</b><b class='flag-5'>干貨</b><b class='flag-5'>驛站</b> ▏<b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:編程高手必備,全方位解析運(yùn)算符的核心技能!

    深入理解C語言:循環(huán)語句的應(yīng)用與優(yōu)化技巧

    能讓你的代碼更加簡(jiǎn)潔明了,還能顯著提升程序執(zhí)行效率。本文將詳細(xì)介紹C語言中的三種常見循環(huán)結(jié)構(gòu)——while循環(huán)、for循環(huán)和do...while循環(huán),帶你深入理解
    的頭像 發(fā)表于 12-07 01:11 ?474次閱讀
    <b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:循環(huán)語句的應(yīng)用與優(yōu)化技巧

    技術(shù)干貨驛站深入理解C語言:嵌套循環(huán)與循環(huán)控制的底層原理

    多重循環(huán),還是控制循環(huán)的執(zhí)行流程,掌握這些知識(shí)都將為你的編程之路打下堅(jiān)實(shí)的基礎(chǔ)。嵌套循環(huán)在C語言中,循環(huán)語句可以嵌套使用,即在一個(gè)循環(huán)中再使用另一個(gè)循環(huán)。這種嵌套結(jié)
    的頭像 發(fā)表于 02-21 18:26 ?378次閱讀
    <b class='flag-5'>技術(shù)</b><b class='flag-5'>干貨</b><b class='flag-5'>驛站</b>  ▏<b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:嵌套循環(huán)與循環(huán)控制的底層原理

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品