目录
前言
C语言是结构化的程序设计语言,分为顺序结构,选择结构,循环结构,今天就来简单的介绍一下分支语句(选择结构)。
if语句
语法结构:
形式一:
if(表达式)
语句;
形式二:
if(表达式)
语句一;
else
语句二;
形式三:
if(表达式一)
语句一;
else if(表达式二)
语句二;
else(表达式三)
语句三;
eg1:
int main()
{
int age = 50;
if (age < 18)
printf("少年\n");
else if (18 <= age < 26)
printf("青年\n");
}
输出结果为:青年
上述的判断错误为逻辑错误,即当年龄为50时,经过判断语句错误判断为青年,其中当设计判断条件时需要考虑C语言的判断方法方式,不能与常规数学中的判断方式混为一谈,例二则为正确的判断条件书写方式。
eg2:
int main()
{
int age = 50;
if (age < 18)
printf("少年\n");
else if (18<=age && age>=26)
printf("青年\n");
}
这里的一对{ }就是一个代码块,解释一下如果表达式为真,则语句执行。在C语言中0表示假,非0表示为真。接下来请看例三
eg3(悬空else):
int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("yes\n");
else
printf("no\n");
return 0;
}
此例子打印出的结果为空,是因为在排版上else似乎与if(a==1)匹配,但是实际上else与离自己最近的判断语句匹配,所以在第一个判断语句的判断结果为否时,直接执行了return 0,所以输出的结果为空。
switch语句(常用于多分支的情况)
语法结构:
switch(整型表达式)
{
case 整型常量表达式;
}
eg4:
int main()
{
int day = 0;
scanf_s("%d",&day);
switch (day)
{
case 1:
printf("星期一\n");
case 2:
printf("星期二\n");
case 3:
printf("星期三\n");
case 4:
printf("星期四\n");
case 5:
printf("星期五\n");
case 6:
printf("星期六\n");
case 7:
printf("星期七\n");
}
}
输出结果:
1
星期一
星期二
星期三
星期四
星期五
星期六
星期七
由例四可以看出switch语句的特点:当case语句执行成功时,若后面没有阻止的标识则会继续往下执行语句直至语句结束。
eg5:
int main()
{
int day = 0;
scanf_s("%d",&day);
switch (day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
case 3:
printf("星期三\n");
case 4:
printf("星期四\n");
case 5:
printf("星期五\n");
case 6:
printf("星期六\n");
case 7:
printf("星期七\n");
}
}
输出结果:
1
星期一
从例五我们可以看出case语句决定的是入口,break语句决定的是出口。
eg6:
int main()
{
int day = 0;
scanf_s("%d",&day);
switch (day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
case 3:
printf("星期三\n");
case 4:
printf("星期四\n");
case 5:
printf("星期五\n");
case 6:
printf("星期六\n");
case 7:
printf("星期七\n");
default:
printf("输入错误,请重试!");
break;
}
}
输出结果:
8
输入错误,请重试!
如例六所示,在switch语句中可以添加default语句,其作用是在输入未包括值的时侯可以给予提示说明。
总结
今天简单介绍了一下C语言中的分支语句(if语句和switch语句),并对特殊情况进行了举例说明,希望对大家有所帮助,感谢阅读!