小唐帶你玩轉分支和循環語句加break和continue

目錄

什么是語句?

分支語句:

if語句

switch語句

總結1

循環語句

for循環語句

while循環語句

do...whille循環語句

總結2

循環跳出語句

break

continue

goto

總結3

循環和分支的嵌套

是在最后



什么是語句?

C語言的語句分5類:

1.表達式語句::表達式+分號

2.函數調用語句:函數+分號

3.控制語句:實現各種結構,結構分為3種順序,選擇,循環。計算機語言里面只要支持這3種結構就能做想做的事情。

4.復合語句:復合語句大括號里面的表達式或者多條語句

5.空語句 :分號;就是個空語句

他們由特定的語句定義符組成,c語言 九種 控制語句。

分支語句

分支語句主要由if和switch2種。

\color{red}{if語句的語法表達式:}

單分支格式

1.f(表達式)//這里是判斷條件{

2.語句(執行語句);

}

//如果表達式為真語句執行;如果為假執行else

3.else {

4語句(執行語句);

}


if為真,執行語句2;否者,執行語句4

多分支格式

1.if else語句:可以構成多重判斷。

if 可以嵌套if else


第一個if為真,到第二個if判斷,為真執行語句1,為假執行語句2;第一個if為假,執行語句3.

反之 else 也能嵌套if else格式這里要寫成else if。


第一個為假,else if再判斷為真執行,還是為假判斷第二個else if。一般采用多組輸入判斷。

總結

1.if后面的表達式,不能有分號,加上分號就不能控制下面一條語句,如果想控制多條語句使用大括號。

2.程序員寫代碼的時候要規劃到底那條語句控制的是那一條語句,一定要由明確思路!

3.if else 默認只能控制下面一條語句,控制多條語句要用大括號括起來。

4.非0為真,等于0為假。這個很重要,很多人寫代碼只判斷某個條件是不是為真,沒有想過表達式里面的值等于0還執不執行。說的就是我自己。

5.布爾類型數據的true和false的值為1和0。

6.區分賦值和等于;==這是等于,= 這是賦值。

7..懸空else問題:如果有多個if else,可以記住一條的規則,else總是跟最接近的if匹配。

if判斷后面為假,后面不運行。


\color{red}{switch語句表達式}

switch語句是一種特殊形式的if...else結構,用于判斷條件有多個結果的情況.它把多重else if發改成更易用,可讀性更好形式。

? 1.swit后面(必須是整形表達式expression)

? 2.case后的值,必須是整形常量表達式

? 3.case后的值,必須是整形常量表達式

? 4.default:

? 根據上面代碼中,根據表達式expression的值,執行相應case分支,如果找不到對應的值,就執行default分支;

格式:

根據上面代碼中,根據表達式switch后面表達式值,執行相應case分支,如果找不到對應的值,就執行default分支

總結:

1.執行每個case后面必須都要加個break,跳出程序,不然會一直打印所有case分支。

2.使用case和default ;沒用順序要求,只要滿足實際需求就可以。

3.可以看出if語句適合判斷相應較少的分支,swirch語句適合判斷較多的分支。


循環語句

循環分為3種:for循環,while循環,do{...}while循環.

\color{red}{while循環}

while語句的語法結構和if語句非常相似.

while(表達式)如果為真就執行,直到為假不在執行,循環體想包換多條語句,可以加上大括號

表達式1

int main()

{

? while (1)

printf("hehe\n");//死循環打印hehe

return 0;

}


表達式2

while里面為常數不等于死循環可能

總結:

1.while有3個部分,初始化部分,判斷部分,調整部分。這3個部分是分開,這是跟for的區別。

2.hile后面只能跟一條語句,多條語句使用大括號。

3.這3個部分很重要不要隨便省略。

4.為真一直循環,為假跳出,也可以使用break提前跳出。


\color{red}{for循環}

1:for(表達式1;表達式2:表達式3)

2.

初始化,判斷,調整這個3個部分是一起的

總結

1.for循環是三種循環使用中最多的

2.語句如果循環體想包含更多的語句,可以加上大口號

3.for循環是把這3個表達式放在一起。

4.如果想提前結束循環使用break。

5.不能隨便省略這3個部分.

6.3個部分里面的分號不能省略掉(;;)分號


\color{red}{do...while循環}

表達式1:

1.1語法形式

1).do

2).語句;

3)while(表達式);

表達式2:


調整部分放的放置會影響打印的區別

特點:先循環語句,再判斷,循環體至少循環一次;對比for,while循環判斷成立才循環

總結:

1.想包含多條語句循環要使用大括號。

2.調整部分會影響打印結果.

3.1.do - while循環,是這3個循環用的最少的.


循環跳出語句

break 和 continue 語句

\color{red}{break}

特點:作用就是跳出循環,不管循環后期還有多少次,重要break被執行,就直接停止。

參考下面代碼


總結:

break在3種循環作用的都是一樣的,目的就是跳出循環,讓這個循環就此打住。


\color{red}{continue}

特點

1.continue在while循環的特點:如果把循環的調整語句放在continue后面可能造成死循環!continue跳過后面代碼不會調整。

2.for循環中continue的作用是跳過本次循環中continue后的代碼,直接去到循環的調整部分。

3.而while循環里面跳過后面調整部分可能死循環,for循環不會。

4.移動調整部分也可能會影響打印的結果。

總結

1.continue:在 do while 和 while循環基本一致,在for循環稍有點差異。

2.所以不要隨意調動程序調整部分。

3.break語句是永久跳出循環,continue語句是跳出本次循環后面的代碼,執行下次循環。


再次總結

\color{red}{我們應該把3種循環嵌套一起使用,才能更好決絕問題,辦到想辦到的事情}

單不僅僅只嵌套循環也可以在循環里面嵌套if這些等!


循環嵌套表達式

還是得再次提醒:控制多條語句一定要使用大括號;要明確自己寫的代碼被那條代碼控制.寫完代碼要是想優化加入語句,該怎么加入,受那條語句控制要明確清楚!


\color{red}{go to}

作用是:goto語句可以實現在(同一個函數內)跳轉到設置好的標號處。

使用格式

特點

1.goto語句如果使用的不當,就會導致在函數內部隨意亂轉,打亂程序流程,所以建議是能不用盡量不去使用。

2.用法:但是goto語句也不是一無是處,在多層循環的代碼中,如果想快熟跳出使用goto就非常方便。

3.goto 語句也可以把標簽放在goto語句前面;也可以實現循環。

總結

對于剛寫程序小白可能很難掌握,但有些小白也喜歡用,用起來方便。但用著用著自己都不知道代碼跳到那里去了。

相比break一次一次跳出程序方便很多.;

再次強調一下循環的3個部分不要隨便省略;

代碼量不是越少越好,追求代碼的可讀性,性能更好。

制作不已點個贊吧

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容