第4章循环结构
第4章 循环结构
4.1当型循环与直到型循环 42for循环 43循环的嵌套与其他有关语句 44程序举例
4.1 当型循环与直到型循环 4.2 for 循 环 4.3 循环的嵌套与其他有关语句 4.4 程序举例
41当型循环与直到型循环 41.1当型循环结构 当型循环结构的流程图如图4.1所示 当条件满足 循环体 图41当型循环结构流程图 没回日录
4.1 当型循环与直到型循环 4.1.1 当型循环结构 当型循环结构的流程图如图4.1所示。 当条件满足 循环体 图4.1 当型循环结构流程图
在图4.1中,条件在程序中一般是一个逻辑表达式, 条件满足是指逻辑表达式的值为真。循环体可以是单个 语句,也可以是由若干可执行语句组成的复合语句,它 们是需要重复执行的操作。 当型循环的执行过程是:当条件满足(即逻辑表 达式的值为真)时,执行循环体中所包括的操作,当循 环体执行完后,将再次判断条件,直到条件不满足(即 逻辑表达式的值为假)为止,从而退出循环结构
在图4.1中,条件在程序中一般是一个逻辑表达式, 条件满足是指逻辑表达式的值为真。循环体可以是单个 语句,也可以是由若干可执行语句组成的复合语句,它 们是需要重复执行的操作。 当型循环的执行过程是:当条件满足(即逻辑表 达式的值为真)时,执行循环体中所包括的操作,当循 环体执行完后,将再次判断条件,直到条件不满足(即 逻辑表达式的值为假)为止,从而退出循环结构
实现当型循环结构的C语句形式为 while(表达式)循环体语句 功能:当表达式值≠0时,执行循环体,执行 后继续判断表达式值,只有当表达式值=0时才退 出循环
实现当型循环结构的C语句形式为 while (表达式) 循环体语句 功能:当表达式值≠0时,执行循环体,执行完 后继续判断表达式值,只有当表达式值=0时才退 出循环
例4.2从键盘输入各学生成绩,并对90分以 上(包括90分)的学生人数进行计数,直到输入 的成绩为负为止,最后输出成绩在90分以上的学 生人数
例4.2 从键盘输入各学生成绩,并对90分以 上(包括90分)的学生人数进行计数,直到输入 的成绩为负为止,最后输出成绩在90分以上的学 生人数
其流程图如图43所示。其中变量 count为整型,用于 对90分以上的学生人数进行计数。 计数 count=0 输入成绩 grade grade≥0.0 grade≥90.0 Ye es No Count=count+1 输入成绩 grade 输出 count 图43例42的流程图
计数 count=0 输入成绩 grade 当 grade≥0.0 grade≥90.0 Yes No Count=count+1 输入成绩 grade 输出 count 图4.3 例4.2的流程图 其流程图如图4.3所示。其中变量count为整型,用于 对90分以上的学生人数进行计数
相应的C程序如下: #include stdio. h'r main f int count; float grade count=0: scanf(%of, &grade) while (grade>=0.0) f if (grade>=90.0)count=count+1 scanf(%of, &grade) printf("count=%d\n", count);
相应的C程序如下: #include "stdio.h" main() { int count; float grade; count=0; scanf("%f",&grade); while (grade>=0.0) { if (grade>=90.0) count=count+1; scanf("%f",&grade); } printf("count=%d\n",count); }
4.1.2直到型循环结构 直到型循环结构的流程图如图44所示 循环体 直到条件满足 图44直到型循环结构流程图
4.1.2 直到型循环结构 直到型循环结构的流程图如图4.4所示。 直到条件满足 循环体 图4.4 直到型循环结构流程图
直到型循环的执行过程是,首先执行循环体,然后 判断条件(即计算逻辑表达式),如果条件满足(即逻 辑表达式值为真),则退出循环结构;如果条件不满足 即逻辑表达式值为假),则继续执行循环体。 实现直到型循环结构的C语句形式为 do循环体语句 while(表达式) 功能:先执行循环体,然后判断表达式值,若表达 式值≠0,则再次执行循环体,如此循环,直到表达式值 0为止
直到型循环的执行过程是,首先执行循环体,然后 判断条件(即计算逻辑表达式),如果条件满足(即逻 辑表达式值为真),则退出循环结构;如果条件不满足 (即逻辑表达式值为假),则继续执行循环体。 实现直到型循环结构的C语句形式为 do 循环体语句 while(表达式); 功能:先执行循环体,然后判断表达式值,若表达 式值≠0,则再次执行循环体,如此循环,直到表达式值 =0为止