5.3直到型循环do-whe语句 1.一般格式 循环体语句组;} while(循环继续条件)/*本行的分号不能缺省* 当循环体语句组仅由一条语句构成时,可以不使用复合语句形式 2.执行过程 执行过程如图5-3所示。 (1)执行循环体语句组。 (2)计算“循环继续条件”表达式。如果“循环继续条件”表 达式的值为非0(真),则转向(1)继续执行;否则,转向(3)。 (3)执行 do-while的下一条语句。 do- while循环语句的特点是:先执行循环体语句组,然后再判断 循环条件
5.3 直到型循环do-while语句 1.一般格式 do { 循环体语句组; } while(循环继续条件); /*本行的分号不能缺省*/ 当循环体语句组仅由一条语句构成时,可以不使用复合语句形式。 2.执行过程 执行过程如图5-3所示。 (1)执行循环体语句组。 (2)计算“循环继续条件”表达式。如果“循环继续条件”表 达式的值为非 0(真),则转向(1)继续执行;否则,转向(3)。 (3)执行do-while的下一条语句。 do-while循环语句的特点是:先执行循环体语句组,然后再判断 循环条件
案例54]用 do-while语句求解1~100的累计和。 /*案例代码文件名:AL54C* /*程序功能:求1~100的累计和* main i int i=l, sum=0 *定义并初始化循环控制变量,以及累计器* do i sum +=1 /*累加* while(i<=100) *循环继续条件:j<=100*/ printf("sum=%dn2 sum 程序演示 do- while语句比较适用于处理:不论条件是否成立, 先执行1次循环体语句组的情况。除此之外,do- while语 句能实现的,for语句也能实现,而且更简洁。 Return
[案例5.4] 用do-while语句求解1~100的累计和。 /*案例代码文件名:AL5_4.C*/ /*程序功能:求1~100的累计和*/ main() { int i=1, sum=0; /*定义并初始化循环控制变量,以及累计器*/ do { sum += i; /*累加*/ i++; } while(i<=100); /*循环继续条件:i<=100*/ printf(“sum=%d\n”,sum); } [程序演示] do-while语句比较适用于处理:不论条件是否成立, 先执行1次循环体语句组的情况。除此之外,do-while语 句能实现的,for语句也能实现,而且更简洁。 [Return]
复习几种循环 for语句格式: for(初值表达式;循环继续表达式;循环变化表达式) 条要反复执行的语句; 三个独立的表达式 for(i=1;i<=10;i++) sum=sumt
复习 几种循环 • for 语句格式: for(初值表达式;循环继续表达式;循环变化表达式) 一条要反复执行的语句 ; 三个独立的表达式 for (i=1; i<=10; i++) sum=sum+i;
for语句 for语句格式: for(初值表达式;循环继续表达式;循环变化表达式) 条要反复执行的语句; 执行流程: 循环变量初值表达式 1|-循环继续表达式 不满足 条要反复执行的语句 循环变量变化表达式 下一条语句
循环继续表达式 for 语句 • for 语句格式: for(初值表达式;循环继续表达式;循环变化表达式) 一条要反复执行的语句; 执行流程: 循环变量初值表达式 一条要反复执行的语句 循环变量变化表达式 下一条语句 不满足
for语句 for(i=1,i<=10;i++) sum=sum+ 执行流程: i=1 i<=10 不满足 sum=sum+ i++ printf("%d", sum) 循环结构后面的语句
i<=10 for 语句 执行流程: i=1 sum=sum+i i++ printf("%d",sum); 不满足 循环结构后面的语句 for (i=1; i<=10; i++) sum=sum+i;