前言
?? ??hello! 各位寶子們大家好啊,相信大家都多多少少了解過if語句吧,但是你真的有了解過,所有if語句的細節(jié)嗎?學完這篇文章你將知道if語句的所有知識。
結構化程序設計的三種基本結構
??大家都知道C語言開發(fā)出來是為了解決生活中的問題的,而生活中的問題可以大致分為:
?? 順序結構:
- 就是按照順序一步一步往下走
??選擇結構:
分支語句
if
和switch
??循環(huán)結構:
循環(huán)語句:
whlie
、for
、do while
本次主要給大家講解選擇結構中的分支語句:if
語句、switch
語句;
?? 分支語句 (選擇結構)
??那么什么是選擇呢?
想我們生活中的,最平常的
今天選擇吃吃蛋炒飯呢?
還是吃吃紅燒牛肉面條?這個就是選擇?
?? 當然我們生活種還有些人說,這些我都不想吃我就想吃大蝦。
- 這個在C語言中就是多分支語句。
?? 現(xiàn)在大家明白什么是選擇結構了吧! 廢話不多下面給大家講講講在C語言中選擇語句是怎么實現(xiàn)的。
C語言中選擇結構為我們提供了倆個選擇語句:if
語句switch
語句
?? if 語句
-
if
由名知意:就是條件的意思嘛。
先來給大家講講if語句的語法是怎么樣的?
?? 代碼演示:if
語句的單分支情況
? 語法結構:
if(表達式)
{
語句;
}
??這邊來解釋一下但分支
if
語法結構意思:
??if
前面說了是條件所以我們if
后面跟的表達式
就是條件
??而下面的括號代表滿足這個條件
就進入到這個括號里面開始執(zhí)行括號里面的語句。
- 語法清楚了那么,實戰(zhàn)開始
#include <stdio.h>
int main()
{
int age = 0;
//輸入
scanf("%d", &age);
if (age < 18)
printf("未成年\n");
return 0;
}
??說明:
這里的意識是輸入一個年齡,我們進行判斷,當小于18時我們就輸出未成年。
- 各位鐵鐵們是不是非常簡單,這就是if語句的單分支情況。
?? 代碼演示:if
語句的單雙分支情況
? 語法結構:
if(表達式)
{
語句1;
}
else
{
語句2;
}
??這邊來解釋一下但雙分支
if
語法結構意思:
??if
的單分支我們前面講了,其實 雙分支 也非常簡單。else 就是否則的意思。字面上理解就是多了一種情況。有了倆種選擇,是吧就是如此的簡單!
??滿足if
語句后面的表達式
的條件
,就進入if
后面跟的 括號 里面 執(zhí)行語句 ,否則就進入else
后面的括號里面 執(zhí)行語句;
- 語法清楚了那么,實戰(zhàn)開始
#include <stdio.h>
int main()
{
int age = 0;
//輸入
scanf("%d", &age);
if (age < 18)
printf("未成年\n");
else
printf("成年\n");
return 0;
}
ok各位鐵汁們,這段代碼大家看的懂嘛!
??說明:
當我們輸入的年齡大于
18時就輸出 成年!
當我們輸入的年齡小于
18時就輸出 未成年!
這是不是可以選擇的就是倆總情況了呢?這個就叫if
語句的雙分支。
??那么有人就會問那博主,那我有更多的情況怎么表達呢?
??這時就會用到if的多分支情況,下面我們來一起看看吧。
?? 代碼演示:if
語句的多分支情況
? 語法結構:
if(表達式1)
{
語句1;
}
else if(表達式2)
{
語句2;
}
else
{
語句3;
}
??這邊來解釋一下但雙多分支
if
語法結構意思:
??if
的單雙分支我們前面講了,多分支其實和雙分支很像。多了一些條件嘛。條件那么在加上一個if然后在表達式里面寫條件就好了。這是不是就好理解多了。
??多幾個條件我們就加幾個else if
就好了,滿足else if
后面的表達式條件就進入后面跟的括號里面的語句
- 語法清楚了那么,實戰(zhàn)開始
#include <stdio.h>
int main()
{
int age = 0;
//輸入
scanf("%d", &age);
//<18 青少年
//18~30 青年
//31~50 中年
//51~80 中老年
//81~100 老年
//101+ 老壽星
if (age < 18)
printf("青少年\n");
else if (age >= 18 && age <= 30)
printf("青年\n");
else if (age >= 31 && age <= 50)
printf("中年\n");
else if (age >= 51 && age <= 80)
printf("中老年\n");
else if (age >= 81 && age <= 100)
prnitf("老年\n");
else
printf("老壽星\n");
return 0;
}
else if (age >= 18 && age <= 30)
這句話各位鐵子們剛學可能看不懂,相信大家可能會問18~30數(shù)學里面直接寫:
?? 說明:
- 18<= age <=30 這個是數(shù)學里面的寫法。
- 而這樣寫C語言會當成什么呢?
- C語言中會先執(zhí)行
18<=age
這個條件,當我們輸入15
時。18<=15肯定是假的那么就是0
。在C語言中假為0,真為1。 - 18<= age <=30 就會變成0 <=30
- 看下面這段代碼,所以當我們輸入15時也會輸出青年
?? 怎么解決呢?
在C語言中&&
是邏輯與的意思就是并且
所以我們這樣寫18<= age <=30 就完美解決了這個問題。
同時滿足18<= age和age <=30倆個條件。
ok各位鐵汁們,這下這段代碼大家看的懂了嘛!
??說明:
這里我們就用了if
多分支寫了多個條件。
輸入年齡大于18 ?輸出 ? 青少年
輸入年齡18~30 ??輸出 ??青年
輸入年齡31~50 ??輸出 ??中年
輸入年齡51~80 ??輸出 ??中老年
輸入年齡81~100?輸出 ??老年
輸入年齡101+ ??輸出??老壽星
??各位鐵子們,明白了嘛,是不是也不難!
?? if語句中的嵌套
?? 在if語句中是支持嵌套使用的大家看。
if (age < 18)
{
printf("青少年\n");
}
else
{
if (age >= 18 && age <= 30)
printf("青年\n");
else if (age >= 31 && age <= 50)
printf("中年\n");
else if (age >= 51 && age <= 80)
printf("中老年\n");
else if (age >= 81 && age <= 100)
printf("老年\n");
else
printf("老壽星\n");
}
- 這里我們就使用了
if
語句的嵌套,當輸入的年齡大于18
了,之后就進入else
里面嵌套的if語句里面判斷。
?? if語句中的注意事項
?? if 語句中的大括號
- 前面我們的if語句都沒有帶大括號,大家看下這段代碼
//代碼一: //代碼二:
if (18 <= age ) if (18 <= age )
printf("青年\n"); {
printf("成年了\n"); printf("青年\n");
printf("成年了\n");
}
這倆個語句有什么區(qū)別?運行看一下
- 我們的本意是當輸入年齡時18時才會輸出后面?zhèn)z條語句。
- 結果我們輸入15時,結果第二條打印語句也輸出了。
而帶了括號呢?
?? 這是為什么嘞!
?? 原因:
- 在
if
語句中只默認跟一條語句,想跟多條
語句的話,就要在if語句里面加上大括號然后再大括號里面寫語句就可以執(zhí)行多條
了。- 所以我們好的習慣是,不管是一條語句還是多條語句都加大括號。
- 這就是所謂的復合語句,有多條語句。
? 模板:
if (18 <= age )
{
printf("青年\n");
printf("成年了\n");
}
else
{
printf("哈哈\n");
}
?? 懸空else、else的匹配規(guī)則
大家看一下這段代碼,的輸出結果是什么。
#include <stdio.h>
int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
- 相信很多人都會說,這還不簡單,當
a
不等于1是不就進入else
里面打印haha
嘛? -
真的是這樣嘛?
我們來看一下
大家看什么都沒輸出,啊為什么會是這樣呢?
- 這段代碼我們重新手寫一下
#include <stdio.h>
int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
這樣才是真正的書寫方式,是不是直觀很多呢?
- 這時大家會發(fā)現(xiàn),一個人的代碼規(guī)范真的特別重要,行為不規(guī)范的代碼特別容易造成誤解!
? 模板:
然后我們來講下為什么?文章來源:http://www.zghlxwxcb.cn/news/detail-641129.html
else
是和最近的if
相匹配的。- 所以當我們a=0時就不會進入里面的if語句進行判斷所以就什么都沒打印啦。
總結
? 歸納:
好了以上就是if語句的全部內容了,關于
??if的語法
??if的大括號
??if的嵌套
??注意事項
??else的匹配規(guī)則
就是這些內容了,學會他們你就可以玩轉if語句了。
給大家留下一個題目大家學完之后可以去練習練習,鞏固一下自己今天學的知識。
判斷一個數(shù)是否為奇數(shù)
看到這里了還不給博主扣個點贊
加收藏
!
?? ?? ?? ?? ???? ?? ?? ?? ?? ??
拜托拜托這個真的很重要!
你們的點贊就是博主更新最大的動力!
有問題可以評論或者私信呢秒回哦。文章來源地址http://www.zghlxwxcb.cn/news/detail-641129.html
到了這里,關于【C語言初階】 分支語句 if 的全面介紹的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!