while 语句的一般形式为:
while(表达式)语句
其中表达式是循环条件,语句为循环体。
while 语句的语义是:计算表达式的值,当值为真(非 0)时, 执行循环体语句。其执行过程可用下图表示。
【例】用 while 语句求1+2+3+...+100。
用传统流程图和 N-S 结构流程图表示算法,见图:
#include <stdio.h>
int main() {
int i, sum = 0;
i = 1;
while(i <= 100) {
sum = sum + i;
i++;
}
printf("%d\n", sum);
return 0;
}
【例】统计从键盘输入一行字符的个数。
#include <stdio.h>
int main() {
int n = 0;
printf("input a string:\n");
while(getchar() != '\n') n++;
printf("%d", n);
return 0;
}
本例程序中的循环条件为 getchar()!='\n',其意义是, 只要从键盘输入的字符不是回车就继续循环。循环体 n++完成对输入字符个数计数。从而程序实现了对输入一行字符的字符个数计数。
使用 while 语句应注意以下几点:
1) while 语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非 0)即可继续循环。
【例】
#include <stdio.h>
int main() {
int a = 0,n;
printf("input n: ");
scanf("%d", &n);
while (n--)
printf("%d ", a++*2);
return 0;
}
本例程序将执行 n 次循环,每执行一次,n 值减 1。循环体输出表达式 a++*2 的值。该表达式等效于(a*2;a++)。
2) 循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。
掌握本节内容
登录后开始许愿
暂无评论,来抢沙发