在C语言这座大厦中,各种语句构成了其稳固的根基,今天我们共同来学习C语言中的分支结构即if...else语句和switch...case语句
1.if...else语句
(1)
括号里面的条件句是大括号里面句子执行与否的关键,如果条件句是真(即非0), 则执行大括号里面的内容,若为假(即为0)则不执行大括号里面的语句。
if(条件句)
{
语句;//记住分号不要丢!分号不要丢!分号不要丢!
}
(2)较(1)不同的是如果条件句判断为真则不执行语句2,只执行语句1,若为假则执行语句2,不执行语句1,if和else两者是相互关联的
if(条件句)
{
语句1;//记住分号不要丢!分号不要丢!分号不要丢!
}
else
语句2;//记住分号不要丢!分号不要丢!分号不要丢!
(3)较(1)(2)相比该类型判断条件句1为真时只执行语句1而不执行语句2和语句3而条件句1为假时候,判断条件句2是否为真,若为真则执行语句2,不执行语句3,若为假则执行语句3。
if(条件句1)
{
语句1;//记住分号不要丢!分号不要丢!分号不要丢!
}
else if(条件句2)
{
语句2;//记住分号不要丢!分号不要丢!分号不要丢!
}
else
语句3;//记住分号不要丢!分号不要丢!分号不要丢!
注意!!!
if(条件句1)
if(条件句2)
语句1;
else 语句2;
else与第二个if语句关联而不与第一个if语句关联。
2.switch...case语句
主要形式:
switch(整数)
{
case1:语句1;break;//记住分号不要丢!分号不要丢!分号不要丢!
case2:语句2;break;//记住分号不要丢!分号不要丢!分号不要丢!
case3:语句3;break;//记住分号不要丢!分号不要丢!分号不要丢!
.........: ........; .........;
casen:语句n;break;//记住分号不要丢!分号不要丢!分号不要丢!
注意!!!
switch...case语句中,case和switch后面都必须用整数
练习:
例1(if语句):输出两个整数中的最大值(先观察再自我动手练习)
#include <stdio.h>
void main()
{
int a,b;
printf("请输入两个整数:");
scanf("%d %d",&a,&b);
if(a>b)
{
printf("max = %d\n",a);
}
if(a<b)
{
printf("max = %d\n",b);
}
}
例2(switch语句):简单的加减乘除计算(先观察再自我动手练习)
#include <stdio.h>
void main()
{
double a,b;
char ch;
printf("Input a(+ - * /)b:");
scanf("%f%c%f",&a,&ch,&b);
switch(ch)
{
case '+':
printf("%f%c%f=%.2f\n",a,ch,b,a+b);/*%.2f表示精度,可以理解为保留两位小数*/
break;
case '-':
printf("%f%c%f=%.2f\n",a,ch,b,a-b);
break;
case '*':
case 'X':
case 'x':
printf("%f%c%f=%.2f\n",a,ch,b,a*b);/*输入"x" "X" "*" 都执行这一条语句;不加break,会顺语句执行*/
break;
case '/':
printf("%f%c%f=%.2f\n",a,ch,b,a/b);
break;
default:
printf("请输入正确算式!\n");
}
}
注:本提用的case和switch括号里面的符号由ASCII码值可知为整数。
ASCII值参考链接:ASCII码一览表,ASCII码对照表 (biancheng.net)
题目来源:https://blog.csdn.net/weixin_46623617/article/details/105346418