提示:本文章提供多个例子来帮助小白快速了解C语言分支语句(选择语句)。
前言
C语言是结构化的程序设计语言,其中C语言的分支语句包括if语句和switch语句。
一、if语句
1.if语句的语法形式
.
if(表达式)
语句
2.案例
例1:输⼊⼀个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印数偶数。
#include<stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if (num % 2 == 1)
printf("%d是奇数", num);
else
printf("%d是偶数",num);
return 0;
}
例2:输⼊⼀个年龄,>=18岁就输出:成年,否则就输出:未成年
#include<stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age >= 18)
printf("成年");
else
printf("未成年");
return 0;
}
例3.要求输⼊⼀个整数,如果是正数,再判断是奇数还是偶数,并输出;如果不是正数则输出不是整数。
#include<stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if (num > 0)
{
if (num % 2 == 1)
printf("奇数");
else
printf("偶数");
}
else
printf("不是正数");
return 0;
}
例4:输⼊⼀个⼈的年龄
如果年龄<18岁,打印"少年"
如果年龄在18岁⾄44岁打印"⻘年"
如果年龄在45岁⾄59岁打印"中⽼年"
如果年龄在60岁⾄89岁打印"⽼年"
如果90岁以上打印"⽼寿星"
#include<stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
printf("少年");
else
{
if (age >= 18 && age < 44)
printf("寿星");
else
{
if (age >= 44 && age < 59)
printf("中老年");
else
{
if (age >= 59 && age < 89)
printf("老年");
else
{
printf("老寿星");
}
}
}
}
return 0;
}
例5:
输⼊⼀个年份year,判断year是否是闰年?
闰年判断的规则:
1. 能被4整除并且不能被100整除是闰年?
2. 能被400整除是闰年?
#include<stdio.h>
int main()
{
int year = 0;
scanf("%d", &year);
if (year % 4 == 0 && year % 100 != 0)
printf("是闰年");
else if(year % 400 == 0)
printf("是闰年");
return 0;
}
二、switch语句
1.switch语句的语法形式
除了if语句,C语言还提供了switch语句用于分支结构
switch语句是一种特殊形式的if......else结构,用于判断条件有多个结果的情况。他把多重的else if改成更易用、可读性更好的形式。
语法形式如下:
switch(expression)
{case value1:statement;
case value2:statement;
default:statement;
}
上⾯代码中,根据表达式 expression 不同的值,执⾏相应的 case 分⽀。如果找不到对应的值,
就执⾏ default 分⽀。
注:
• switch 后的 expression 必须是整型表达式.
• case 后的值,必须是整形常量表达式.
2.if语句和switch语句的对比
例1:输⼊任意⼀个整数值,计算除3之后的余数
if语句形式:
#include<stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if (num % 3 == 0)
printf("余数为0");
else if (num % 3 == 1)
printf("余数为1");
else if (num % 3 == 2)
printf("余数为2");
return 0;
}
switch语句形式:
#include<stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
switch (num%3)
{
case 0:
printf("余数为0");
break;
case 1:
printf("余数为1");
break;
case 2:
printf("余数为2");
break;
default:
break;
}
return 0;
}
上述的代码中,我们要注意的点有:
1. case 和后边的数字之间必须有空格
2. 每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。
3.案例
例1: 输⼊⼀个1~7的数字,打印对应的星期⼏?
例如:
输⼊:1输出:星期⼀
输⼊:2输出:星期⼆
输⼊:3输出:星期三
输⼊:4输出:星期四
输⼊:5输出:星期五
输⼊:6输出:星期六
输⼊:7输出:星期天
#include<stdio.h>
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期一");
break;
case 2:
printf("星期二");
break;
case 3:
printf("星期三");
break;
case 4:
printf("星期四");
break;
case 5:
printf("星期五");
break;
case 6:
printf("星期六");
break;
case 7:
printf("星期日");
default:
break;
}
总结
这里出了几道简单的例题供大家参考以及练习