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

C語言中的分支語句用法解讀

 更新時間:2025年05月06日 08:45:22   作者:wzsygcg  
這篇文章主要介紹了C語言中的分支語句用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言

C語言是一種結(jié)構(gòu)化程序設(shè)計語言,其由三大基本結(jié)構(gòu)組成,分別為:順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),它們組成的算法結(jié)構(gòu)可以解決任何復(fù)雜的問題。

對于順序結(jié)構(gòu)指的就是從main函數(shù)入口開始,從頭到尾依次執(zhí)行代碼。

對于選擇結(jié)構(gòu),顧名思義就是進行選擇,其有兩種語句:

1.if語句

1.1 if語句的語法形式

if(表達(dá)式)

語句

1.2 if語句用法

例:輸入一個整數(shù),判斷是否為奇數(shù)

由于表達(dá)式判斷的依據(jù)為真,若為非0值,則執(zhí)行語句,為0,則不執(zhí)行語句,所以奇數(shù)判斷依據(jù) a%2==1 可以略為 a%2.

由上我們可以不由的想,若需要判斷出偶數(shù)呢?

這就涉及到了if..else語句了

2.if..else語句

2.1 if...else語句的語法形式

  • if(表達(dá)式)
  • 語句1
  • else
  • 語句2

2.2應(yīng)用

1.對上文的代碼進行完善

2.輸??個年齡,>= 18歲就輸出:成年,否則就輸出:未成年

若我們要更加細(xì)致的區(qū)分不同年齡段的稱謂,我們就需要多條的if...else語句進行連用,即

3.嵌套if語句

if else語句可以進行連用構(gòu)成多重判斷。

3.1例

輸??個?的年齡 ,如果年齡<18歲,打印"少年" ,如果年齡在18歲?44歲打印"?年" ,如果年齡在45歲?59歲打印"中?年" ,如果年齡在60歲?89歲打印"?年" ,如果90歲及以上打印"?壽星"。

常見編譯錯誤1

問題:

修改后:

4.懸空else問題

對于這個問題,我們需要知道一個規(guī)則--else總是與最接近的if匹配

例:

對于上圖代碼,最后輸出的結(jié)果是什么呢?

結(jié)果其實是沒有輸出的,這就是典型的懸空else問題。加了大括號后會便于理解,由于else總是與最接近的if匹配,所以在 a=0 的情況下,是不符合if表達(dá)式中條件的,故不會有輸出。

由此可知,適當(dāng)?shù)募由洗罄ㄌ枙沟么a的可讀性高,邏輯更清晰。

當(dāng)然,大括號還會改變與else最接近的if語句,如:

這樣就會輸出 haha 。

5.關(guān)系操作符

> ,>= , < , <= , == , !=

以上都是關(guān)系操作符,其返回 0\1 ,0表示假,1表示真。

常見編譯錯誤2. 要注意區(qū)別 == 與 = ,== 是表示相等,若 A==B 表示A與B的值相等,但若是 A = B 則是表示將B賦值給A,兩者不能混淆。

溫馨小提示:若當(dāng)一個變量與一個常量比較相等時,建議將常量值放在 == 的左邊,這樣在寫錯了== 之后編譯器會進行報錯,便于檢查代碼。但若是將常量值位于 == 右邊則不會出現(xiàn)該報錯,但程序最后的結(jié)果時錯誤的。

常見編譯錯誤3.關(guān)系運算符不宜連用,會導(dǎo)致程序結(jié)果出錯

上圖就出現(xiàn)了錯誤,其執(zhí)行流程是這樣的:

先是a與47進行比較,得出0,后0與100進行比較,得出1,結(jié)果為真,返回 hehe。

那在C語言中如何表達(dá) 47<=a<=100?這就需要使用到邏輯操作符。

6. 邏輯操作符

  • && :邏輯或 ---真真為真(真就是非0)
  • || :邏輯與 ---假假為假(假就是0)
  • ?。?/strong>邏輯非 ---改變單個表達(dá)式的真假

所以就可以表示為 47<=a&&a<=100 ; 若要表示 a<=47或 a>=100,則就是 a<=47||a>=100;

若要表示a不等于47,就是 a!=47。

例:輸入年數(shù),判斷是不是閏年

7.短路

在C語言邏輯運算中有一個特點,都是先對左側(cè)的表達(dá)式求值,再對右側(cè)的表達(dá)式求值,其順序是固定的,所以在左側(cè)的表達(dá)式已經(jīng)符合邏輯運算符的條件的時候,右側(cè)的表達(dá)式將不會被執(zhí)行,這就是短路。

例:

1.&&的短路

由于a++是先使用,再+1,所以當(dāng)a=0的時候進行計算,故左側(cè)表達(dá)式為假,所以右側(cè)的表達(dá)式不會進行計算,由此輸出 1 4 5 0。

2.||的短路

同理,由于a++和c++的計算結(jié)果為真(1),所以后面的b++不會被計算了,最后輸出 1 4 6 1。

8..條件操作符

是C語言中唯一的三目操作符,其形式為:

例:比較兩個數(shù)的大小

9.switch語句

9.1 switch語句是一種特殊的if...else 結(jié)構(gòu),適用于判斷條件有多少個結(jié)果的情況。提高了代碼的可讀性,更方便使用。

9.2 switch語句的語法構(gòu)

switch(整型/字符型表達(dá)式)

{

case(整型常量表達(dá)式1):(語句)

default:(語句)

}

根據(jù)表達(dá)式計算出的不同值,程序?qū)?zhí)行不同的case語句。若是找不到對應(yīng)的case語句,就會執(zhí)行default分支。

例:1.

2.輸??個1~7的數(shù)字,打印對應(yīng)的星期?

例如:

  • 輸?:1 輸出:星期?
  • 輸?:2 輸出:星期?
  • 輸?:3 輸出:星期三
  • 輸?:4 輸出:星期四
  • 輸?:5 輸出:星期五
  • 輸?:6 輸出:星期六
  • 輸?:7 輸出:星期天

變題:

1. 輸?1~5,輸出的是“?作?”;

2. 輸?6~7,輸出“休息?”.

若用戶輸入的不是1-7的數(shù)字該如何編寫代碼?

這時就可以借助default了。

switch語句中的case子句和default子句是沒有順序要求的,只要滿足實際需求就行。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

南华县| 南靖县| 中阳县| 林甸县| 万载县| 枝江市| 北安市| 元阳县| 韶山市| 客服| 贵州省| 行唐县| 成武县| 高州市| 康平县| 广德县| 大渡口区| 楚雄市| 留坝县| 乐都县| 长宁区| 唐河县| 湘潭市| 成都市| 巴彦县| 柯坪县| 和平县| 淮南市| 长丰县| 遂川县| 宁波市| 宜良县| 昌邑市| 昔阳县| 基隆市| 中山市| 克东县| 大足县| 都安| 稻城县| 扎赉特旗|