60 C语言循环总结以及实例讲解
2017-06-03 13:51
316 查看
C学习网:链接->C学习网
C训练网:链接->C训练网
除了
while 和 for 语句,在C语言中还有一个语句 goto,它也能构成循环。不过由于
goto 语句很容易造成代码混乱,维护和阅读困难,饱受诟病,不被推荐,而且 goto 循环完全可以被其他循环取代,所以后来的很多编程语言都取消了 goto 语句,我们也不再讲解。
国内很多大学仍然讲解 goto 语句,但也仅仅是完成教材所设定的课程,goto 语句在实际开发中很难见到。
while和for 循环都可以用来处理同一个问题,一般可以互相代替。
对于while和do-while循环,循环体中应包括使循环趋于结束的语句。
用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以在内部实现循环变量的初始化。
for循环是最常用的循环,它的功能强大,可以代替其他循环。
用下面的公式求π:
![](http://c.biancheng.net/cpp/uploads/allimg/140706/1-140F601450Bb.gif)
分析:首先,系数为正数的项的分母是4n-3(n为正数项的项数),为负数的项的分母为4n-1(n为负数项的项数),即分母的变化规律是1、3、5、7...的奇数数列,则第n项的分母为2n-1,第10000项的分母为2*10000-1。
#include <stdio.h>
#include <math.h>
int main()
{
double p=0,j=1;
int i;
for( i=1;i<10000;i++ ) //此处i为项数
{
j=pow(-1.0,i+1)/(2*i-1); //pow(x,y)用来求x的y次幂
p+=j;
printf("%lf\n",4*p); //输出每一项的值
}
printf("%lf\n",4*p); //输出最终pi值
return 0;
}
由于输出结果较多,请大家自己运行代码。
i 的值越大,结果越精准,同样计算时间也更长。
pow() 是一个数学函数,使用方法为pow(x, y),用来求x的y次幂;需要引入头文件 math.h。
更多例子请查看:
C语言判断一个数是否是素数
C语言输出2的N次幂
C语言输出九九乘法表(5种解法)
百钱买百鸡问题(C语言版)
计算用1分钱、2分钱、5分钱组成1元钱的方式
计算一个数的平方根
找到一个数的所有真因子
计算你收藏的硬币值多少钱
输入n个整数并计算它们的和
读者要注意,学习了if、switch、while、for 语句你就可以写一些简单的小程序了,这对大部分人是一个障碍。
相信你肯定明白了选择结构和循环结构的语法,但是遇到实际问题时,可能仍然不知道从何入手,写不出代码,这是因为大家初学编程,还没有形成编程思维,没有足够的编程经验,编程不仅仅是语法,更多的是解决问题的能力。
大家要多参考别人的代码,并通过实例练习来不断强化编程思维,我们也给出了很多例子,希望大家好好研习并能够自己完成代码。
C训练网:链接->C训练网
除了
while 和 for 语句,在C语言中还有一个语句 goto,它也能构成循环。不过由于
goto 语句很容易造成代码混乱,维护和阅读困难,饱受诟病,不被推荐,而且 goto 循环完全可以被其他循环取代,所以后来的很多编程语言都取消了 goto 语句,我们也不再讲解。
国内很多大学仍然讲解 goto 语句,但也仅仅是完成教材所设定的课程,goto 语句在实际开发中很难见到。
总结
while和for 循环都可以用来处理同一个问题,一般可以互相代替。对于while和do-while循环,循环体中应包括使循环趋于结束的语句。
用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以在内部实现循环变量的初始化。
for循环是最常用的循环,它的功能强大,可以代替其他循环。
几个例子
用下面的公式求π:![](http://c.biancheng.net/cpp/uploads/allimg/140706/1-140F601450Bb.gif)
分析:首先,系数为正数的项的分母是4n-3(n为正数项的项数),为负数的项的分母为4n-1(n为负数项的项数),即分母的变化规律是1、3、5、7...的奇数数列,则第n项的分母为2n-1,第10000项的分母为2*10000-1。
#include <stdio.h>
#include <math.h>
int main()
{
double p=0,j=1;
int i;
for( i=1;i<10000;i++ ) //此处i为项数
{
j=pow(-1.0,i+1)/(2*i-1); //pow(x,y)用来求x的y次幂
p+=j;
printf("%lf\n",4*p); //输出每一项的值
}
printf("%lf\n",4*p); //输出最终pi值
return 0;
}
由于输出结果较多,请大家自己运行代码。
i 的值越大,结果越精准,同样计算时间也更长。
pow() 是一个数学函数,使用方法为pow(x, y),用来求x的y次幂;需要引入头文件 math.h。
更多例子请查看:
C语言判断一个数是否是素数
C语言输出2的N次幂
C语言输出九九乘法表(5种解法)
百钱买百鸡问题(C语言版)
计算用1分钱、2分钱、5分钱组成1元钱的方式
计算一个数的平方根
找到一个数的所有真因子
计算你收藏的硬币值多少钱
输入n个整数并计算它们的和
读者要注意,学习了if、switch、while、for 语句你就可以写一些简单的小程序了,这对大部分人是一个障碍。
相信你肯定明白了选择结构和循环结构的语法,但是遇到实际问题时,可能仍然不知道从何入手,写不出代码,这是因为大家初学编程,还没有形成编程思维,没有足够的编程经验,编程不仅仅是语法,更多的是解决问题的能力。
大家要多参考别人的代码,并通过实例练习来不断强化编程思维,我们也给出了很多例子,希望大家好好研习并能够自己完成代码。
相关文章推荐
- C语言循环总结以及实例讲解
- C语言循环总结以及实例讲解
- 70 对C语言数组的总结以及实例讲解
- 实例讲解C语言atan和atan2函数
- Java_乔晓松_Servlet--ServletContext的总结以及应用实例
- shell循环,判断介绍,以及实例
- epoll_create, epoll_ctl和epoll_wait 实例讲解,总结得不错
- C++ 读写文件实例总结 (StringToken 为单位读取 以及char为单位读取)
- C语言-----链表的各项操作总结------双向循环链表
- 有关脱壳以及脱壳实例讲解
- Dom 学习总结以及实例的使用介绍
- 能给几个实例吗 C语言中循环语句有那些
- C语言----链表的各项操作总结----单项循环链表
- epoll_create, epoll_ctl和epoll_wait 实例讲解,总结得不错
- 【C语言】malloc()和free()函数的讲解以及相关内存泄漏问题
- 【转】shell循环,判断介绍,以及实例
- Grub安装、配置以及使用实例汇总讲解
- 面向对象的 javascript的几个最重要的特性的讲解和实例以及全套javascript的例子.doc
- DirectIO方式读写文件(总结网上其他人的讲解以及本人自己的一定见解)
- Dom 学习总结以及实例的使用介绍