上一篇介绍了for loop的概念,让大家面对在有重复性、明确次数的处理时,可以使用这个语法来解决问题。
这次我们来介绍回圈中另一个很重要的语法--「While Loop」!
其实while回圈与for回圈的概念是很像的,都是为了处理重复性内容而生,但两者最大的差别在於当没有明确的次数处理时,会变得很不适合使用for回圈(也不是不能用,就是不适合),取而代之的便是while回圈了。
我们来看下列的例子:
#include <stdio.h>
int main(void)
{
int data;
printf("plz input your data(>0): ");
scanf("%d", &data);
while(data > 0){
if(data%2 == 0){
printf("this data is even.\n");
}
else{
printf("this data is odd.\n");
}
printf("plz input your data(>0): ");
scanf("%d", &data);
}
printf("---\n");
printf("thanks for your using\n");
return 0;
}
我们让使用者输入数字来判断奇偶数,直到输入的数字小於0时终止程序,由於不晓得使用者会输入多少数字,所以这时候使用for loop相对的不适合,且这样的方式比较具有弹性。
(1) while回圈的基本结构:「( )」包住的内容为条件判断,被「{ }」包住的内容为需重复执行的body。
while(data > 0){
if(data%2 == 0){
printf("this data is even.\n");
}
else{
printf("this data is odd.\n");
}
printf("plz input your data(>0): ");
scanf("%d", &data);
}
(2) 谨慎设条件,避免无限回圈(程序出不去回圈一直执行,会导致电脑当机或程序坏掉)。
(3) 读取到使用者输入才会执行的语法。
a. while(scanf("%d", &data) != EOF)
#include <stdio.h>
int main(void)
{
int data;
while(scanf("%d", &data) != EOF){
if(data%2 == 0){
printf("this data is even.\n");
}
else{
printf("this data is odd.\n");
}
}
return 0;
}
b. while(~scanf("%d", &data))
#include <stdio.h>
int main(void)
{
int data;
while(~scanf("%d", &data)){
if(data%2 == 0){
printf("this data is even.\n");
}
else{
printf("this data is odd.\n");
}
}
return 0;
}
c. while(scanf("%d", &data) != -1)
#include <stdio.h>
int main(void)
{
int data;
while(scanf("%d", &data) != -1){
if(data%2 == 0){
printf("this data is even.\n");
}
else{
printf("this data is odd.\n");
}
}
return 0;
}
#include <stdio.h>
int main(void)
{
int data, i=0;
while(scanf("%d", &data) != EOF){
i++;
if(data%2 == 0){
printf("Case %d: EVEN.\n", i);
}
else{
printf("Case %d: ODD.\n", i);
}
}
return 0;
}
<<: 用 Python 畅玩 Line bot - 30:Line Notify(三)
>>: 【从零开始的 C 语言笔记】第二十篇-While Loop(2)
租的公有云服务可以使用了,并且也把目前上架的平台搬移到新租的虚拟主机服务上,同时在资料库的部分也花了...
整理进入Addressable资料 前几天利用Addressable进入载入资料时手动的将需要用到的...
1.前言 今天就不废话拉,直接进入主题(大家应该都去报复性出游了吧)。 2.html 其实HTML目...
前言 Injection +1 ↑ 正文 概念 LDAP全称Lightweight Director...
再来就是实际建立透过 select 选择的脚位,并建立相关 Firmata 功能。 建立 PWM 控...