
程序设计基础 第6章循环控制结构
程序设计基础 第6章 循环控制结构

循环结构 while循环 do-while循环 for循环 循环嵌套 break和continue 循环结构程序设计 昌四章基本控制结构 李同永 2/19
第四章 基本控制结构 2/19 while循环 do-while循环 for循环 循环嵌套 break和continue 循环结构程序设计 循环结构 章目录

例求pi的近似值 ≈1-1+11 +公式,求的近似值, 4357 分析: 直到最后一项的绝对值小于106为止 ()确定问题的实质。 求i的值,即把等号右边的各项相加后再乘以4,一个利用 循环累加求和的问题,设累加器pi。 (2)确定循环体。规律: ①分子都是1,分母以2递增变化),首项是1: ②在要累加的各项中,符号由正号开始,正负交替。 (3)循环的条件。 不定数循环。每项存储变量item,循环控制变量,循环条件 是|item>=106 圆四章基本拉制结构 3/19
第四章 基本控制结构 3/19 例 求pi的近似值 直到最后一项的绝对值小于 为止 公式,求 的近似值, 6 10 7 1 5 1 3 1 1 4 − − + − + 分析: (1)确定问题的实质。 求pi的值,即把等号右边的各项相加后再乘以4,一个利用 循环累加求和的问题,设累加器pi。 (2)确定循环体。规律: ①分子都是1,分母以2递增(变化),首项是1; ②在要累加的各项中,符号由正号开始,正负交替。 (3)循环的条件。 不定数循环。每项存储变量item,循环控制变量,循环条件 是|item|>=10-6

例求pi的近似值程序 #include 严≈1-1+}+.公式,求的近似值, #include 4 357 int main() 直到最后一项的绝对值小于106为止 { int sign;float n,item,pi; sign=1;pi=0;n=1.0;item=1;/初始化操作 while (fabs item ))>=1e-6) pi pi+item; n=n+2; sign=-sign;//各项正负号 item sign n; } pipi*4; printf("pi=%/10.6f\n",pi); return O; 冯四章基本控制结构 4119
第四章 基本控制结构 4/19 #include #include int main( ) { int sign; float n,item,pi; sign = 1; pi = 0; n = 1.0; item=1; //初始化操作 while ( ( fabs ( item ) ) >= 1e-6 ) { pi = pi + item; n = n + 2; sign = -sign; //各项正负号 item = sign / n; } pi = pi*4; printf("pi=%10.6f\n",pi); return 0; } 例 求pi的近似值 程序 直到最后一项的绝对值小于 为止 公式,求 的近似值, 6 10 7 1 5 1 3 1 1 4 − − + − +

循环嵌套 一个循环体内又包含另外一个完整的循环结构,称 为循环的嵌套。 ■内嵌的循环中还可以嵌套循环,这就是多层循环。 ■3种循环(while循环、do-while循环和for循环)可 以相互嵌套。 外层循环 内层循环 内层循环 内层循环 合法的嵌套循环 昌四章基本拉制结构 5/19
第四章 基本控制结构 5/19 ◼ 一个循环体内又包含另外一个完整的循环结构,称 为循环的嵌套。 ◼ 内嵌的循环中还可以嵌套循环,这就是多层循环。 ◼ 3种循环(while循环、do-while循环和for循环)可 以相互嵌套。 循环嵌套 外层循环 内层循环 内层循环 内层循环 合法的嵌套循环

循环嵌套的形式 (1) (2) (3) while( do for(3;) f I while( do for(,;) {. {.]while() {} }while() (4) (5) (6) while( for(3; do ( ( do while( for (;;) {.]while() {} {} }while() 恩四章基本控制结构 6/19
第四章 基本控制结构 6/19 循环嵌套的形式

例求100~200间的全部素数 按每行5个输出。 if(i>=k+1) #include #include void main() printf("%d ",m); count++; int m,k,i,count 0; /输出新素数并计数加一 川计数变量赋初值 if (count %5==0) for(m=101;m<=200; printf("\n"); m=m+2) /川限定每行输出5个素数 { k sqrt(m); for(i=2;i<=k;i++) if(m%i==0) printf("\n"); break; 恩四章基本拉制结构 7119
第四章 基本控制结构 7/19 例求100~200间的全部素数 按每行5个输出。 #include #include void main() { int m,k,i,count = 0; //计数变量赋初值 for(m = 101; m = k+1) { printf("%d ",m); count++; //输出新素数并计数加一 if (count %5 == 0) printf("\n"); //限定每行输出5个素数 } } printf("\n"); }

break和continue语句 循环结束有2种方式: (1)正常结束循环: 循环条件表达式为假(0值)时结束循环。 (2)非正常结束循环: C语言提供了4种转移语句,可在循环体内随时对 循环进行各种检测,一旦发现某种特殊的情况, 则跳出循环,非正常的结束循环。这四种转移语 句为:break、continue、goto和return语句。 return语句用于函数的返回,将在函数中介绍。 回四章基本拉制结构 8/19
第四章 基本控制结构 8/19 break和continue语句 循环结束有2种方式: (1)正常结束循环: 循环条件表达式为假(0值)时结束循环。 (2)非正常结束循环: C语言提供了4种转移语句,可在循环体内随时对 循环进行各种检测,一旦发现某种特殊的情况, 则跳出循环,非正常的结束循环。这四种转移语 句为:break、continue、goto和return语句。 return语句用于函数的返回,将在函数中介绍

1、break语句 ■形式:break; ■功能:(1)使流程跳出switch语句,继续执行switch语 句的下一条语句。 (2)使流程从循环体内跳出循环体,即提前结束 循环,接着执行循环语句下一条语句。 ■注意:只能用于循环语句和switch语句内,不能单独 使用或用于其他语句中。 whi1e(表达式1) I if(表达式2)break; 回四章基本拉制结构 9/19
第四章 基本控制结构 9/19 1、break语句 ◼ 形式:break; ◼ 功能:(1)使流程跳出switch语句,继续执行switch语 句的下一条语句。 (2)使流程从循环体内跳出循环体,即提前结束 循环,接着执行循环语句下一条语句。 ◼ 注意:只能用于循环语句和switch语句内,不能单独 使用或用于其他语句中

2、continue语句 形式:continue; 功能:结束本次循环,即跳出循环体中尚未执行的语句, 接着进行下一次是否执行循环的判定。 whi1e(表达式1) if(表达式2)continue; for(E1 E2;E3) if(E4) continue; 22 昌四章基本控制结构 10/19
第四章 基本控制结构 10/19 ◼ 形式:continue; ◼ 功能:结束本次循环,即跳出循环体中尚未执行的语句, 接着进行下一次是否执行循环的判定。 2、continue语句