第6章循环结构程序设计 第6章循环结构程序设计 6.,1 while语句 62do- while语句 6.3for语句 64终止循环语句 6.5多重循环 66程序设计举例 BACK
第 6章 循环结构程序设计 第 6章 循环结构程序设计 6.1 while语句 6.2 do-while语句 6.3 for语句 6.4 终止循环语句 6.5 多重循环 6.6 程序设计举例
第6章循环结构程序设计 61 while语句 格式: while(条件表达式)语句 功能:条件表达式描述循环的条件,语句描述要反 复执行的操作,称为循环体 先计算条件表达式的值,当条件表达式的值为真时, 代表循环的条件成立,执行循环体。当条件表达式的值 为假时,代表循环的条件不成立,退出循环,执行循环下 条语句。 while语句是当循环的条件成立时,反复执行的循环
第 6章 循环结构程序设计 6.1 while语句 格式: while (条件表达式) 功能: 条件表达式描述循环的条件, 语句描述要反 复执行的操作, 称为循环体。 先计算条件表达式的值, 当条件表达式的值为真时, 代表循环的条件成立, 执行循环体。当条件表达式的值 为假时, 代表循环的条件不成立, 退出循环, 执行循环下 一条语句。 while语句是当循环的条件成立时, 反复执行的循环
第6章循环结构程序设计 说明 (1)whle语句是先判断,后执行。如果循环的条件一开始不成立 (条件表达式为假),则循环一次都不执行。 (②)循环体中必须有改变循环条件的语句,否则循环不能终止,形 成无限循环 (3)循环体为多条语句时,必须采用复合语句 (4)当循环条件为永真条件时,将变成无限循环。可以利用 break 语句终止循环的执行。 (5)等价的f语句加goto语句形式如下 标号:if(条件表达式) 循环体; goto标号;
第 6章 循环结构程序设计 说明: (1) while语句是先判断, 后执行。 如果循环的条件一开始不成立 (条件表达式为假),则循环一次都不执行。 (2) 循环体中必须有改变循环条件的语句, 否则循环不能终止, 形 成无限循环。 (3) 循环体为多条语句时,必须采用复合语句。 (4) 当循环条件为永真条件时, 将变成无限循环。可以利用break 语句终止循环的执行。 (5) 等价的 if 语句加goto语句形式如下: 标号: if (条件表达式) { 循环体; goto 标号; }
第6章循环结构程序设计 例6-1求一些正数的和。 /*程序6-1,求一些正数之和* main() float x;/*存放当前输入的数* float sum=0;/*存放和,初值为0*/ printf("%P;&x);/*输入第一个数*/ while (x>0) sum+=x;,/*累加* scanf("%f",&x);/*输入下一个数,仍然放入x中,接下去判 断循环的条件是否满足* printf("和=%62f;sum);/输出所求一些数的和* 输入数据:1.12233440 0作为一些数的结束 运行结果。和=H0
第 6章 循环结构程序设计 例 6 – 1 求一些正数的和。 /*程序 6 - 1, 求一些正数之和*/ main( {float x; /*存放当前输入的数*/ float sum=0; /*存放和, 初值为0*/ printf(″%f″, &x); /*输入第一个数*/ while (x>0 {sum+=x; /*累加*/ scanf(″%f″, &x); /*输入下一个数, 仍然放入x中, 接下去判 断循环的条件是否满足*/ } printf(″和=%6.2f″, sum); /*输出所求一些数的和*/ } 输入数据: 1.1 2.2 3.3 4.4 0 0作为一些数的结束。 运行结果: 和= 11.00
第6章循环结构程序设计 例6-2计算1+2+3+.+100。 /*程序6-2,计算1+2+3+.+100* main( inti=1;/*i存放项,初值为1*/ int sum=0 while (K<=100) sum+=i,/*当i<=100,累加* i++,/*i的值改变为下一个自然数,改变后接下去判断循环的条件是否满足*/ printf("1+2+3+…+100=%d",sum);/*输出所求和* 运行结果:1+2+3+..+100=5050
第 6章 循环结构程序设计 例 6 – 2 计算 1+2+3+… +100。 /*程序 6 - 2, 计算 1+2+3+… +100 */ main( ) {int i=1; /*i 存放项, 初值为1*/ int sum=0; while (i<=100 {sum+=i; /*当i<=100, 累加*/ i++; /*i的值改变为下一个自然数, 改变后接下去判断循环的条件是否满足*/ } printf(″1+2+3+…+100=%d″, sum); /*输出所求和*/ } 运行结果: 1+2+3+…+100=5050