2.4.1 while 语句
while格式如下:
while(条件A){
……
}
while的格式非常简洁,跟if语句十分相像——只要条件A成立,就反复执行省略号的内容。如果不加大括号,则while循环制作用于while后的第一个完整语块(例如分号)
求1+2+3……+100?
先令n = 1,sum = 0,然后以n<=100作为循环条件,每次把n加到sum上,再使n自增:
#include<stdio.h>
int main(){
int n = 1,sum = 0;
while(n<=100){
sum = sum + n;
n++;
}
printf("sum = %d\n",sum);
return 0;
}
输出结果:5050
另外,while条件判断的是真是假,因此在条件语句中的小技巧再次同样适用:
1)如果表达式是“!=0”,则可以省略“!=0”
2)如果表达式为“==0”,则可以省略“==0”,并在表达式前添加非运算符“!”
示例如下:
#include<stdio.h>
int main(){
int n = 12345,count = 0;
while(n){
count = count + n % 10;
n = n / 10;
}
printf("%d\n",count);
return 0;
}
输出结果:15
上述程序实现了将n的每一位数字相加,即1+2+3+4+5=15 while 循环中每次通过n%10获取当前n的最低位,之后通过n=n/10将最低位抹去。while循环直到n变为0时停止,得到的count即为需要的结果