前言:
在C语言的世界里,分支和循环结构是其构建复杂程序逻辑的关键所在,他们如同人类大脑的判断与重复能力,对程序进行决策和重复执行。要想学习好C语言,分支和循环是必须要掌握的。
目录
1.if语句
2.switch语句
3.while循环语句
4.for循环语句
5.do while循环语句
6.break和continue语句
7.goto语句
1.if语句
1.1 if
if语句是最基本的分支结构,语法形式如下:
if(表达式)语句
表达式为真,语句执行;表达式为假,语句不执行
而在C语言中,0为假,非0为真
练习:判断奇数
#include<stdio.h>int main(){int num = 0;scanf("%d", &num);if (num % 2 == 1)printf("奇数\n");return 0;}
1.2 if-else 语句
判断奇偶:
#include<stdio.h>int main(){int num = 0;scanf("%d", &num);if (num % 2 == 1)printf("奇数");elseprintf("偶数");return 0;}
1.3 嵌套if-else
语法形式:
if(表达式) 语句 else if(表达式) 语句 else(表达式)
博主上一篇有写相对应的练习,在这里就不多举例了,感兴趣的可以去看看。
2.switch语句
switch 语句也是分支结构的语句,是一种特殊形式的if -else结构,用于判断条件有多个结构的情况,相比之下switch语句更简洁高效
注:switch 后的表达式必须是整形表达式
case 后的值必须是整形常量表达式
eg:判断星期
#include<stdio.h>int main(){int day = 0;scanf("%d", &day);switch (day){case 1:printf("星期一\n");break;case 2:printf("星期二\n"); break;default:printf("输入错误,请重新输入\n");}return 0;}
default语句 : switch后的表达式中的值与case语句不匹配时,加入default语句
default语句和case语句没有顺序要求,通常将default放在最后处理
3.while循环
while循环是先判断条件,在执行循环体的结构
先执行判断表达式,表达式为0,循环结束;表达式不为0,则执行循环语句
eg:打印1-100
#include<stdio.h>int main(){int i = 1;while (i <= 100){printf("%d ", i);i++;}return 0;}
执行结果:
4. for循环
for循环是使用频率最高的,语法如下:
for(表达式1;表达式2;表达式3) 语句//如果包含多条语句,则要加上大括号
表达式1:初始化
表达式2:判断
表达式3:调整
表达式1只被执行一次
练习 :打印1-10
#include<stdio.h>int main(){int a = 0;for (a = 1; a <= 10; a++){printf("%d ", a);}return 0;}
5. do while循环
do while 常常被使用在循环至少进行一次的情况,使用较少
语法如下:
do语句;while(表达式);
eg:打印1-10
#include<stdio.h>int main(){int a = 1;do{printf("%d ", a);a++;}while (a <= 10);return 0;}
执行结果:
6.break和continue语句
在循环过程中,如果需要终止或跳出循环时,往往会使用break和continue这两个关键字
break:永久性的终止循环,跳出循环后继续往下执行
continue:跳过本次循环中continue后面的代码,但在for和while循环中有所区别
区别如下:
while循环中:
continue可以跳过某次循环continue后面的代码,直接到循环的判断部分,进行下一次循环的判断,如果循环的调整在continue后面,可能造成死循环
for循环中:
练习:打印素数
打印素数还有很多更简洁的写法,在这里就不多叙述了
7.go to语句
go to语句可以在函数中跳转到设置好的位置,但使用不当,会打乱程序执行流程。所以要谨慎使用
eg:
总结:
C语言的分支和循环结构是我们必须熟练掌握的,只有深入理解并熟练掌握它们的用法及特性,才能让我们以后构建复杂的程序时更加游刃有余。博主也是在学习阶段,难免会出现纰漏,文章如果有什么问题,欢迎各位大佬批评。