文档详情

c语言_第4章循环结构.ppt

发布:2017-05-01约7.03千字共30页下载文档
文本预览下载声明
* * §4.1 用格里高利公式求?的近似值(while语句) 第4章 循环结构 例4-1 用格里高利公式求?的近似值,要求精确到最后一项的绝对值小于10-5。 循环结构: 根据条件的判断对某一段程序重复执行 构成循环的要素:循环体、条件判断、进入每次循环的准备 循环语句:for(表达式1; 表达式2; 表达式3) 语句 循环变量控制循环次数:循环变量、初值、终值、增量 pi=pi+item(通项) item=flag*1.0/(2*i-1) flag=±1,i=1,2,…,? 分析 循环结束条件: |item|10-5 |item|=10-5 pi=pi+item 非0 0 i=1 i=i+1 pi=0 4.1.1 程序解析 item=1 flag=1 item=flag/(2*i-1) flag=-flag pi=4*pi 输出pi 停 表达式1和表达式3不明确 #include stdio.h #include math.h void main( ) { int i,flag; double item,pi; pi=0;flag=1;i=1;item=1; for (;fabs(item)=1e-5;) {pi=pi+item; i=i+1; flag=-flag; item=flag*1.0/(2*i-1); } pi=pi*4; printf(pi=%f\n,pi); } 省略了表达式1和表达式 #include stdio.h #include math.h void main( ) { int i,flag; double item,pi; pi=0;flag=1;i=1;item=1; while(fabs(item)=1e-5) {pi=pi+item; i=i+1; flag=-flag; item=flag*1.0/(2*i-1); } pi=pi*4; printf(pi=%f\n,pi); } for循环语句改用while循环语句 4.1.2 while循环语句 当型循环 当条件为真(非0)时做循环,否退出循环 格式 while(表达式) 语句 其中 语句是一个语句或复合语句 表达式是条件,求值得真(非0)或假(0) 操作 当表达式的值非0,执行语句后继续循 环;当表达式的值0,终止循环。 表达式 语句 非0 0 loop:if(表达式) {语句; goto loop; } 等价于 for(;表达式;) {语句; } for(表达式1; 表达式2; 表达式3) {语句; } 表达式1; while(表达式2) {语句; 表达式3; } 例4-2 输入一批学生的成绩,统计平均分 循环体 sum=sum+mark mark学生成绩 循环判断 一批 mark=0 则mark为负值结束循环 mark=0 sum=sum+mark 非0 0 num=num+1 num=0 sum=0 aver=sum/num 输出aver 停 输入mark 输入mark #include stdio.h void main( ) { int num; double mark,sum,aver; num=0;sum=0; scanf(%lf,mark); while(mark=0) {sum=sum+mark; num=num+1; scanf(%lf,mark); } aver=sum/num; printf(aver=%f\n,aver); } §4.2 统计一个整数的位数(do~while语句) 例4-3 从键盘读入一个整数,统计该数的位数。 例如,输入1234,输出4;输入0,输出1。 一个整数由多位数字组成,统计过程需要一位位地数 利用 num/10-num,每统计一次减少一位数 例 1234 整数 位数 1234 1 1234/10-123 2 123/10-12 3 12/10-1 4 1/10-0 不计 判断条件 num!=0 例
显示全部
相似文档