C语言常见分支语句详解,举例更加容易理解

本文详细介绍了C语言中的两种主要分支语句:if和switch。对if语句的三种形式(包括if...else、if...else嵌套)进行了阐述,并通过实例展示了其用法。同时,对switch语句的结构和工作原理进行了讲解,包括如何使用case和default以及switch的嵌套应用。文章通过具体例子帮助读者理解和掌握这些基础概念。
摘要由CSDN通过智能技术生成

C语言常见分支语句

目录

1 if语句

(1)if语句
(2)if…else语句
(3)if…else嵌套语句

2 switch语句

(1)switch…case语句
(2)switch语句的嵌套

1 if语句

接下来所讲的if语句的执行流程,都是按照如图所示流程区执行在这里插入图片描述

(1)if语句

以下为if语句标准形式,其中判断表达式的出的结果只有两种,0和非0,若为0,则判断式为假,不执行下列语句,若不为0,则判断式为真,开始执行语句,另外,若有多条语句,必须用花括号{}括起来。

if(判断表达式)//
语句;
举例说明:输入一个成绩,如果成绩在60分及其以上输出及格,反之输出不及格。在这里插入图片描述

代码中输入成绩为65,进行第一个if判断,因为65>60,所以执行下面输出语句,输出及格。如果输入成绩小于60,进行第一个if判断,因为不大于60,所以不执行下面的输出,从而进行第二个if判断,小于60,执行输出不及格。

(2)if…else语句

以下为if…else语句标准形式,其中判断表达式的出的结果也是只有两种,0和非0,若为0,则判断式为假,执行else后面的语句,若不为0,则判断式为真,开始执行if下面的语句,另外,若有多条语句,必须用花括号{}括起来。

if(判断表达式)
{
语句;
}
else
{
语句;
}
举例说明:输入一个年份,判断是不是闰年,如果是则输出是闰年,反之输出不是闰年。(判断是不是闰年有两种判断方法,第一种是能被400整除,第二种是能被4整除不能被100整除)在这里插入图片描述

由代码可知,输入年份是2004,进行判断,2004可以被4整除,不可以被100整除(或运算符中若左侧判断为真,则不执行右侧判断式,存在惰性原则,或运算符有真则真全假则假),判断表达式判定为真,所以执行输出是闰年的语句。如果输入一个判断闰年的两种方法都不满足的值,则判断表达式判定为假,跳转到else,执行else后面的语句,输出不是闰年。

(3)if…else的嵌套语句
if(判断表达式1)//嵌套语句1
{
if(判断表达式2)
语句;
else
语句;
...
}
else
语句;

第一种嵌套语句主要是在第一个if判断式底下有几个子判断式,更加细分化。

举例说明:输入一个成绩,若成绩在60以下输出为E级,在60到70之间输出为D级,70到80为C级,80到90为B级,90以上为A级。(嵌套语句1)在这里插入图片描述

由代码可知,输入成绩为75,开始进行第一个判断,75>60,进入if的子判断式,75在70和80之间,所以输出对应等级C。

if(判断表达式1)//嵌套语句2
语句;
else if(判断表达式2)
语句;
else if(判断表达式3)
语句;
...

第二种嵌套语句和第一种嵌套语句意思一样,也是更加的细分化,看着更加的简介和明了。

举例说明:输入一个成绩,若成绩在60以下输出为E级,在60到70之间输出为D级,70到80为C级,80到90为B级,90以上为A级。(嵌套语句2)在这里插入图片描述

由代码可知,输入成绩为95,开始执行第一个if判断式,判断为假,进行下一个判断,直到判断为真输出对应等级,95在90和100之间,所以输出A。

2 switch语句

(1)switch语句

以下就是switch语句的标准形式,整形表达式意思是数据类型必须是整形,整型常量表达式意思是数据类型必须是整形还是常量比如1,2,3等等。先进行判断整形表达式的值符合哪一个整型常量表达式,进入对应的case语句,输出随后的语句**(其中会涉及到break,break是当输出完语句后,跳出switch语句,不输出接下来一系列的值,只输出自己所对应的值。)default语句是当整形表达式的值没有符合整形常量表达式,则进入default语句输出随后的语句。最后,case语句和default语句顺序不是固定的,可以随意改变。**

smitch(整形表达式)
{
case 整型常量表达式:printf("")breakcase 整型常量表达式:printf("")break...
default:printf("");
}
return 0;
举例说明:输入一个星期中的一天,并输出。

在这里插入图片描述
由代码可知,输入值为三,进行判断,进入case3语句输出星期三,执行break,跳出switch语句(如果没有break,就会输出星期三以及下面的值)。

(2)switch语句的嵌套语句

以下为switch嵌套语句的基本形式,和switch不同的是,嵌套语句更加细分化,更加严谨。其他的和switch基本语句一样,也就不做过多解释了。

#include <stdio.h>
int main() {
	int 整形表达式1,整形表达式2;
	switch (整形表达式1) 
	{
	case 整型常量表达式:break;
		switch (整形表达式2)
		{
		case 整型常量表达式:printf("");breakcase 整型常量表达式:printf("");break'''
		default: printf("");
		}
	case 整型常量表达式:printf("");break;
	...
	default:printf("");
	}
	return 0;
举例说明:如代码所示,程序输出结果是什么?
#include <stdio.h>
int main() {
	int x = 3;
	int y = 3;
	switch (x % 2) {
	case 1:
		switch (y)
		{
		case 0:
			printf("first");
		case 1:
			printf("second");
			break;
		default: printf("hello");
		}
	case 2:
		printf("third");
	}
	return 0;
}

由代码可知,在第一个switch语句中嵌套了另一个switch语句,接下来让我们分析这个程序。
首先,x%2值为1,进入第一个switch语句的case1语句中,从而进入第二个switch语句,y值为3,由于没有对应的case语句,因此进入default语句,输出hello,又因为没有break跳出第一个switch语句,所以继续输出third,所以最后输出结果为hellothird
C语言常见的分支语句讲完了,希望可以帮到大家,文章出现问题希望指正,不要忘了点赞呦。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚蠢的一枚大学生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值