C語(yǔ)言圖文并茂講解分支語(yǔ)句用法
一、if 語(yǔ)句分析
- if 語(yǔ)句用于根據(jù)條件選擇執(zhí)行語(yǔ)句
- else 不能獨(dú)立存在且總是與它最近的 if 相匹配
- else 語(yǔ)句后可以接連其他 if 語(yǔ)句
if 語(yǔ)句中零值比較的注意點(diǎn)
- bool 型變量應(yīng)該直接出現(xiàn)于條件中,不要進(jìn)行比較
- 變量和 0 值比較時(shí),0 值應(yīng)該出現(xiàn)在比較符號(hào)左邊(這條規(guī)則可以拓展為任意字面量與變量比較時(shí),字面量應(yīng)該放在左邊,變量放在右邊,這樣即使手誤寫(xiě)成了 = ,編譯器也能發(fā)現(xiàn))
- float 型變量不能直接進(jìn)行 0 值比較,需要定義精度
二、switch 語(yǔ)句分析
- switch 語(yǔ)句對(duì)應(yīng)單個(gè)條件多個(gè)分值的情形
- case 語(yǔ)句分支必須要有 break ,否則會(huì)導(dǎo)致分支重疊
- default 語(yǔ)句有必要加上,以處理特殊情況
case 語(yǔ)句中的值只能是整型或字符型
case 語(yǔ)句的排列順序
- 按字母或數(shù)字順序排列各條語(yǔ)句
- 正常情況放在前面,異常情況放在后面
- default 語(yǔ)句只用于處理真正的默認(rèn)情況
下面看一段 if 和 switch 使用示例:
#include <stdio.h> void f1(int i) { if( i < 6 ) { printf("Failed!\n"); } else if( (6 <= i) && (i <= 8) ) { printf("Good!\n"); } else { printf("Perfect!\n"); } } void f2(char i) { switch(i) { case 'c': printf("Compile\n"); break; case 'd': printf("Debug\n"); break; case 'o': printf("Object\n"); break; case 'r': printf("Run\n"); break; default: printf("Unknown\n"); break; } } int main() { f1(5); f1(9); f1(7); f2('o'); f2('d'); f2('e'); return 0; }
下面為輸出結(jié)果:
下面反過(guò)來(lái),調(diào)換 if 和 switch,實(shí)現(xiàn)相同功能:
#include <stdio.h> void f1(int i) { switch( i < 6 ) { case 1: printf("Failed!\n"); break; default: switch( (6 <= i) && (i <= 8) ) { case 1: printf("Good!\n"); break; default: printf("Perfect!\n"); break; } break; } } void f2(char i) { if( 'c' == i ) { printf("Compile\n"); } else if( 'd' == i ) { printf("Debug\n"); } else if( 'o' == i ) { printf("Object\n"); } else if( 'r' == i ) { printf("Run\n"); } else { printf("Unknown\n"); } } int main() { f1(5); f1(9); f1(7); f2('o'); f2('d'); f2('e'); return 0; }
下面為輸出結(jié)果,和上面一模一樣:
三、小結(jié)
- if 語(yǔ)句適用于復(fù)雜邏輯進(jìn)行判斷的情形中
- switch 語(yǔ)句適用于對(duì)離散值進(jìn)行判斷的情形中
- if 語(yǔ)句和 switch 語(yǔ)句在功能上可以相互替換
- if 語(yǔ)句對(duì)于"按片"分支判斷的情形更加簡(jiǎn)潔
- switch 語(yǔ)句對(duì)于多分支判斷的情形更加簡(jiǎn)潔
到此這篇關(guān)于C語(yǔ)言圖文并茂講解分支語(yǔ)句用法的文章就介紹到這了,更多相關(guān)C語(yǔ)言 分支語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言運(yùn)算符及其優(yōu)先級(jí)匯總表口訣
由于C語(yǔ)言的運(yùn)算符優(yōu)先級(jí)與C++的不完全一樣(主要是增加了幾個(gè)運(yùn)算符),所以這個(gè)口訣不能完全實(shí)用于C++.但是應(yīng)該能夠兼容,大家可以比較一下他們的區(qū)別應(yīng)該就能夠很快掌握C++的優(yōu)先級(jí)的2013-07-07Visual Studio2022+QT6創(chuàng)建桌面應(yīng)用實(shí)現(xiàn)
本文主要介紹了Visual Studio2022+QT6創(chuàng)建桌面應(yīng)用實(shí)現(xiàn),文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02使用VS2022開(kāi)發(fā)在線遠(yuǎn)程編譯部署的C++程序(圖文詳解)
這篇文章主要介紹了使用VS2022開(kāi)發(fā)可以在線遠(yuǎn)程編譯部署的C++程序,本文分步驟通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12QT使用QComBox和QLineEdit實(shí)現(xiàn)模糊查詢功能
模糊查詢是指根據(jù)用戶輸入的文本,在下拉框的選項(xiàng)中進(jìn)行模糊匹配,并動(dòng)態(tài)地顯示匹配的選項(xiàng),本文將使用QComBox和QLineEdit實(shí)現(xiàn)模糊查詢功能,需要的可以參考下2023-11-11基于Qt實(shí)現(xiàn)簡(jiǎn)易GIF播放器的示例代碼
這篇文章主要介紹了如何利用Qt設(shè)計(jì)一個(gè)簡(jiǎn)易GIF播放器,可以播放GIF動(dòng)畫(huà)。其基本功能有載入文件、播放、暫停、停止、快進(jìn)和快退,感興趣的可以了解一下2022-06-06用c語(yǔ)言實(shí)現(xiàn)一個(gè)電話薄(附完整代碼)
大家好,本篇文章主要講的是用c語(yǔ)言實(shí)現(xiàn)一個(gè)電話?。ǜ酵暾a),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01Linux系統(tǒng)下C語(yǔ)言gets函數(shù)出現(xiàn)警告問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于在Linux系統(tǒng)下C語(yǔ)言gets函數(shù)出現(xiàn)警告問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12