C語言裡面的分支與跳轉語句
一、if語句
形式1:
if (邏輯表達式)
執行語句
如果邏輯表達式為真,則執行執行語句
形式2:
if (邏輯表達式)
執行語句1
else
執行語句2
如果邏輯表示是為真則執行執行語句1,否則執行執行語句2
形式3:
if (邏輯表達式1)
執行語句1
else if (邏輯表達式2)
執行語句2
else
執行語句3
想要一起學習C++的可以加裙六二六八七一九一六,裙內有各種資料滿足大家,歡迎加裙
如果邏輯表達式1為真,則自行執行語句1,如果邏輯表達式1為假而邏輯表達式2為真,則執行執行語句2,否則,如果兩個表達式都為假,執行執行語句3
關於if語句形式2分析:
規則是如果沒有花括弧致命,else與和它最近的一個if相匹配。如果希望在if和else之間有多條語句,必須使用花括弧創建一個代碼塊。下面的結構違反了C語法,因為編譯器期望if和else之間只有一條語句。
編譯器會把printf()語句看作if語句的部分,將x++語句看作一條單獨的語句,而不把它作為if語句的一部分。然後會認為else沒有所屬的if,這是個錯誤,應該使用花括弧。或者參看do while (0)語句。
判斷條件通常是一個關係表達式,也就是用一個關係運算符構成的表達式,例如:
需要注意的幾點:
1、賦值運算符和邏輯運算符
例如:
if (5 = n) 語法錯誤
if (5 == n) 檢查n的值是否為5
2、 if(n != 0)可用if (n)代替
3、if (n >= 9 && n
問題在於該代碼是語義錯誤,我不是語法錯誤,因為對於
(90
子表達式90
例如: if (5 > 2 > 3) 布爾值為0(假).
注意: 零值表示「假」,非零值表示「真」,負數也是非零值。
二、循環輔助手段:continue和break
1、continue語句
continue命令可以與三種循環形式中的任何一種一起作用,但是不能喝switch語句一起使用。他導致程序控制跳過循環中的剩餘語句。對於while和for循環,開始下一個循環周期。對於do while循環,對退出條件進行判斷,如果必要,開始下一個循環周期。
用處:可以在主語語句中消除一級縮排。當語句很長或者已經有很深的嵌套時,作為佔位符,使代碼根據可讀性:
while (getchar () != "
")
continue;
2、break語句
循環中的break語句導致程序終止包含它的循環,並進行程序的下一階段。break命令可以與三種循環形式中的任何一種以及switch語句一起使用。它導致程序控制跳過包含它的循環或switch語句的剩餘部分,繼續執行緊跟在循環或switch後的下一條命令。
break語句實質上是switch語句的附屬物,順便提一下,break語句用於循環和switch中,而continue僅用於循環。
例如:在if語句中使用continue會出現: 錯誤:continue語句出現在循環以外。
三、多重選擇:switch和break
以上面的例子來說明switch語句:
如果i為整形值1或者2,則列印22222。如果它的值為3,則列印33333和44444(因為雜case 3後沒有break語句,所以流程繼續到隨後的語句),如果它的值為4,則列印44444,。對於其他值,僅列印hello world
想要一起學習C++的可以加裙六二六八七一九一六,裙內有各種資料滿足大家,歡迎加裙
總體註解:
程序控制按照邏輯表達式的值跳轉到相應的case標籤處。然後程序流程繼續通過所有剩餘的語句,直達再次由break語句重定向。邏輯表達式和case標籤必須都是整型值(包括類型char),並且標籤必須是常量或者完全有常量組成的表達式。如果沒有表達式值相匹配的case標籤,那麼控制定位到標籤為default的語句,如果它存在的話。否則,控制傳遞給緊跟著switch語句的下一條語句。
每個 switch 語句中只能出現一條 default 子句。但是,它可以出現在語句列表的任何位置,而且語句流會像貫穿一個 case 標籤一樣貫穿 default 子句。四、goto語句
不要輕易使用
可以了解一下:
while(1)、for( ; ; )、goto這三者可作為死循環
想要一起學習C++的可以加裙六二六八七一九一六,裙內有各種資料滿足大家,歡迎加裙
※C語言小程序——令人頭疼的年齡問題!
※最簡易 惡搞朋友的C語言代碼
※C程序解析:C語言控制語句之學習前言
※C加加應該怎麼學呢?
※C語言 編程 20幾歲學和初中開始學習的差距
TAG:C加加 |
※藏傳佛教的各個分支流派
※經典封神:命運石之門,世界線的跳躍,分支重現,內含劇透慎點,三分之二
※SD-WAN為下一代分支機構提供數字化轉型
※傳統漢服分支——道袍
※流量明星,演藝圈風險極高的一個分支
※流量明星,演藝圈風險極高的一個分支!
※Python 工匠:編寫條件分支代碼的技巧
※動物系惡魔果實兩大分支:古代種與幻獸種誰更厲害?
※苗利輝:龜茲文化是中國傳統文化的合理分支
※渲染真實《COD現代戰爭》會隨玩家行動產生分支對話
※通用電氣旗下次按分支或宣告破產
※太殘忍!IS阿富汗分支放出宣傳影片,指使7歲男孩做劊子手!
※異想天開的分支傢具
※Git 分支操作介紹
※電影盤點:香港電影小類型分支,以真實人物為原型——梟雄電影
※海賊王:D之一族目前已出現6個分支,有2個分支或許能毀滅天龍人
※紫砂入門知識之——紫砂文化的分支
※賽爾號:代表一個時代的皮神完全體,兩種進化分支終於決出最強
※蒙古到底有多少分支?各分支又是如何演變的?
※金庸筆下此門派乃少林分支,以神仙為名,卻連掌門都弱得被人恥笑