---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
今天看的是C语言的循环结构,C语言中一个很重要的部分也就是循环结构。他分为几个部分,一个是for循环,while循环,do while循环。
下面就一个一个讲解下循环结构。
for循环
for (语句1; 条件; 语句2)
{
循环体
}
语句1:初始化语句
语句2:增量语句(执行完循环体后再执行的语句)
1.for一开始就会执行一次语句1(整个for循环只会执行一次)
2.判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立
for循环也可以嵌套使用。
下面是示例代码
#include <stdio.h>
int main()
{
for (int i = 1; i<=4; i++)
{
//printf("好友列表%d\n", i + 1);
printf("好友列表%d\n", i);
/*
printf(" 好友1\n");
printf(" 好友2\n");
printf(" 好友3\n");
printf(" 好友4\n");
printf(" 好友5\n");*/
for (int j = 1; j<=7; j++)
{
printf(" 好友%d\n", j);
}
}
return 0;
}
#include <stdio.h>
int main()
{
/*
"做俯卧撑"50次
*/
/*
int count = 0;
for ( ; count < 50; )
{
printf("做俯卧撑\n");
count++;
}*/
/*
for (int count = 0; count < 50; )
{
printf("做俯卧撑\n");
count++;
}*/
/*
for (int count = 0; count < 50; count++)
{
printf("做俯卧撑\n");
}*/
/*
for (int count = 0; count < 50; printf("做俯卧撑\n"),printf("哈哈哈\n"),count++)
{
}*/
return 0;
}
上面两段代码已经很清楚的表示了for循环的使用技巧
接下来是while循环
if (条件)
{
}
while (条件)
{
循环体
}
运行原理
1.如果一开始条件就不成立,永远不会执行循环体
2.如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立......
break
直接结束整个while循环
continue
结束当前的循环体,进入下一次循环体的执行
下面是示例代码
#include <stdio.h>
int main()
{
// 1.先确定需要重复执行的操作
// 2.再确定约束条件
// 定义一个变量记录做的次数
int count = 0;
/*
while (count<50)
{
++count;
if (count%10 != 0)
{
printf("做第%d次俯卧撑\n", count);
}
}*/
/*
while (count<50)
{
++count;
if (count%10 == 0)
{
// 直接结束这一次循环体,进入下一次循环
continue;
}
printf("做第%d次俯卧撑\n", count);
}*/
while (count < 50)
{
++count;
printf("做第%d次俯卧撑\n", count);
if (count == 20)
{
break;
}
}
return 0;
}
最后一个是do while
while (条件)
{
}
do {
} while(条件);
while和do-while的区别
1.很多情况下,while和do while可以互换
2.while特点:如果一开始的条件不成立,永远不会执行循环体
do while特点:不管一开始的条件是否成立,至少会执行一次循环体
3.最好使用while
#include <stdio.h>
int main()
{
int i = 0;
/*
while (i<0)
{
i++; // 5
}*/
do {
i++; // 5
} while (i<0);
printf("i=%d\n", i);
return 0;
}
最后再总结下这几个循环结构
1.while
1> 特点:如果一开始条件不成立,永远不会执行循环体
2.do while
1> 特点:不管条件是否成立,至少会执行一次循环体
3.for
4.选择
1> 一般优先使用for循环
2> 然后再考虑while
3> 最后再考虑do while
---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ----------------------