目录
前言:
在日常生活学习中,处处面临选择,在程序中也未必只有一条运行路线,我们所做的程序,应该也可以随着用户的选择而改变路线,这样我们的程序才可以变得多功能性和更强适应性。
这时便用到了判断语句。
一、if语句
单分支if
示例:
规定年龄为20,只打印成年。
#include<stdio.h>
int main()
{
int age = 20;
if(age > 18 )
printf(" 成年 ");
return 0;
}
解释:
不做任何判断选择,即为单分支语句,即从头运行到尾,无需判断;没有分支。
双分支if
示例:
#include<stdio.h>
int main()
{
int age = 20;
if (age < 18)
printf("未成年");
else if (age >= 18)
printf("成年");
return 0;
}
进阶示例1:
#include<stdio.h>
int main()
{
int age = 20;
if (age < 18)
printf("未成年");
else if (age >= 18 && age < 28)
printf("青年");
else if (age >= 28)
printf("壮年");
return 0;
}
可以更加精确所取值范围,并且有多个限制条件在if语句内。
进阶示例2:
可以比较输入的三个数值中谁是最大值,这就让计算机进行了判断
#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if (a > b)
{
if (c > a) printf("%d", c);
if (c < a) printf("%d", a);
}
if (b > a)
{
if (c > b) printf("%d", c);
if (c < b) printf("%d", b);
}
return 0;
}
二、switch语句
当分支过多时,常用switch语句
示例:
#include<stdio.h>
int main()
{
int day = 0;
scanf_s("%d", &day);
switch (day)
{
case 1:
printf("星期一\n");
break;
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:
printf("输入错误\n");
}
switch后加入default是个好习惯
嵌套使用+例题+讲解:
示例:
#include<stdio.h>
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:m++;
case 2:n++;
case 3:
switch (n)
{ case 1:n++;
case 2:m++;
n++;
break;
}
case 4:m++;
break;
default:
break;
}
printf("m=%d,n=%d", m, n);
return 0;
}
编译结果:
参考详解:
初始化 n=1 , m=2
进入第一个switch语句,由于n=1,则执行 case 1
执行 case 1 后,m=3;后无 break, 继续执行 case 2
执行 case 2 后, n=2; 后无 break, 继续执行 case 3
执行 case 3 后
进入第二个switch语句,由于n=2,则执行 case 2
执行 case 2 后,m=4,n=3;后有 break,跳出第二个switch语句
执行 case 4 后,m=5,n=3;后有 break,跳出第一个switch语句
即打印
三、总结:
对于分支语句的浅层讲解,学会了if switch 语句,了解运用场景,以及合理运用使代码更加简洁,让工作事半功倍