分享

C语言基础:以实例跟我学while循环结构,计算圆周率pi

 lgk88888 2018-11-20

循环结构是编程语言中的一种基本程序结构,C语言中有两种表示方法,分别可通过for循环和while循环结构实现。上篇文章已经讲了for循环的使用方法,详细请参考:

这次通过一个计算圆周率pi的例子给大家介绍C语言中while循环结构的编程方法。

基本语法说明

While循环有两种实现形式,下面分别说明。

1while语句的一般形式

while语句的基本形式一般为:

 

  

其中,表达式是条件表达式,语句是循环体,只要循环条件表达式为真,就执行循环体语句。其特点是先判断条件表达式,后执行循环语句。

2do ... while语句的一般形式

do ... while语句的基本形式一般为:

 

  

相对于第1种形式,其特点是,先无条件执行循环,然后再判断循环条件是否成立,若成立则继续执行循环体语句。也就是说,这种方式循环体语句至少会执行一次。

下面通过例子分别演示不同情况的用法。

while循环编程示例

示例要求是根据公式求圆周率pi的近似值,题目具体说明如下:

 

  

上式继续化简,可得圆周率pi的公式为:

 

  

1while语句的实现形式

根据这个公式,使用while循环在C语言中的实现代码如下图所示:

 

  

下面对代码作简要说明:

7-10行定义了4个变量,其中r用来存储上面公式中每一项的值。

12行先计算一次r的值,用以在while循环中先执行一次判断。

13-18行,在while循环里面计算r的值,将其累加到变量sum中,并使i自加1While的循环条件是只要r的绝对值大于10-6次方就继续循环,否则退出循环。

20行,计算pi的值,根据公式,sum*4即为pi的值。

22行,在控制台上打印pi的值,保留10位小数。

程序运行结果如下图所示:

 

  

2do ... while语句的实现形式

上面的实现方式也可改为使用do...while循环的形式,在C语言中的代码如下图所示:

 

  

其中,第12-17行,在do...while循环里面计算r的值,将其累加到变量sum中,并使i自加1。循环条件仍然是只要r的绝对值大于10-6次方就继续循环。与只使用while的区别是,它先执行了一次循环体,然后再来判断是否继续循环。所以,这儿在循环外不需要先计算r的值了。

其运行结果同上例完全相同。

总结

While循环相比于for循环,在循环次数确定的情况下for循环用起来可能更方便些,而while循环在循环次数不确定的情况下用的可能更多一些。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多