while - 循环语句
C语言提供了3种循环语句,while 就是其中⼀种,接下来就介绍⼀下 while 语句。 while 语句的语法结构和 if 语句非常相似。
5.1 if 和 while 的对比
if(表达式)
语句;
while(表达式)
语句;//如果循环体想包含更多的语句,可以加上大括号
具体对比以下的代码
//代码1
#include<stdio.h>
int main()
{
if(1)
printf("哈哈\n");//if后边条件满足,打印一次哈哈
return 0;
}
//代码2
#include <stdio.h>
int main()
{
while(1)
printf("呵呵\n"); //while后边的条件满足,死循环的打印呵呵
return 0;
}
这就是它们的区别,while语句是可以实现循环效果的。
5.2 while语句的执行流程
⾸先上来就是执⾏判断表达式,表达式的值为0,循环直接结束;
表达式的值不为0,则执行循环语句,语句执⾏完后再继续判断,是否进⾏下⼀次判断。
5.3 while循环的实践
练习1:
在屏幕上打印1~10的值
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
printf("%d ", i);
i = i+1;
}
return 0;
}
运行结果:
练习2:
输⼊⼀个正的整数,逆序打印这个整数的每⼀位
例如:
输⼊:1234,输出:4 3 2 1
输⼊:521,输出:1 2 5
题目解析
-
要想得到n的最低位,可以使⽤n%10的运算,得到的余数就是最低位,如:1234%10得到4。
-
要想去掉n的最低位,找出倒数第⼆位,则使⽤ n=n/10 操作就可以去掉最低位的,如: n=1234/10得到123,123相较于1234就去掉了最低位,123%10就得到倒数第⼆位3。
-
循环1和2两个步骤,在n变成0之前,就能到所有的位。
参考代码:
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
while(n)
{
printf("%d ", n%10);
n /= 10;
}
return 0;
}