C程序设计与实践 第3章(课件).ppt

  1. 1、本文档共120页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计与实践 第3章(课件).ppt

推荐资料 更多图书信息请见星图书业:/ 计算机各级在线考试试题见前程在线考试网:/ break语句只能跳出(终止)其所在的循环,在循环语句嵌套使用时,break语句只是跳出内循环体,而不能一下子跳出多层循环。要实现跳出多层循环可以设置一个标识变量,控制逐层跳出。 例如: int flag = 0; for ( ; ; ) { for ( ; ; ) { if (表达式) { flag=1; break; } } if (flag) break; } 注意:break语句只限于从三种循环结构或从switch结构中跳出,跳出到上述各种结构语句的正常结束位置处。 3.4.7 continue 语句  有时候,我们还希望在循环体中当某个条件成立时跳转到当前的循环的开始位置继续执行,也就是说跳过当前循环体的剩余语句,准备好开始下一轮循环。 例3.22 输入一个正整数,输出它的所有不重复的质因子。 #include stdio.h ? void main() { int a, i; ? scanf(”%d”, a); printf(”%d的所有不重复的质因子是:”, a); for (i = 2; i = a - 1; ) { if (a % i != 0) { i++; continue; }; a = a / i; printf(”%d,”, i); while (a % i == 0) a = a / i; } printf(”\\n”); } continue语句的作用是跳过循环体中剩余的语句,而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。其执行过程可用图3-13表示。 while (表达式1) { …… if (表达式2) continue; …… } 图3-13 在循环体中continue语句的执行过程 3.4.8 应用举例  例3.23 输入5个数,输出最大值和最小值。 解题思路:程序分成三个段落分别完成:输入初值、输入剩余数据并处理、输出最终结果。算法如下: 1.输入一个数,分别存入变量max和min中作为当前最大值和最小值; 2.循环4次分别完成: 2.1 输入下一个数t; 2.2 如果tmax,把t赋值给max; 否则 如果tmin,把t赋值给min; 3.输出最大值max和最小值min。 源程序代码: #include stdio.h ? void main() { int max, min, t, i; ? scanf(”%d”, max); min = max; for (i = 1; i = 4; i++) { scanf(”%d”, t); if (t max) max = t; else if (t min) min = t; } printf(”max=%d,min=%d\\n”, max, min); } 程序运行情况 输入: 23 42 56 53 18 输出: max=56,min=18 例3.24 利用公式pi/4=1-1/3+1/5-1/7+1/9…,求π的值,要求精确到小数点后6位。 #include stdio.h #include math.h ? void main() { double pi = 0.0, t = 1.0, sign = 1.0; int n = 1, i = 1; ? while (fabs(t) = 1e-7) { t = sign / n; pi = pi + t; n = n + 2; sign = -sign; } Pi = pi * 4; printf(”pi=%8.6f\\n共计完成%d万项计算\\n”, pi, n / 20000); } 程序运行结果: pi=3.141593 共计完成500万项计算 例3.25 输入一个正整数,判断其是否为素数。 解题思路: 素数就是除了1和它本身之外,不能被其他数整除的数,也就是说在2到sqrt(i)之间的任何数j,都不能整除i。如果存在j,使得i%j==0,即j是i的一个因子,表明i不是素数。设置一个状态变量p初值为1,如果找到了i的 因子j,置状态变量p值为0;最终根据p的值输出判断结果“是素数”或“非素数”。 #include stdio.h #include math.h ? void main() { int i, j, p = 1; ? printf(”请输入一个正整数为:”); scanf(”%d”, i); for (j = 2; j = sqrt(i); j++) if (i % j == 0) p = 0; if (!p) printf(”%d非素数!\\n”, i); else printf(

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档