循环结构的应用与设计
1. 条件循环
在许多编程场景中,在循环执行开始前,我们往往无法确定循环的确切执行次数。例如,当我们要对一个列表中的数字进行乘法运算时,循环的执行次数取决于用户输入的数据。下面是一个条件循环的示例,用于确保用户输入的数据合理:
printf("Enter number of observed values> ");
scanf("%d", &num_obs); /* 初始化 */
while (num_obs < 0) {
printf("Negative number invalid; try again> ");
scanf("%d", &num_obs); /* 更新 */
}
这个循环会持续提示用户输入一个数据值,直到用户输入的数值为非负数。这里的初始化步骤是获取用户输入的初始值,循环条件是输入值小于0,更新步骤是再次获取用户输入的值。
1.1 汽油储存罐监控程序示例
下面是一个用于监控汽油储存罐的程序示例:
/*
* Monitor gasoline supply in storage tank. Issue warning when supply
* falls below MIN_PCT % of tank capacity.
*/
#include <stdio.h>
/* 常量宏 */
#define CAPACITY 80000.0 /* 油罐可容纳的桶