目录
分支语句
if-else分支语句
switch分支语句
循环语句
while循环语句
for循环语句
do-while循环语句
一、分支语句
1、if-else循环语句
1、if-else循环语句
第一种分支语句结束if-else语句。
#includeint main() { int a = 0; printf("男生扣1,女生扣0:"); scanf("%d", &a); //如果满足a == 1则执行第一个,满足a == 0则执行第二个 //如果第一个和第二个都不满足则执行第三个 if (a == 1) { printf("靓仔!"); } else if (a == 0) { printf("小姐姐!"); } else { printf("你是什么性别我也不知道哎"); } return 0; }
所有结果如下:
要注意的是if - else语句不加{}配对问题:
#includeint main() { int a; scanf("%d", &a); if (a > 0) if (a == 10) printf("a等于10"); else printf("a小于10"); return 0; }
按照平常的逻辑如果我们输入-1的话,应该进入else打印。但是结果是:
结果什么都没有打印
因为else只与上一个没有配对的if配对,这样代码排版误导了你,真实代码排版是:
所以无论if-else代码有多么简单,都建议加上{},避免不必要的错误。
2、switch分支语句
#includeint main() { int day = 0; scanf("%d", &day); switch (day)//看day变量是什么 { case 1: // case后只能跟常量或常量表达式或字符 printf("星期一n"); break; //执行完跳出switch语句 case 2: printf("星期二n"); break; case 3: printf("星期三n"); break; case 4: printf("星期四n"); break; case 5: printf("星期五n"); break; case 6: printf("星期六n"); break; case 7: printf("星期天n"); break; default: //default代表前面没有一个满足就进入default执行代码 printf("输入错误,请重新输入!n"); break; } return 0; }
如果我们不加break关键字的话,就会从case 3:一直往后执行,和结果不符。
所以case和default一定要加break关键字。
最后还要知道switch语句的case和default关键字的顺序不影响代码执行结果,由读者验证。
二、循环语句 while循环语句
我们已经掌握了while的基本语法,下面我来讲一下break关键字和continue关键字在循环里的作用和区别。
break
比如要在控制台打印1-10的数字
#includeint main() { int i = 1; while(i<=10) { printf("%d ", i); i = i+1; } return 0; }
如果在循环中加入条件执行break。
#includeint main() { int i = 1; while (i <= 10) { if (i == 5) { break; } printf("%d ", i); i = i + 1; } return 0; }
所以break的作用是跳出一层循环和跳出switch语句。
continue
#includeint main() { int i = 1; while (i <= 10) { i = i + 1; if (i == 5) { continue; } printf("%d ", i); } return 0; }
我们可以看到循环跳过了i=5的那次,所以continue的作用是跳出本次循环。
但是如果continue使用不当会造成一些问题,比如:
#includeint main() { int i = 1; while (i <= 10) { printf("%d ", i); if (i == 5) { continue; } i = i + 1; } return 0; }
我们看到程序死循环了,因为每次i=5时打印跳过i=i+1,i一直为5打印,造成死循环,所以在while在使用continue要注意这个问题。
for循环语句
for循环是我们最常用的循环,它的基本语法是:
for(表达式1; 表达式2; 表达式3)
{
循环语句;
}
在while语句中要把循环变量创建在外面,改变循环变量的表达式还会被影响,可不可以把这三个反在一起呢?这就是我们的for循环语句。
for(表达式1;表达式2; 表达式3)
表达式1为初始化部分,用于初始化循环变量的。
表达式2为条件判断部分,用于判断循环时候终止。
表达式3为调整部分,用于循环条件的调整。
这三个表达式之间用分号连接。
重复上面的打印1-10。
#includeint main() { for (int i = 1; i <= 10; i++) { printf("%d ", i); } return 0; }
我们再加入continue和break。
break
#includeint main() { for (int i = 1; i <= 10; i++) { if (i == 5) { break; } printf("%d ", i); } return 0; }
continue
#includeint main() { for (int i = 1; i <= 10; i++) { if (i == 5) { continue; } printf("%d ", i); } return 0; }
我们看到这个调整i变量的表达式是无论无何都会执行的,这就是continue在while语句和for语句之间的不同。
总结一下:break的作用是跳出本层循环,continue的作用是跳出本次循环。 还要注意continue在 while循环和for循环中的不同。
do-while循环语句
do-while只有在特定条件下才能用到,do-while循环是先执行一次循环体,再判断循环条件。
do-while的形式为: do
{
循环语句;
}while(表达式);
do-while循环中的break和continue。
break
#includeint main() { int i = 1; do { if (i == 5) { break; } printf("%d ", i); i++; } while (i < 10); return 0; }
continue
#includeint main() { int i = 0; do { i++; if (i == 5) { continue; } printf("%d ", i); } while (i < 10); return 0; }
循环是C语言中的基础语句,很多问题都是建立在循环上解决的,所以要熟练使用循环语句,熟悉循环的特性。
这次鸽的有亿点久,请读者姥爷们原谅。
如果文章中有错误都可以在评论区指出,或私信我指出。
最后,求关注,求点赞,求关注。



