一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)
我的個人主頁:☆光之夢☆的博客_CSDN博客-C語言基礎語法(超詳細)領域博主
歡迎各位 👍點贊 ?收藏 📝評論
特別標注:本博主將會長期更新c語言的語法知識,初學c語言的朋友們,可以收藏訂閱一下我的<C語言基礎語法>專欄。 關注博主,學習不迷路哦
目錄
一、if 語句的基本結構
二、 if 語句的基本用法
2.1 項目一?找錢
2.2 else的用法
2.3 項目二?比較數的大小
2.4 關于大括號{}
三、分支
3.1 嵌套的 if 語句
3.2 else 的配對
3.3 用 if else 語句來表示分段函數
3.4 if 語句的常見錯誤
一、if 語句的基本結構
if (條件成立){? ? ? ? ? ? ??
......
}?
解析:
if 代表的意思是如果,()內是判斷是否執行 if 語句的條件,{ }內的…… 代表 if 要執行的內容
if 語句 不循環,條件滿足只執行一次 if 內的語句,條件不滿足就跳過 if 語句
二、 if 語句的基本用法
光說不練是肯定學不會的,接下來讓我們在實戰中來學習與掌握 if 語句
2.1 項目一?找錢
要求:計算并打印找錢,或告知用戶余額不足以購買。
代碼示例:
//初始化,定義兩個變量,一個價格price,一個金額bill int price = 0; int bill = 0;//讀入價格和金額 printf("請輸入價格:"); scanf("%d",&price); printf("請輸入金額:"); scanf("%d",&bill);//判斷找錢 if( bill >= price){printf("需要找您:%d元\n",bill - price); }萬一金額不夠,我們還要輸出:您的錢不夠
我們該怎么輸呢?
if( bill >= price){printf("需要找您:%d元\n",bill - price); } printf("您的錢不夠\n");這樣輸肯定不對,因為這種情況不管錢夠不夠都會輸出 您的錢不夠
請看下方運行結果:
?
?
因為 printf("您的錢不夠\n"); 不在 if 語句中,if語句如果條件不成立也不會跳過它,所以不管錢夠不夠都會輸出 您的錢不夠
所以我們需要用到else
2.2 else的用法
else = 否則的話
要輸出 您的錢不夠 正確的做法是:
if( bill >= price){printf("需要找您:%d/n元",bill - price); }else{printf("您的錢不夠\n"); }這個代碼的意思是:當?if 語句條件不滿足(也就是bill<price)時,也就是else(否則的話),執行else中的語句。打印:您的錢不夠
2.3 項目二?比較數的大小
要求:隨機輸入兩個數,比較這兩數中哪個數最大
比較數的大小(方案一) 純 if?
int a,b; printf("請輸入兩個整數:"); scanf("%d %d", &a, &b); int max = 0; if(a>b){max = a; } if(b>a){max = b; } printf("最大的那個數是%d\n", max);?比較數的大小(方案二) if else(更推薦)
int a,b; printf("請輸入兩個整數"); scanf("%d %d",&a,&b);int max=0;if(a>b){max=a; }else{max=b; }printf("最的大那個數是:%d\n",max);比較數的大小(方案三) 先讓其中一個數為最大值
int a,b; printf("請輸入兩個整數:"); scanf("%d %d", &a, &b); int max = b; if(a>b){max = a; }printf("大的那個是%d\n", max);2.4 關于大括號{}
if與else也可以不帶中括號去執行(非常不建議),條件滿足只能執行if接下來的一句內容,如果帶來中括號{},條件滿足則可以執行{}內的全部內容
例如:
int a=3,b=4; int max;if(a>b)printf("max=a"); elseprintf("max=b");printf("max=%d\n",max);注:即使只有一條語句的時候也要在 if 或者 else 后面總是用{},這樣做可以降低報錯率
三、分支
3.1 嵌套的 if 語句
當 if 的條件滿足或者不滿足的時候要執行的語句也可以是一條 if 或者 if-else 語句,這就是嵌套的if語句
代碼示例如下;
int a=3,b=6; int count=10;if(count>=0){if(a>b){printf("一切正常");}else{printf("程序有問題"); } }運行結果:
3.2 else 的配對
else總是和最近的那個 if 匹配,且與縮進無關
代碼示例如下:
int code,a,count=18;printf("請輸入code的值:"); scanf("%d",&code);printf("請輸入a的值:"); scanf("%d",&a);if( code<=0)if( count < 20 )printf("一切正常\n"); elseprintf("繼續等待\n");運行結果:
?解析:由于code=3,大于0,所以 if 語句的條件code<=0不滿足,所以就會跳過 if 語言,而 else總是和最近的那個 if 匹配,并且與縮進無關,所以這個else是與 if (count<20)匹配,不是與 if (code<=0)匹配。
3.3 用 if else 語句來表示分段函數
if( x < 0 ){f = -1; }else if( x == 0){f = 0; } else {f = 2 * x; }3.4 if 語句的常見錯誤
- 忘了大括號(永遠在if和else后面加上大括號,即使當時后面只有一條語句)
- if后面忘了分號
- 錯誤使用==和=
- 使人困惑的else
各位學習C語言的初學者,如果有問題隨時都可以來問我,我會隨時為您解答!歡迎大家與我一起學習,互相進步。
??👍?+??+📝(一鍵三連)?是對博主最大的鼓勵與支持哦。
總結
以上是生活随笔為你收集整理的一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 订阅内容解码失败(非base64码)_【
- 下一篇: 【“到此一游”系列】(菜鸡参加“美亚杯”