while
1.执行顺序
格式:
while (表达式)
语句;
2.与for的相互比较
for和while可以相互转换
for (1; 2; 3)
A;
等价于
1;
while (2)
{
A;
3;
}
while 和 for 可以相互转化
但for的逻辑性更强,更不容易出错,推荐使用for
3.举例
从键盘输入一个数字,如果该数字是回文数,则返回yes,否则返回no
注:回文数就是正着写和倒着写一样。例如1221、12321都是回文数。
1 /* 2 2015年4月1日 16:37:44 3 目的:从键盘输入一个数字,如果该数字是回文数,则返回yes,否则返回no 4 5 6 */ 7 8 # include <stdio.h> 9 10 int main(void) 11 { 12 int val; //存放待判断的数字 13 int m; 14 int sum = 0; 15 16 printf("请输入您需要判断的数字:"); 17 scanf("%d", &val); 18 19 m = val; 20 while (m) //m的值只要非零,就为真,执行循环体 21 { 22 sum = sum*10 + m%10; 23 m /= 10; 24 } 25 26 if (sum == val) 27 printf("Yes!\n"); 28 else 29 printf("No!\n"); 30 31 return 0; 32 33 } 34 /* 35 在VC6.0中运行结果是: 36 ----------------------------- 37 请输入您需要判断的数字:12321 38 Yes! 39 ----------------------------- 40 总结:分析,以输入1234为例: 41 1> m=1234 循环条件成立 42 sum=0*10+1234%10=4 43 m=m/10 = 123 44 2> m=123 循环条件成立 45 sum=4*10+123%10=43 46 m=123/10=12 47 3> m=12 循环条件成立 48 sum=43*10+12%10=432 49 m=12/10=1 50 4> m=1 循环条件成立 51 sum=432*10+1%10=4321 52 m=1/10=0 53 5> m=0 循环条件不成立 54 55 最终 sum = 4321 56 1234不是回文数 57 58 59 60 61 */
4.什么时候使用while,什么时候使用for
时间: 2024-10-27 12:44:43