原本我是向先将for、while、do...while循环的但是我觉得还是要先对continue和break语句有更好的了解,因为到后面嵌入到复杂的嵌套式循环中理解容易懵逼!!!!可能直接看也会懵逼,毕竟这是帖子你也可以先看循环讲解。🤣
一、break and continue讲解
1.1 break语句
- 定义:1、用于终止当前所在的循环结构(
for
循环、while
循环、do-while
循环),使程序立即跳出循环,执行循环后面的语句。2、如果break
出现在嵌套循环中,它只会跳出当前所在的内层循环。
#include <stdio.h>
main() {
Break_And_Continue();
}
Break_And_Continue() {
int i = 1;
while (1) { //因为在C中大于0的数都为真,所以不加跳出那么将进入死循环
if (i > 5) {
break;
printf("此时的i已经大于5了");
}
printf("进入循环的第%d次\n",i);
i++;
}
printf("最终i的值:%d",i);
}
1.2 continue语句
- 定义:用于结束本次循环的当前迭代,跳过本次循环中位于
continue
之后的语句,直接开始下一次循环。也就是说,它不会完全终止循环,而是让循环跳过某些部分,继续下一轮的迭代。
#include <stdio.h>
main() {
Break_And_Continue();
}
Break_And_Continue() {
int i = 1;
while (i<=7) { //因为在C中大于0的数都为真,所以不加跳出那么将进入死循环
if (i > 5) {
printf("此时的i已经大于5了\n");
i++; //此条语句不加将陷入无限循环
continue;
}
printf("进入循环的第%d次\n", i);
i++;
}
printf("最终i的值:%d",i);
}
二、while循环
- while使用场景:一般常用于不知道循环次数的情况!
- 常考问题有猴子偷桃,斐波那契数列等
while(执行条件){
语句
}
#include <stdio.h>
main() {
Fibonacci(); //调用斐波那契数列函数
}
//斐波那契数列:第一项为1,第二项为1,从第3项开始就是前两项之和
//考题一般问项数多少得多少值或问的多少值为多少项
Fibonacci() {
int a, b, c,n; //a为前2项,b为前1项,c为前1加前2项之和,n为项数
a = b = 1,c=0,n=2;
while (c <= 100) { //此处我是要知道地几项的数小于100
c = a + b;
a = b;
b = c;
n++;
printf("项数:%d,值:%d\n",n,c);
}
//此处减一是因为前1项加前2项最后一项肯定是大于100了,只有前一项的值刚好小于100;
printf("\n最后一项(%d项)数为:%d,第%d项小于100",n, c, n - 1);
}
三、do...while循环
- do...while与while相似,区别在于一个先执行再判断,而while是先判断再循环。
do{
语句
}while(执行条件);
#include <stdio.h>
main() {
DoWhileTest();
}
DoWhileTest() {
int i = 2;
int n = 1;
do {
n += i;
i++;
} while (0);
printf("结果为:%d", n);
}
四、for循环
- for循环使用场景:它一般应用于知道循环次数
- 常考题一般为素数、完数、冒泡排序等
for(表达式1;表达式2;表达式3){
语句;
}
#include <stdio.h>
main() {
ForTest();
}
ForTest() {
//实现99乘法表
for (int i = 1;i <= 9;i++) {
for (int j=1;j <= i;j++) {
printf("%d * %d=%d\t",j,i,i*j);
}
printf("\n");
}
}
因为光文字描述很多跨专业的同学看不明白
所以八月底我会在小破站上发表讲解视频:https://space.bilibili.com/3493145499142994视频大家记得关注我
然后这是我的gitte上关于这个仓库的地址,大家可以下源代码查看:https://gitee.com/chenchengnuo/Cprogramming.git