C语言基础知识之分支结构

文章介绍了编程语言中的分支结构,包括ifelse的单分支、多分支和嵌套使用,以及switch语句的工作原理,通过示例代码展示了如何在C语言中实现不同的逻辑判断。重点讲解了不同分支结构的应用场景和注意事项。
摘要由CSDN通过智能技术生成

系列文章目录


前言

文章作者刚入门,内容理解不成熟,有错误之处,欢迎斧正


一、什么是分支结构

具有判断能力并且能够根据判断结果执行不同路径的结构

分支结构语句主要有两种:

1.if else

完整结构:>

if(判断部分)
{
语句块1;
}
else
{
语句块2;
}
当判断结果:>
真,执行语句块1;
假,执行语句块2;

 c语言中数字0代表假,其余数字代表真,但是系统默认真的值为1

当只有语句块中只有一条语句时,外面的花括号可以省略,但是为了良好的代码书写习惯,无论语句的多少,都应该加上花括号  

(1)单分支结构 

仅有判断部分和对应语句构成,适用于结果判断为真时,需要执行相应的语句

例如,将小写字母改成大写字母的操作,由于就是大写字母时可以不做修改,那么这种情况就适用于单分支与结构

#include <stdio.h>
int main()
{
	char ch = '0';
	scanf("%c", &ch);
	if (ch >= 'a' && ch <= 'b')
	{
		ch -= 32;
	}
	printf("%c", ch);
	return 0;
}
输入’a‘时,结果是’A‘
输入’A‘时,结果是’A‘

(2)多分支结构 

由多个if else语句构成,适用于当一个完整的if else语句无法完成要求,同时多个单分支语句又无法得出正确答案

例如,要将字符字母a改成D,b改成D,c改成D,三者之间没有必然的联系,就可以采用if else多分支结构

#include <stdio.h>
int main()
{
	char ch = '0';
	scanf("%c", &ch);
	if (ch == 'a')
	{
		ch = 'D';
	}
	else if (ch == 'b')
	{
		ch == 'D';
	}
	else if (ch == 'c')
	{
		ch == 'D';
	}
	else
	{
		ch = ch;
	}
	printf("%c", ch);
	return 0;
}

 如上程序,其中的最后一个else语句,并没有什么实际性的作用,所以可以把将它省略,该程序也能正常运行

(3)嵌套分支结构

在分支结构里面,嵌套分支结构,适用于判断后,需要再次判断的情况

例如,判断是否是大写字母,然后再执行上面题目例子

#include <stdio.h>
int main()
{
	char ch = '0';
	scanf("%c", &ch);
	if (ch >= 'a' && ch <= 'z')
	{
		if (ch == 'a')
		{
			ch = 'D';
		}
		else if (ch == 'b')
		{
			ch == 'D';
		}
		else if (ch == 'c')
		{
			ch == 'D';
		}
		else
		{
			ch = ch;
		}
	}
	else
	{
		ch = ch;
	}
	printf("%c", ch);
	return 0;
}

 这样就既实现了字母大小写的判断,又实现了对应要求字母的更改。

2.switch

完整结构:>

switch(判断部分)
{
case x1:语句块1;break;
case x2:语句块2;break;
case x3:语句块3;break;
case ..:语句块..;break;
default :语句块n:break;
}

Switch语句由前面的判断部分和后面的不同情况case,及其对应语句块组成,并且判断部分只能是整型的结果情况case 1,2,3都只能是整型的常量(字符也是整形,它可以用对应的ASCII码表示)

注意:>其中的case,作为语句的入口(因此同一个语句块情况可以叠加,例如:case1:case2:语句块;break;当为条件1或条件2时,语句块都会被执行),break作为出口,所以如果语句块后面没有break时,程序就会继续往下执行到下一个case,直到找到出口或者switch分支结束

#include <stdio.h>
int main()
{
	int a = 0;
	switch (a)
	{
	case 0:a = 1; break;
	case 1:a = 11; break;
	default:a = 111; break;
	}
	printf("a=%d\n", a);
	int b = 0;
	switch (b)
	{
	case 0:b = 1; 
	case 1:b = 11; break;
	default:b = 111; break;
	}
	printf("b=%d\n", b);
	int c = 0;
	switch (c)
	{
	case 0:c = 1;
	case 1:c = 11;
	default:c = 111; 
	}
	printf("c=%d\n", c);
	return 0;
}
结果:> a=1
       b=11
       c=111

总结

以上就是分支结构,在程序设计中应用比较频繁,其中最多的是if else分支结构

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值