C部落格作業02 迴圈結構

2022-04-20 12:00:34 字數 2687 閱讀 9028

本章主要學習了關於迴圈的一系列問題,由上一章學習的基礎語法及for迴圈過度到本章學習的while迴圈和do-while迴圈以及它們之間相互的巢狀,自此迴圈的種類多樣化,更能解決生活中對應的繁雜巢狀的一些問題,這也要求我們掌握迴圈的本質:解決規律性的,重複的工作.並能夠看透各種題目背後的可迴圈性.當然,我們也不能落入了迴圈的圈套,有些題目應用暴力破解法更佳.下面我們就來看一下本章我們具體學了哪些內容.

1.適用面更廣的while語句

其一般形式為

while(表示式)

具體使用方法和特點:

(1)while語句中的表示式可以是任意合法的表示式,迴圈體語句只能是一條語句.

(2)構成簡單.只有乙個表示式和一條迴圈語句,分別對應迴圈的兩個核心要素:迴圈條件和迴圈體,可以直接把迴圈問題的分析設計轉換為語句實現.

(3)while的迴圈體語句中必須包含能最終改變迴圈條件真假性的操作.

例如:2.可靈活應用的do--while語句

其一般形式為:

do while(表示式);

具體使用方法和特點:

(1)其基本用法與while一致.

(2)但其第一次進入迴圈體語句時是先執行後判斷,for語句和while語句都是在迴圈前先判斷條件,只有條件滿足才會進入迴圈,如果一開始條件就不滿足,則迴圈一次都不執行,所以無論迴圈條件的值如何,do--while至少會執行一次迴圈體語句.也因此do--while適合於先迴圈後判斷的情況.

應用舉例:

3.掌控迴圈的力量----break,continue,

首先我們知道,迴圈的結束是由迴圈條件來確定的,即只有迴圈全部結束之時才能繼續操作,但有時,我們需要在迴圈滿足特定條件時就退出,這時強制結束迴圈的break語句與跳過後面語句繼續迴圈的continue語句就能滿足我們的需求.

具體使用指南:

(1)break:它不僅可以跳出「迴圈體」,還可以跳出 switch。但事實上,break 也只能用於這兩種情況。break 語句不能用於迴圈語句和 switch 語句之外的任何其他語句中。

(2)不管是 for 迴圈,還是 while 迴圈,或者是 do…while 迴圈,都可以用 break 跳出來,但是 break 只能跳出一層迴圈。當有多層迴圈巢狀的時候,break只能跳出「包裹」它的最裡面的那一層迴圈,無法一次跳出所有迴圈。

同樣,在多層 switch 巢狀的程式中,break 也只能跳出其所在的距離它最近的 switch。但多層 switch 巢狀實在是少見。

(3)continue 語句和 break 語句的區別是,continue 語句只結束本次迴圈,而不是終止整個迴圈。break 語句則是結束整個迴圈過程,不再判斷執行迴圈的條件是否成立。而且,continue 只能在迴圈語句中使用,即只能在 for、while 和 do…while 中使用,除此之外 continue 不能在任何語句中使用。

例如:輸出結果是:

請輸入您想去的樓層:4

該層不存在, 請重新輸入:3

3層開!

此時在 default 中如果不使用 continue 的話,那麼最後的「該層不存在,請重新輸入:」仍然不起作用。它雖然能輸出,但輸出之後直接就執行後面的 break 了,使用者仍然沒有重新輸入的機會。而加 continue 之後就會結束本次 while 迴圈,即後面的 break 語句本次就不會執行,而是直接進入 while 迴圈,這樣使用者就有「重新輸入」的機會了。

4,解決複雜巢狀問題----迴圈巢狀

迴圈結構跟分支結構一樣,都可以實現巢狀。對於巢狀的迴圈結構,執行順序是從內到外:先執行內層迴圈,再執行外層迴圈。

對於巢狀問題,由於每個迴圈都相當於乙個變數,所以在迴圈時要注意各個迴圈之間的數學關係和邏輯關係,最好在面對較為複雜的巢狀關係時先用流程圖過一遍,在大腦中形成清新的關係,這樣在編寫**時才能做到掌控全域性,收放自如.

應用舉例:

正三角形 「*」的輸出

本章學習總結

通過這兩周的生活與學習,漸漸意識到c語言要學習的地方還有很多,自己還沒有適應大學的學習節奏,c語言乍一看是程式語言,但它涵蓋的面是非常廣的,要想真正學好用好c語言就要在邏輯,數學方面嚴格要求自己,同時必須保證有效**量的積累,在做題中不斷總結,記憶,積累一些重要的節點,技巧.不然就會越學就越會感到吃力,越學越糊塗,以至於到後來程式設計時只知其一不知其二.接著在這裡我還想反思一下自己:確實從開學以來過多的去關注社團,交際等方面,忽視了作為乙個大學生的基本就是要搞好學習,沒有學習習慣的積累和養成,不僅到後面學習跟不上,生活肯定也會受到一定的影響,這樣雪球越滾越大,惡性迴圈,於自己於他人都是不好的,所以,在今後的學習生活中我將一點一點轉變自己輕浮的學習態度,never,never,never give up!越變越好.

**量統計

總結:發現每個同學的**都各有各的風格,有的差別很大,而有的雖然看上去相似,但具體細節又是用不同的方法處理的.所以說每個同學的**都是值得學習的.自己今後要多多虛心向同學們學習.

C部落格作業02 迴圈結構

迴圈結構 單層 175 迴圈的巢狀 115 總分 290 烏龜每分鐘可以前進3公尺,兔子每分鐘前進9公尺 兔子嫌烏龜跑得慢,覺得肯定能跑贏烏龜,於是,每跑10分鐘回頭看一下烏龜,若發現自己超過烏龜,就在路邊休息,每次休息30分鐘,否則繼續跑10分鐘 而烏龜非常努力,一直跑,不休息。假定烏龜與兔子在同...

C部落格作業02 迴圈結構

do while迴圈 break和continue語句 巢狀迴圈 2.1.1 偽 定義字元型變數ch oldch用了儲存使用者輸入的字元 定義乙個整型變數num,當使用者輸入的字元為數字時,將數值儲存到num中 定義乙個整型變數result,用於儲存並輸出計算的結果 定義乙個flag 0,用於判斷使...

c部落格作業02 迴圈結構

while 表示式1 do while 表示式一 do while語句和while主要的區別在於do while對於迴圈體中的語句先執行一次再判斷條件,而while則是先判斷條件再看是否執行迴圈體中的語句 而while語句和for同為迴圈語句,對於什麼時候用while語句什麼時候用for語句有一些區...