§63用do- while设计循环结构 do-whil循环 1.格式:do循环体 while(表达式); 2.功能:先执行循环体再判断表达式的值,若为非零, 重复执行循环体语句,再判断…直到表达式的值为零 退出循环体 即:执行一测试一执行一测试 循环体 do语旬 while(条件); 条件 n=1 共42页第11页
共 42页 第 11 页 §6.3 用do-while设计循环结构 do 语句 while (条件); 1. 格式:do 循环体 while(表达式); 2. 功能:先执行循环体,再判断表达式的值,若为非零, 重复执行循环体语句,再判断…….直到表达式的值为零 ,退出循环体 do -while循环 即:执行--测试---执行--测试-- 条件 N Y 循环体 = = x n s n 1
§6.3用do- while设计循环结构(续) 开始 maino i int n=l, s=0, 初始化n,s scanf(od, &x); d o s-=Stn, 输入x while (n<=x s=Stn printi( s=yon, SB 结束 n++ 输出s 条件表达式后有分号 共42页第12页
共 42页 第 12 页 main() { int n=1,s=0,x; scanf("%d",&x); do {s=s+n; n++;} while (n<=x); printf("s=%d\n",s); } §6.3 用do-while设计循环结构(续) n<=x s=s+n Y n++ 开始 初始化n,s N 结束 输入x 输出s
§6.3用 do-while设计循环结构(完) 3、 while与 do while的比较 输入:12 输入:12 maino.输出 输出 Int s=U,x;$=12 main( s=0 scanf(%d", &x) Rint S=0, X; do scanf("od", &x); 循坏至少 while(x<=10 S=STX x+;}执行一次 s=s+x;循环没有 while(x<=10) X++ 被执行 printf("s=%dn", s); printf("s=%dIn", s); 共42页第13页
共 42页 第 13 页 main() {int s=0,x; scanf("%d",&x); while (x<=10) {s=s+x; x++;} printf("s=%d\n",s); } main() {int s=0,x; scanf("%d",&x); do {s=s+x; x++;} while(x<=10); printf("s=%d\n",s); } 输入:12 输出: s=12 循环至少 执行一次 循环没有 被执行 输入:12 输出: s=0 3、 while与do while的比较 §6.3 用do-while设计循环结构(完)
§64用for语句设计循环结构 for语句初值表达式1条件表达式2增量表达式3 1.格式 for(表达式1;表达式2:表达式3){语句组} 2功能:计算表达式初值 计算表达式2并判断,0时跳出循环,非0时执行循环; 表达式2非0,执行循环体语句,计算表达式3增量; 自动转到第二步(计算表达式2)…继续执行。 变量的初值 main( int n, s 变量的增量 for(n=1;n≤=100;n+4 s=stay 循环条件 printf(odn”,s);} 循环体 共42页第14页
共 42页 第 14 页 计算表达式1初值; 计算表达式2并判断,0 时跳出循环,非0 时执行循环; 当表达式2非0,执行循环体语句,计算表达式3增量; 自动转到第二步(计算表达式2)…...继续执行。 for语句 初值表达式1 条件表达式2 增量表达式3 for (表达式1;表达式2;表达式3) { 语句组 } §6.4 用for语句设计循环结构 1. 格式 : 2. 功能 : main( ) { int n, s; for(n=1 ; n<=100 ;n++) s=s+n; printf(“%d\n”,s); } 变量的增量 循环体 变量的初值 循环条件
§64用for语句设计循环结构(续) 1.表达式1,表达式2和表达式3均可缺省 3说明 分号始终不能缺省! for(爬100;n+)缺省e1,n应在循环之前赋初值 for(n=0;n+)缺省e2,造成死循环,不可使用! for(n=0;n<10;)缺省e3,n增量应在循环体内进行 for (a) 缺省e1,e2,e3死循环 for(;n<100)缺省e1,e3 不可用 共42页第15页
共 42页 第 15 页 1.表达式1,表达式2和表达式3均可缺省 for (;n<100;n++) 缺省e1, n 应在循环之前赋初值 for (n=0;;n++) 缺省e2, 造成死循环,不可使用! for (n=0;n<100;) 缺省e3, n增量应在循环体内进行 for (; ;) 缺省e1,e2,e3 死循环 for (;n<100;) 缺省e1,e3 分号始终不能缺省! 3.说明 不可用 §6.4 用for语句设计循环结构(续)