- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 四 章 循环结构4.1 用格雷戈里公式求π的近似值 (while语句)4.2 统计一个整数的位数 (do-while语句)4.3 判断素数 (break 和 continue 语句)4.4 求1!+2!+...+100! (循环嵌套)4.5 循环结构程序设计本章要点什么是循环? 为什么要使用循环? 如何实现循环?实现循环时,如何确定循环条件和循环体?怎样使用while 和do-while语句实现次数不确定的循环?while 和do-while语句有什么不同?如何使用break语句处理多循环条件?如何实现多重循环?4.1 用格里高利公式求π的近似值例4-1 使用格雷戈里公式求π的近似值,要求精确到最后一项的绝对值小于10–4。4.1.1 程序解析4.1.2 while语句 4.1.1 程序解析-求π的近似值pi = 3.141613 #include math.hint main(void){ int denominator, flag; double item, pi; flag = 1; denominator = 1; item = 1.0; pi = 0; while(fabs (item) = 0.0001) { item = flag * 1.0 / denominator; pi = pi + item; flag = -flag; denominator = denominator + 2; } pi = pi * 4; printf ( “pi = %f\n”, pi); return 0;}item=0.0 ?fabs(item) 0.0001表达式假真循环体语句while下一条语句4.1.2 while 语句一条语句while (条件) 循环体语句; 循环条件循环体while 语句说明while 语句和for语句都是在循环前先判断条件把for语句改写成while语句for(表达式1; 表达式2; 表达式3) 循环体语句表达式1;while (表达式2) { for的循环体语句; 表达式3;}while 和 for 的比较for (i = 1; i = 10; i++) sum = sum + i; i = 1; 循环变量赋初值while (i = 10){循环条件 sum = sum + i; i++;循环变量的改变}循环体例4-2 从键盘输入一批学生的成绩,计算平均成绩,并统计不及格学生的人数。分析:求累加和确定循环条件不知道输入数据的个数,无法事先确定循环次数用一个特殊的数据作为正常输入数据的结束标志,比如选用一个负数作为结束标志。循环的三种常见的控制方式计数控制的循环条件控制的循环标记控制的循环#include stdio.hInt main(void){ int num; double grade, total; num = 0; total = 0; printf(Enter grades: \n); scanf(%lf, grade); /* 输入第1个数*/while (grade = 0) {/* 输入负数,循环结束 */ total = total + grade; num++; if(grade 60) count++; scanf (“%lf”, grade); } if(num != 0) { printf(Grade average is %.2f\n, total/num); printf(Number of failures is %d\n, count); } else printf(Grade average is 0\n); return 0;}Enter grades: 67 88 73 54 82 -1Grade average is 72.80Number of failures is 1练习:4-34.2 统计一个整数的位数例4-3 从键盘读入一个整数,统计该数的位数。4.2.1 程序解析4.2.2 do - while语句 4.2.1 程序解析-统计一个整数的位数int main(void){ int count, number; count = 0;printf (Enter a number: );scanf (%d, number) ;if (number 0) number = -number; do { number = number / 10; count ++; } while (number != 0);printf (It contains %d digits.\n, count); return 0;}Enter a number: 12534It contains 5 di
文档评论(0)