c语言中我们所了解的循环语句有while循环,for循环,do while循环,循环的作用是将重复的代码进行所从输出,其中循环有最主要的三要素分别是:循环语句循环条件和更新循环条件。三者缺一不可。
我们首先要讲的是while循环其主要结构如下其中count=count+1就是更新循环变量,count<=30就是循环变量,if语句就是里面的语句。循环里可以嵌套语句即循环中的循环
break语句
当 i > 5 时,执行 if 语句中的 break ,终止循环。
将 图一 和 图二 进行对比 ,我们可以得出结论:
break 能够终止 其所在的 while 循环。
2. continue 的功能
continue 的作用总结:
本次循环中continue后边的代码不会再执行,
而是直接跳转到while语句的判断部分。进行下一次循环的入口判断
二、 for循环
1. for循环语法
for(表达式1;表达式2;表达式3)
循环语句;
表达式 1 : 初始化部分,用于初始化循环变量;
表达式 2: 条件判断部分,用于判断循环是否继续进行;
表达式 3: 调整部分,用于调整循环条件。
这里,我将用for循环 为读者演示 while循环部分 代码功能的实现;
打印1 ~ 10 的数字:
for (i = 1; i <= 10; i++)
{ //i=1 初始化循环变量 ; 判断循环终止条件 ; 调整循环变量
printf("%d ", i);
}
2. for循环中的 break 和 continue
break: continue:
可以看出,for循环中 break 和 continue 在功能上 与 二者在while循环中并无不同。
3. for语句的循环控制变量
不可在for 循环体内修改循环变量,防止 for 循环失去控制
在这里,我故意写一个错误代码:#include<stdio.h>
int main()
{
int i = 0;
for (i = 1; 1 <= 10; i++)
{
if (i = 5)
printf("%d ", i);
}
return 0;
}
(死循环地打印 5 )
4. for循环的一些变种
//代码1
for循环中的初始化部分#include<stdio.h>
int main()
{
for (;;)
{
printf("hehe\n");
}
return 0;
},判断部分,调整部分是可以省略的
(死循环打印"hehe")
(建议新手不要这么用)
//代码2#include<stdio.h>
//代码2
int main()
{
int i = 0;
int j = 0;
for (; i < 4; i++)
{
for (; j < 4; j++)
printf("hehe ");
printf("\n");
}
return 0;
}
//给出代码3,供读者比较
//代码3
int main()
{
int i = 0;
int j = 0;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
printf("hehe ");
printf("\n");
}
return 0;
}
读者觉得 代码2 的运行结果 与代码3 相比如何?
代码2:之所以两段代码在结果上产生不同,其原因在于 代码3 中第二个for循环起始都对 j进行了初始化 。
for中continue语句
我们发现在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的
关于getchar()
原因是因为scanf和getchat()都是输入函数,而且在第三行输入密码的时候输入的是123456 按了enter键,使用系统在输入缓冲区的时候就有123456\n,scanf只是把123456拿走了,而\n并没有拿走,到了getchar()语句时候,便把\n输进去了,所以直接到else语句的放弃确认了。 所以我们要对这个代码进行改进但是这段代码只适合一些情况,不能适合全部,所以要利用
do语句的特点:
使用do语句是循环至少执行一次,但是使用的场景有限,所以很少使用
do...while循环中的break和continue语句