C語言基礎:以實例跟我學while循環結構,計算圓周率pi

循環結構是編程語言中的一種基本程序結構,C語言中有兩種表示方法,分別可通過for循環和while循環結構實現。上篇文章已經講了for循環的使用方法,詳細請參考:

這次通過一個計算圓周率pi的例子給大家介紹C語言中while循環結構的編程方法。

基本語法說明

While循環有兩種實現形式,下面分別說明。

1、while語句的一般形式

while語句的基本形式一般為:

C語言基礎:以實例跟我學while循環結構,計算圓周率pi


其中,表達式是條件表達式,語句是循環體,只要循環條件表達式為真,就執行循環體語句。其特點是先判斷條件表達式,後執行循環語句。

2、do ... while語句的一般形式

do ... while語句的基本形式一般為:

C語言基礎:以實例跟我學while循環結構,計算圓周率pi


相對於第1種形式,其特點是,先無條件執行循環,然後再判斷循環條件是否成立,若成立則繼續執行循環體語句。也就是說,這種方式循環體語句至少會執行一次。

下面通過例子分別演示不同情況的用法。

while循環編程示例

示例要求是根據公式求圓周率pi的近似值,題目具體說明如下:

C語言基礎:以實例跟我學while循環結構,計算圓周率pi


上式繼續化簡,可得圓周率pi的公式為:

C語言基礎:以實例跟我學while循環結構,計算圓周率pi


1、while語句的實現形式

根據這個公式,使用while循環在C語言中的實現代碼如下圖所示:

C語言基礎:以實例跟我學while循環結構,計算圓周率pi


下面對代碼作簡要說明:

第7-10行定義了4個變量,其中r用來存儲上面公式中每一項的值。

第12行先計算一次r的值,用以在while循環中先執行一次判斷。

第13-18行,在while循環裡面計算r的值,將其累加到變量sum中,並使i自加1。While的循環條件是隻要r的絕對值大於10的-6次方就繼續循環,否則退出循環。

第20行,計算pi的值,根據公式,sum*4即為pi的值。

第22行,在控制檯上打印pi的值,保留10位小數。

程序運行結果如下圖所示:

C語言基礎:以實例跟我學while循環結構,計算圓周率pi


2、do ... while語句的實現形式

上面的實現方式也可改為使用do...while循環的形式,在C語言中的代碼如下圖所示:

C語言基礎:以實例跟我學while循環結構,計算圓周率pi


其中,第12-17行,在do...while循環裡面計算r的值,將其累加到變量sum中,並使i自加1。循環條件仍然是隻要r的絕對值大於10的-6次方就繼續循環。與只使用while的區別是,它先執行了一次循環體,然後再來判斷是否繼續循環。所以,這兒在循環外不需要先計算r的值了。

其運行結果同上例完全相同。

總結

While循環相比於for循環,在循環次數確定的情況下for循環用起來可能更方便些,而while循環在循環次數不確定的情況下用的可能更多一些。

歡迎加關注,共同交流。


分享到:


相關文章: