Day4有跟大家提到for回圈,但并非所有条件都必须用for回圈来写,这个时候我们就可以利用while跟do-while来撰写
break叙述用来强制跳出回圈,在无穷回圈就必须配合break来跳离回圈
continue则是用来略过此次回圈中尚未执行的部分,直接回到回圈顶端
while回圈中可包含其他回圈,变成多重回圈
下面来看其范例
这个是只有一个的while的回圈
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
int i;
int x;
printf("请输入正数数值\n");
scanf("%d",&i);
printf("\n");
while(i>1)
{
x=i*2;
i=i-1;
printf("i = %d\n\n",i);
printf("x = %d\n\n",x);
}
}
这是发生无穷回圈的部分,我们将条件设为只要i>1就要进去执行,但i的值为3就代表一直符合条件,因此产生了无穷回圈
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
int i;
int x;
printf("请输入正数数值\n");
scanf("%d",&i);
printf("\n");
while(i>1)
{
x=i*2;
printf("i = %d\n\n",i);
printf("x = %d\n\n",x);
}
}
这个是无穷回圈但我们利用break来强制跳出回圈
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
int i;
int x;
printf("请输入正数数值\n");
scanf("%d",&i);
printf("\n");
while(i>1)
{
x=i*2;
printf("i = %d\n\n",i);
printf("x = %d\n\n",x);
break;
}
}
这个是利用continue直接回到回圈顶端,因此并未执行印出x值的这行
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
int i;
int x;
printf("请输入正数数值\n");
scanf("%d",&i);
printf("\n");
while(i>1)
{
x=i*2;
i=i-1;
printf("i = %d\n\n",i);
continue;
printf("x = %d\n\n",x);
}
}
do-while是在不使用breakc和continue的叙述下,至少会执行程序一次。
while的条件运算式後面规定必须出现分号,为了是帮助编译程序判断是while回圈的关键字还是do-while回圈的关键字
下面来看其范例
这个是i还符合条件因此要进去回圈执行
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
int i;
int x;
printf("请输入正数数值\n");
scanf("%d",&i);
printf("\n");
do
{
x=i*2;
i=i-1;
printf("i = %d\n\n",i);
printf("x = %d\n\n",x);
}
while(i>1);
}
这个是i不符合条件,但因为do-while所以至少会执行一次
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
int i;
int x;
printf("请输入正数数值\n");
scanf("%d",&i);
printf("\n");
do
{
x=i*2;
i=i-1;
printf("i = %d\n\n",i);
printf("x = %d\n\n",x);
}
while(i<1);
}
Day6就到这啦BYE~
<<: 【Day 4】DevOps x Containerized x 王大陆都知道的容器化好处
前言: 来到倒数第二天啦,昨天我们展示了最後的React成果,今天就让我们来把这三十天的东西总结一下...
前言 在二十多岁的最後一年,决定再让自己任性一回,开始在 CMoney 参加工程师培训营,给自己半年...
如何验证结果 在学会如何Mock介面後,接下来处理的问题就是复杂的类别要怎麽来验证,当然可以透过JS...
第 17 天! 昨天我们建立了, To Do List 专案 这是我们预期的画面, 昨天做到 今天我...
我都是睡前写铁人文, 每天都是现场产文:) 所以在写铁人时就察觉一天又要过了 很好现在11:03分我...