c53循环结构break与continu.ppt_第1页
c53循环结构break与continu.ppt_第2页
c53循环结构break与continu.ppt_第3页
c53循环结构break与continu.ppt_第4页
c53循环结构break与continu.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九讲第九讲 breakbreak、continuecontinue 深圳大学计算机系深圳大学计算机系 breakbreak语句语句 功能:功能:在循环语句和在循环语句和switchswitch语句中语句中, ,终止并跳出循环体或终止并跳出循环体或 开关体开关体 说明:说明: (1) break(1) break不能用于循环语句和不能用于循环语句和switchswitch语句之外的任语句之外的任 何其它语句之中。何其它语句之中。 (2) break(2) break只能只能终止并跳出终止并跳出最近一层最近一层的结构的结构。 while (while (表达式表达式1)1) if ( if (表达式表达式2) 2) break; break; 语句语句 dodo if ( if (表达式表达式2) 2) break; break; while ( while (表达式表达式1);1); 语句语句 for (; for (; 表达式表达式1; )1; ) if ( if (表达式表达式2)2) break; break; 语句语句 breakbreak forfor ( ( 表达式表达式1;1;表达式表达式2;2;表达式表达式3)3) 语句语句1 1 语句语句2 2 if (表达式4) break; 练习 exc9_1.cpp 输入n ,判定n是否为素数。 方法:方法:通过设置一标志通过设置一标志 变量变量tagtag,然后在每层循环,然后在每层循环 后加上一条语句:后加上一条语句:if (tag) if (tag) break;break; 其值为其值为1 1表示跳出循表示跳出循 环体,为环体,为0 0则不跳出。则不跳出。 for ()for () while () while () if () break; if () break; while while循环后的第一条语句循环后的第一条语句 int tag = 0;int tag = 0; for ()for () while () while () if () if () tag = 1; tag = 1; break; break; if ( tag ) break; if ( tag ) break; forfor循环后的第一条语句循环后的第一条语句 多重循环中,多重循环中,breakbreak的使用的使用 问:在嵌套循环的问:在嵌套循环的 情况下,如何让情况下,如何让 breakbreak语句跳出最外语句跳出最外 层的的循环体?层的的循环体? “百鸡问题”:一只大公鸡值5个钱,一只母鸡 但值3个钱,三只小鸡值一个钱。现有一百个钱, 要买一百只鸡,是否可以?若可以,给出解, 要求三种鸡都有。 练习 exc9_2.cpp 自己练习自己练习 一个老师问李老师一个老师问李老师:”:”你今年多少岁了你今年多少岁了? ?你你 太太多少岁了?太太多少岁了?“ “李老师说:李老师说:” ”我年龄的我年龄的 平方加上我太太的年龄恰好等于平方加上我太太的年龄恰好等于10531053, 而我太太年龄的平方加上我的年龄等于而我太太年龄的平方加上我的年龄等于 873873。你来算算吧!。你来算算吧!“ “ exc9_3.cpp 练习练习 把把316316这个数表示为两个数的和,其中一个这个数表示为两个数的和,其中一个 数是数是1313的倍数,另一个数是的倍数,另一个数是1111的倍数。的倍数。 exc9_4.cpp continuecontinue语句语句 功能:功能:结束本次循环,跳过结束本次循环,跳过循环体循环体 中中尚未执行的语句,进行下一次尚未执行的语句,进行下一次 是否执行循环体的判断。是否执行循环体的判断。 说明:说明: (1) (1) 仅用于循环语句中仅用于循环语句中。 continue for ( 表达式1;表达式2;表达式3 ) 语句1 语句2 if (表达式4) continue; continuecontinue语句语句 (2) (2) 在嵌套循环的情况下,在嵌套循环的情况下,continuecontinue语语 句只对包含它的句只对包含它的最内层最内层的循环体语句的循环体语句 起作用。起作用。 for ()for () while () while () if () if () continue; continue; while while循环后的第一条语句循环后的第一条语句 【例例】求输入的十个整数中正数的个数及其平均值。求输入的十个整数中正数的个数及其平均值。 #include #include void main ( )void main ( ) int i, a, num = 0; int i, a, num = 0; float sum = 0; float sum = 0; for (i = 0; i #include void main ( )void main ( ) int i = 1, sum = 0; int i = 1, sum = 0; loop:loop: sum += i+; sum += i+; if (i 程序设计分析:程序设计分析: 由数学知识可知,求三角形面积的公式是:由数学知识可知,求三角形面积的公式是: 其中,其中,a a、b b、c c是三角形的三个边长,是三角形的三个边长,s = (a + b + s = (a + b + c) / 2c) / 2。 因此,程序中应该有三个因此,程序中应该有三个floatfloat型变量用来存放型变量用来存放a a、b b、 c c的值,为了方便起见,还应有一个变量存放的值,为了方便起见,还应有一个变量存放s s,最后有必,最后有必 要设置一个变量来存放三角形的面积值。公式中存在求平要设置一个变量来存放三角形的面积值。公式中存在求平 方根的操作,这要用到方根的操作,这要用到C C语言数学库函数语言数学库函数sqrtsqrt。sqrtsqrt函数带函数带 有一个参数,它的功能是返回参数的平方根。程序在开始有一个参数,它的功能是返回参数的平方根。程序在开始 接受用户输入的三角形的三个边长后,首先要对这三边作接受用户输入的三角形的三个边长后,首先要对这三边作 合法性检查,如三边中有某一边长度小于或等于合法性检查,如三边中有某一边长度小于或等于0 0,则终止,则终止 程序的执行,同样如果程序的执行,同样如果s*(s-a)*(s-b)*(s-c)s*(s-a)*(s-b)*(s-c)为负,也要终为负,也要终 止程序的执行。止程序的执行。 语 言 程 序 设 计 教 程 第 六 章 循 环 结 构 程 序 设 计 C 【例例】 输入三角形的边长,求三角形面积。输入三角形的边长,求三角形面积。 #include #include #include #include #include #include void main ( )void main ( ) float a, b, c; float a, b, c; float s, area; float s, area; printf (“input the length of three edges of triangle: “); printf (“input the length of three edges of triangle: “); scanf (“%f%f%f“, scanf (“%f%f%f“, if (a = 0 | b = 0 | c = 0) if (a = 0 | b = 0 | c = 0) printf (“the length of three edges of triangle is error!n“); printf (“the length of three edges of triangle is error!n“); exit (-1);exit (-1); s = (a + b + c) / 2;s = (a + b + c) / 2; s = s * (s - a) * (s - b) * (s - c); s = s * (s - a) * (s - b) * (s - c); if (s 0) if (s 0) printf (“the length of three edges of triangle is error!n“); printf (“the length of three edges of triangle is error!n“); exit (-1);exit (-1); area = (float)sqrt (s); area = (float)sqrt (s); printf (“area = %.2fn“, area); printf (“area = %.2fn“, area); 运行结果:运行结果: input the length of three edges of triangle: 3 4 5input the length of three edges of triangle: 3 4 5 area = 6.00area = 6.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论