十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先,我们要学好循环语句就要先明白什么是循环。
我们知道,考就是一个循环往复,当还没有考过时,我们需要不停的练,这就是循环。
2. while循环while语句
while循环由三部分组成:初始值,判断部分,调整部分
我们已经掌握了if语句
if (条件)
语句;
//应用
if (1)
printf("hehe");
当条件满足的情况下,if语句后的语句执行,否则不执行。
但是这个语句只会执行一次。
由于我们发现生活中很多的实际的例子是:同一件事情我们需要完成很多次。
那我们怎么做呢?
C语言中给我们引入了: while 语句,可以实现循环。
//while语法结构
while(判断表达式)
循环语句:
如下:
while (1)
print("hehe\n");
以上代码结果:
我们可以看到这是一个死循环,这是因为我们没有设定while循环三部分。
while语句执行流程图:
比如我们实现:
在屏幕上打印1-10的数字。
int i = 1; //初始值
while (i<= 10) //判断条件
{printf("%d\n",i);
i++; //调整部分
}
2.1 while语句break和continue代码结果:1 2 3 4 5 6 7 8 9 10
int i = 1; //初始值
while (i<= 10) //判断条件
{if (i == 5)
break;
printf("%d ",i);
i++; //调整部分
}
return 0;
代码结果:1 2 3 4
代码执行了四次之后,第五次进入循环时,遇到了break跳出了循环。
其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。
所以:while中的break是用于永久终止循环的。
了解了break,再了解continue就非常简单了。
在while循环中,continue的作用是跳过本次循环。
跳转到while语句的判断部分,进行下一次循环入口处的判断。
我们来看continue的实际应用来加强对continue的理解
getchar获取一个字符
putchar输出一个字符
end of file缩写EOF —文件结束标志
#includeint main()
{int ch = 0;
//getchar获取一个字符放到ch里,!=检查两个操作数的值是否相等,如果不相等则条件为真
while ((ch = getchar()) != EOF)
{if (ch< '0' || ch >'9')
continue;
putchar(ch);
}
return 0;
}
这个代码的用途是:打印数字字符,而跳过其它的字符
我们已经知道了while循环,但是我们为什么还要一个for循环呢?
首先来看看for循环的语法
for语法:
for(表达式1; 表达式2; 表达式3)
循环语句;
表达式1为初始化部分,用于初始化循环变量的。
表达式2为条件判断部分,用于判断循环时候终止。
表达式3为调整部分,用于循环条件的调整。
同样也用for循环在屏幕上打印1-10的数字。
#includeint main()
{int i = 0;
for (i = 1; i<= 10; i++)
{printf("%d ",i);
}
return 0;
}
代码结果:1 2 3 4 5 6 7 8 9 10
我们发现在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的。
但是还是有些差异:
#includeint main()
{int i = 0;
for (i = 1; i<= 10; i++)
{if (i == 5)
continue;
printf("%d ", i);
}
return 0;
}
3.3 for语句的循环控制变量执行结果:1 2 3 4 6 7 8 9 10
这里我们有两点需要注意的点:
第一点:不可在for 循环体内修改循环变量,防止 for 循环失去控制。
第二点:建议for语句的循环控制变量的取值是”前闭后开的“。举个例子。
#includeint main()
{int arr[10] = {0 };
int i = 0;
for (i = 0; i<10; i++) //这里的初始值"="就是闭区间,判断部分的"<"就是开区间
{printf("%d ", arr[i]);
}
return 0;
}
for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问题。
#includeint main()
{//代码1
//判断部分的省略 - 判断部分恒为真,可能会导致死循环
for (;;)
{printf("hehe\n");
}
//代码2
int i = 0;
int j = 0;
int count = 0;
//这里打印多少个呵呵
for (i=0; i< 3; i++)
{for (j=0; j< 3; j++)
{ printf("hehe\n");
count++;
}
}
printf("count = %d\n",count);
//代码3
int i = 0;
int j = 0;
int count = 0;
//如果省略初始值,这里打印多少个hehe
for (; i< 3; i++)
{for (; j< 3; j++)
{ printf("hehe\n");
}
}
printf("count = %d\n",count);
//代码4
int x, y;
for (x = 0, y = 0; x< 2 && y< 5; ++x, y++)
{printf("hehe\n");
}
return 0;
}
有兴趣的可以自己去编译器试一下
4. do-while循环do-while语法:
do
循环语句;
while(表达式);
4.1执行流程图4.2 do语句的特点同样也用do-while循环在屏幕上打印1-10的数字。
循环至少执行一次,使用的场景有限,所以不是经常使用。
#includeint main()
{int i = 1;
do
{printf("%d ", i);
i++;
} while (i<=10);
return 0;
}
while后的分号";"不可缺少。
4.3 do while循环中的break和continue和while里的用法一致。
5.总结上述三种循环语句的使用频率从大到小依次是:
for>while>do-while
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧