c计算机C语言程序设计h04_循环程序设计上.ppt
文本预览下载声明
第四章 循环程序设计 循环程序 多重循环 程序设计实例 本章小结 作业 4.10 4.32 4.20 4.1 4.14 4.18 4.25 练习 4.2 4.3 4.5 4.9 4.11 4.23 4.24 4.26 4.31 §4.1 计算平均成绩—循环程序 例4.1 某评估单位要对学生的学习情况进行评估,需要计算每个学生的平均学习成绩。编程序,从终端逐次输入一个学生n门课程的成绩,计算并输出他的平均成绩。 #include stdio.h #define n 40 void main(void){ float sum ; int k , m; k=1; sum=0; do { printf(pleace input a achievement :); scanf(%d,m ); sum = sum + m; k = k+1 ; } while ( k = n ) ; printf(average achievement : %5.2f\n , sum/n ); } 循环:指程序的某部分重复执行多次 循环分类 后判断条件的循环 先判断条件的循环 C 的三种不同的重复性语句 while 语句── 先判断条件的循环; do 语句── 后判断条件的循环; for 语句── 先判断条件的循环。 循环涉及的内容 循环控制方式 控制条件 循环体:重复执行的部分 §4.1.1 后判断条件的循环 例4.1程序是后判断条件的循环程序,后判断条件的循环在流程图中表示成类似如下左图形式,PAD表示形式如下述右图 例4.2 计算数列的ak=1/(k*(k+1)) 的前 n 项和 例4.3 编程序,输入一个年份,求该年以后的 n 个闰年 解:输入一个年份之后,先找到第一个可能的闰年,然后每隔 4 年判断一下是否是闰年,直到找到 n 个闰年为止。 例4.4 编程序,解方程 2X3+0.5X2-X+0.093=0 简单迭代方法使用条件 对于方程x=f(x),当任意x?(a, b) 存在0 L 1,使 |f‘(x)|≤L1 则方程x = f(x)在(a, b)上有唯一的根x* 且对任意初值x0? (a, b)时 迭代序列xk+1=f (xk) (k = 0, 1, …)收敛于x* 在实际工作中,决大部分计算都是近似计算,只要求 X1≈X0 即│X1 - X0│=ε使用条件 先判断条件的循环程序模式 一般形式 while ( e ) S 例4.6 编程序,按公式求自然对数底 e 的近似值 由于不能进行无穷项的计算,所以只能进行近似计算,当余项 余项计算可利用前后项之间的递推关系 e=1.0; n=1; r=1.0; e=2.0; n=2; r=0.5; e=2.5; n=3; r=0.1667; e=2.6667; n=4; r=0.0417; …….. 例4.7 编程序,统计以100为结束符的整数输入流中 -1 、0 、+1 的出现次数并输出 #include stdio.h #define n 100 void main(void){ int i , j , k , num ; i=0; j=0; k=0; printf(pleace input a integer :); scanf(%d,num ); while ( num != n ) { switch (num) { case -1 : i++; break;//i=i+1; case 0 : j++; break; case 1 : k++; } printf(pleace input a integer :); scanf(%d,num ); } printf(number of -1 : %d\n , i ); printf(number of 0 : %d\n , j ); printf(number of 1 : %d\n , k ); } ++和-- i ,j ,k是整形变量,i的值是3,k的值是1 j = i ++; i 的值是4,j 的值是3
显示全部