循環結構是編程語言中的一種基本程序結構,C語言中有兩種表示方法,分别可通過for循環和while循環結構實現。上篇文章已經講了for循環的使用方法,詳細請參考:C語言基礎:以實例跟我學循環結構之for break continue用法
這次通過一個計算圓周率pi的例子給大家介紹C語言中while循環結構的編程方法。
基本語法說明While循環有兩種實現形式,下面分别說明。
1、while語句的一般形式
while語句的基本形式一般為:
其中,表達式是條件表達式,語句是循環體,隻要循環條件表達式為真,就執行循環體語句。其特點是先判斷條件表達式,後執行循環語句。
2、do ... while語句的一般形式
do ... while語句的基本形式一般為:
相對于第1種形式,其特點是,先無條件執行循環,然後再判斷循環條件是否成立,若成立則繼續執行循環體語句。也就是說,這種方式循環體語句至少會執行一次。
下面通過例子分别演示不同情況的用法。
while循環編程示例示例要求是根據公式求圓周率pi的近似值,題目具體說明如下:
上式繼續化簡,可得圓周率pi的公式為:
1、while語句的實現形式
根據這個公式,使用while循環在C語言中的實現代碼如下圖所示:
下面對代碼作簡要說明:
第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位小數。
程序運行結果如下圖所示:
2、do ... while語句的實現形式
上面的實現方式也可改為使用do...while循環的形式,在C語言中的代碼如下圖所示:
其中,第12-17行,在do...while循環裡面計算r的值,将其累加到變量sum中,并使i自加1。循環條件仍然是隻要r的絕對值大于10的-6次方就繼續循環。與隻使用while的區别是,它先執行了一次循環體,然後再來判斷是否繼續循環。所以,這兒在循環外不需要先計算r的值了。
其運行結果同上例完全相同。
總結While循環相比于for循環,在循環次數确定的情況下for循環用起來可能更方便些,而while循環在循環次數不确定的情況下用的可能更多一些。
歡迎加關注,共同交流。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!