反覆不停的執行某個動作就是江湖人稱的迴圈。
c語言中有三種迴圈結構,先看一下c語言while迴圈的結構
其中表示式表示迴圈條件,執行**塊為迴圈體。
while語句的語義是:計算表示式的值,當值為真(非0)
時, 執行迴圈體**塊。
c語言中的do-while
迴圈,一般形式如下:
do-while迴圈語句的語義是:
c語言中for迴圈一般形式:
它的執行過程如下:
執行表示式1,對迴圈變數做初始化;
判斷表示式2,若其值為真(非0),則執行for迴圈體中執行**塊,然後向下執行;若其值為假(0),則結束迴圈;
執行表示式3,(i++)等對於迴圈變數進行操作的語句;
執行for迴圈中執行**塊後執行第二步;第一步初始化只會執行一次。
迴圈結束,程式繼續向下執行。
注意:for迴圈中的兩個分號一定要寫
在for迴圈中:
使用for語句應該注意:
for迴圈中的「表示式1、2、3」均可不寫為空,但兩個分號(;;)
不能預設。
省略「表示式1(迴圈變數賦初值)」,表示不對迴圈變數賦初始值。
省略「表示式2(迴圈條件)」,不做其它處理,迴圈一直執行(死迴圈)。
省略「表示式3(迴圈變數增減量)」,不做其他處理,迴圈一直執行(死迴圈)。
表示式1可以是設定迴圈變數的初值的賦值表示式,也可以是其他表示式。
表示式1和表示式3可以是乙個簡單表示式也可以是多個表示式以逗號分割。
表示式2一般是關係表示式或邏輯表示式,但也可是數值表示式或字元表示式,只要其值非零,就執行迴圈體。
各表示式中的變數一定要在for迴圈之前定義。
while, do-while和for三種迴圈在具體的使用場合上是有區別的,如下:
在知道迴圈次數的情況下更適合使用for迴圈;
在不知道迴圈次數的情況下適合使用while或者do-while迴圈:如果有可能一次都不迴圈應考慮使用while迴圈
如果至少迴圈一次應考慮使用do-while迴圈。
但是從本質上講,while,do-while和for迴圈之間是可以相互轉換的。
多重迴圈就是在迴圈結構的迴圈體中又出現迴圈結構。
在實際開發中一般最多用到三層重迴圈。
因為迴圈層數越多,執行時間越長,程式越複雜,所以一般用2-3層多重迴圈就可以了。另外不同迴圈之間也是可以巢狀的。
多重迴圈在執行的過程中,外層迴圈為父迴圈,內層迴圈為子迴圈,
父迴圈一次,子迴圈需要全部執行完,直到跳出迴圈。父迴圈再進入下一次,子迴圈繼續執行...
使用break
語句時注意以下幾點:
在沒有迴圈結構的情況下,break不能用在單獨的if-else語句中。
在多層迴圈中,乙個break語句只跳出當前迴圈
break是跳出當前整個迴圈,continue是結束本次迴圈開始下一次迴圈。
c語言中的分支結構語句中的if條件
語句。
if其語義是:如果表示式的值為真,則執行其後的語句,否則不執行該語句。(表示式)
注意:if()
後面沒有分號,直接寫{}
簡單的if-else
語句的基本結構:
語義是: 如果表示式的值為真,則執行**塊1,否則執行**塊2。
注意:if()
後面沒有分號,直接寫{}
c語言中多重if-else
語句,其結構如下:
語義是:依次判斷表示式的值,當出現某個值為真時,則執行對應**塊,否則執行**塊n。
注意:當某一條件為真的時候,則不會向下執行該分支結構的其他語句。
c語言中巢狀if-else
語句。巢狀if-else
語句的意思,就是在if-else
語句中,再寫if-else
語句。其一般形式為:
switch語句結構如下:
switch
語句時還應注意以下幾點:
在case後的各常量表示式的值不能相同,否則會出現錯誤。
在case子句後如果沒有break;會一直往後執行一直到遇到break;才會跳出switch語句。
switch後面的表示式語句只能是整型或者字元型別。
在case後,允許有多個語句,可以不用{}括起來。
各case和default子句的先後順序可以變動,而不會影響程式執行結果。
default
子句可以省略不用。
c語言中也有這樣的語句,就是goto
語句,goto語句是一種無條件分支語句.
goto 語句的使用格式為:
goto 語句標號;
補充:怎麼獲得乙個數的百位,十位和個位
C語言基礎學習分支與跳轉 if語句
if 語句 現在你已經學習c語言一段時間了,你可能想要利用c語言處理一些更複雜的任務。在本小結中我們將學習c語言中的分支結構,以便讓程式按照一定條件執行相應的動作。if語句被稱為分支語句,它的使用方法如下 if expression 如果expression求得的值為true,就執行statemen...
C語言基礎語法迴圈與分支
在c語言的業務 中充斥著大量的邏輯判斷,其實大部分語言去實現乙個功能也都是依賴著邏輯判斷。所以簡單介紹下我們要學習的c語言邏輯判斷關鍵字 if else if else switch white do while for break continue。1.關鍵字if else if else inc...
C語言基礎 順序 分支 迴圈結構
include include void main if c 27 c是換行,則退出迴圈 break i 計算執行次數 printf the no.is d n i printf the end break結束整個迴圈,continue結束本次迴圈再去判斷是否迴圈,goto語句可以跨越巢狀層 inc...