概述
文章目录
- 前言
- 一、什么是分支语句?
- 二、分支语句的分类
- 1. if....else..语句
- 1.1 if....else..流程
- 1.2 if....else..语句语法结构
- 1.3 if..else..语句代码示例
- 2.switch..case...语句
- 2.1 switch..case..语句流程
- 2.2 switch语句语法结构
- 2.3 switch语句代码实例
- 三、总结
前言
C语言中选择语句包括if语句和switch语句,本文对这两种语句进行讲解。
一、什么是分支语句?
在C语言中分支语句又叫选择语句,是当程序执行到某条语句时,根据给定的判断条件,控制程序执行流程的语句。
二、分支语句的分类
1. if…else…语句
1.1 if…else…流程
流程如下:
1.2 if…else…语句语法结构
if…else…语句有三种情况,分别是单分支if;双分支if…else…和多分支if…else if…else…
他们的语法结构如下所示:
//单分支:表达式成立则执行语句
if (表达式)
{
语句;
}
//双分支:如果表达式为真,则执行语句1,否则执行语句2
if (表达式)
{
语句1;
}
else
{
语句2;
}
//多分支:先判断表达式1,成立则执行语句1,不成立判断表达式2,表达式2成立执行语句2,否则执行语句3
if (表达式1)
{
语句1;
}
else if (语句2)
{
语句2;
}
else
{
语句3;
}
可能有人会问,如何判断表达式是否为真,在C语言中,表达式的结果只要是非0就是真。
注意:
- 在多分支语句中,else if是可以无限加的,并不是只能有一个else if
- else不可以单独出现,if可以单独出现,并且else总是和它同级的那个if 相匹配
1.3 if…else…语句代码示例
#include <stdio.h>
int main()
{
int age=40;
if (age>=18)
{
printf("成年");
}
return 0;
}
此时的表达式为age>40?,很明显我们定义的age是满足条件的,表达式成立,执行语句,输出“成年”
int main()
{
int age=10;
if (age>=18)
{
printf("成年");
}
else
{
printf("未成年");
}
return 0;
}
此时表达1不成立,直接执行表达式2,程序输出“未成年”。
int main()
{
int age=50;
if (age<18)
{
printf("未成年");
}
else if (age<40)
{
printf("青年");
}
else
{
printf("中老年")
}
return 0;
}
表达式1(age<18)不成立,接着判断表达式2(age<40)不成立,程序将执行语句3,输出“中老年”。
if…else语句语法简单,但是遇到分支较多的情况,我们则要写成if…else if …else if…这样复杂的形式,我们有没有一种表示多分支的选择语句呢?
2.switch…case…语句
switch语句是c语言中另一种常见的选择语句,常常用于多分支的情况
2.1 switch…case…语句流程
流程如下:
switch…case语句就是,如果judge 1的结果和下面任意一个judge表达式相等,就执行对应的代码块的内容,而其余代码块中的内容不会被执行。
2.2 switch语句语法结构
switch (judge 1)
{
case (judge 2);
code 2;
break;
case (judge 3):
code 3:
break;
......
case (judge n):
code n;
break;
default:
code;
break;
}
程序执行时,首先计算judge 1的值,该值与case后面的常量表达式值比较,若相等就执行对应部分的语句块,执行完后利用break语句跳出switch分支语句。若judge1的值与所有的case后的常量表达式均不匹配,执行default项对应的语句,执行后跳出switch分支语句。
注意:
- switch后面的judge表达式决定选择语句从哪个case进入,break决定从哪里跳出
- case后面的常量表达式只能是整型、字符型或枚举型常量的一种
- 各case语句表达式的值各不相同
- case和default出现的先后次序,并不影响执行结果。
- 每一个switch语句中只能出现一条default语句
2.3 switch语句代码实例
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:
case 7:
printf("周末");
break;
default:
printf("输入有误");
break;
}
上述程序是接受一个键盘输入的整型day,然后根据输入的数字输入对应的星期几。程序在执行的过程中,会把switch语句中的day从上到下跟每一个case后面的常量表达式值比较,相等则输入。如果我们键盘输入的值不是1-7,程序在执行过程中,对比所有的case后,仍然没有找到相等的值。则会执行default后面的语句,提示用户输入有误。
三、总结
本文介绍了C语言中常用的两种选择语句if…else…语句和switch…case…语句,其中if…else语句语法简单,多用户单分支或是双分支,switch…case…语句多用于多分支语句
本篇文章就到这里了,希望能够给你带来帮助
最后
以上就是洁净西牛为你收集整理的零基础玩转c语言系列 | 选择语句前言一、什么是分支语句?二、分支语句的分类三、总结的全部内容,希望文章能够帮你解决零基础玩转c语言系列 | 选择语句前言一、什么是分支语句?二、分支语句的分类三、总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复