C語言程式設計學習中while迴圈和do……while迴圈

weixin_34054866發表於2018-05-02

C語言是程式導向的,而C++是物件導向的

C和C++的區別:

C是一個結構化語言,它的重點在於演算法和資料結構。C程式的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。

C++,首要考慮的是如何構造一個物件模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取物件的狀態資訊得到輸出或實現過程(事務)控制。 所以C與C++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”。

C與C++的最大區別:在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”,而就語言本身而言,在C中更多的是演算法的概念。那麼是不是C就不重要了,錯!演算法是程式設計的基礎,好的設計如果沒有好的演算法,一樣不行。而且,“C加上好的設計”也能寫出非常好的東西。

9850446-3b306306b3c923af.jpg

迴圈結構語句

在實際生活中經常會將同一件事情重複做很多次,比如在走路時,會重複使用左右腳,打乒乓球時,會重複揮拍的動作等。同樣在C語言中,也經常需要重複執行同一程式碼塊,這時就需要使用迴圈語句。迴圈語句分為while迴圈語句、do…while迴圈語句和for迴圈語句三種。今天,我們將重點講講while迴圈和do...while迴圈語句。

while迴圈語句

while迴圈語句和條件判斷語句有些相似,都是根據條件判斷來決定是否執行大括號內的執行語句。區別在於,while語句會反覆地進行條件判斷,只要條件成立, { } 內的執行語句就會一直執行,直到條件不成立,while迴圈結束。while迴圈語句的具體語法格式如下:

while (迴圈條件)

{

執行語句

………

}

在上面的語法格式中, { } 中的執行語句被稱作迴圈體,迴圈體是否執行取決於迴圈條件。當迴圈條件為true時,迴圈體就會被執行。迴圈體執行完畢時會繼續判斷迴圈條件,如條件仍為true則會繼續執行,直到迴圈條件為false時,整個迴圈過程才會結束。

while迴圈的執行流程如下圖所示:

9850446-ccabe3390e7e34b6

小編推薦一個學C語言/C++的學習裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!

while迴圈的流程圖

接下來通過while語句來實現1~4之間自然數的列印,如下例所示:

#include

int main()

{

int x = 1; //定義變數x,初始值為1

while (x <= 4) // 迴圈條件

{

printf("x = %d ", x);// 條件成立,列印x的值

x++; // x進行自增

}

return 0;

}

執行結果如圖3-14所示:

9850446-d836ca13e7742955

小編推薦一個學C語言/C++的學習裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!

例中,x的初始值為1,在滿足迴圈條件x <= 4的情況下,迴圈體會重複執行,列印x的值並讓x進行自增。因此列印結果中x的值分別為1、2、3、4。值得注意的是,例3-7中的第8行程式碼用於在每次迴圈時改變變數x的值,直到迴圈條件不成立,如果沒有這行程式碼,整個迴圈會進入無限迴圈的狀態,永遠不會結束。

do-while迴圈語句

do…while迴圈語句和while迴圈語句功能類似,二者的不同之處在於,while語句需要先判斷迴圈條件,然後根據判斷結果來決定是否執行大括號中的程式碼,而do…while迴圈語句先要執行一次大括號內的程式碼再判斷迴圈條件,其具體語法格式如下:

do

{

執行語句

………

} while(迴圈條件);

在上面的語法格式中,關鍵字do後面 { } 中的執行語句是迴圈體。do…while迴圈語句將迴圈條件放在了迴圈體的後面。這也就意味著,迴圈體會無條件執行一次,然後再根據迴圈條件來決定是否繼續執行。

do…while迴圈的執行流程如圖所示:

9850446-6215e9a4350a39a7

do…while迴圈的執行流程

接下來使用do…while迴圈語句將例3-7進行改寫,如例所示。

#include

int main()

{

int x = 1; //定義變數x,初始值為1

do

{

printf("x = %d ", x);// 條件成立,列印x的值

x++; // x進行自增

} while (x <= 4); // 迴圈條件

return 0;

}

執行結果如圖所示:

9850446-5632351b6c1afc77

小編推薦一個學C語言/C++的學習裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!

兩個例題的執行結果一致,這說明do …while迴圈和while迴圈能實現同樣的功能。然而在程式執行過程中,這兩種語句還是有差別的。如果迴圈條件在迴圈語句開始時就不成立,那麼while迴圈的迴圈體一次都不會執行,而do…while迴圈的迴圈體還是會執行一次。若將例中的迴圈條件x<=4改為x < 1,後一個例子會列印x=1,而前一個例子則什麼也不會列印。

這些是C/C++能做的

伺服器開發工程師、人工智慧、雲端計算工程師、資訊保安(黑客反黑客)、大資料 、資料平臺、嵌入式工程師、流媒體伺服器、資料控解、影像處理、音訊視訊開發工程師、遊戲伺服器、分散式系統、遊戲輔助等

9850446-31b7346376ca87f6.png
9850446-01a735399fff550b.png
9850446-30f8109f1bca2be1.png
9850446-02d1cdfc8b83b661.png

相關文章