目录
揭晓上期答案
#include <stdio.h>
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:
m++;
case 2:
n++;
case 3:
switch (n)
{
case 1:
n++;
case 2:
m++;
n++;
break;
}
default:
break;
}
printf("m=%d n=%d", m, n);
return 0;
}
循环语句
-
while
while的基本用法
while的语法结构
while(表达式)
循环语句;
//举个例子:
while(i<n)
i=i*2;
while语句执行流程:
执行while语句时,首先计算控制表达的值。如果值不为零(即真值),那么执行循环体,接着再次判定表达式。这个过程(先判定控制表达式,在执行循环体)持续进行,直到控制表达式的值变为零才停止。
下面的例子使用while语句计算大于或等于数n的最小的2的幂;
i=1;
while(i<n)
i=i*22;
假设n的值为10,下面的跟踪显示了while语句执行时的情况。
i=1; i现在的值为1
i<n成立吗 是的,继续
i=i*2; i现在的值为2
i<n成立吗? 是的,继续
i=i*2; i现在的值为4
i<n成立吗? 是的,继续
i=i*2; i现在的值为8
i<n成立吗? 是的,继续
i=i*2; i现在的值为16
i<n成立吗? 不成立,退出循环
//注意:只有控制表达式在i<n为真的情况下循环才会继续。当表达式值为假时,循环终止。
练习
在屏幕上打印1-10的数字!!(限定五分钟哦)
下面让我们来揭晓答案吧!
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i = i+1;
}
return 0;
}
while语句中的break和continue
break代码实例:
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
break;
}
printf("%d", i);
i++;
return 0;
}
相信大家看完代码应该毫不犹豫的回答是1 2 3 4吧
如果回答1 2 3 4那就大错特错啦
真正的答案是死循环了
总结:break在while循环中的作用:
其实再循环中只要遇到break,就停止后期的所有循环,直接终止循环。所以:while中的break是作用于永久终止循环的。
continue代码实例:
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
i = i + 1;
if (i == 5)
continue;
printf("%d ", i);
}
return 0;
}
这个的答案又是什么呢?
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6 7 8 9 10
2 3 4 6 7 8 9 10
2 3 4 6 7 8 9 10 11
没错看来大家的回答都是正确的,答案就是2 3 4 6 7 8 9 10 11
总结:continue用于终止本次循环的,也就是本次循环中continue后面的代码不会在执行,而是直接跳到while语句的判断部分,进行循环的入口判断。