c语言分支语句 if,switch是什么东西,我该怎么用?

分支语句 if 是什么东西,我该怎么用?

r 复制代码
if 是c语言中的选择语句,用来选择和判断不同的条件。

if语句

if语句语法表达

c 复制代码
if(表达式)
{
	语句
}
r 复制代码
表达式成立为真,语句执行。
表达式不成立为假,语句则不执行。
c语言中0为假,1为真。

所以想要让 if 语句功能实现要让表达式的值为 1 即为真 情况为:

这里表达式 (numb= =1)因为 numb 初始值定义为1所以(numb==1)成立 if 语句为真所以执行 printf 打印 numb 的值: 初始值为 1 运行程序结构为 1 要是我们把 numb的初始值设定为 0 的话 因为我们把 numb 的值设为了 0 numb=0 0不等于1 if(numb= =1)表达式为假,不执行语句 运行了程序什么都不执行

要是我们想要表达输入 11 以外的结果时那就可以用到 else

else

这里我们用到了输入函数 scanf scanf 可以输入任意一个不超过 (-2^31^ ~2^31^-1 ) 整型 因为int numb 是有符号整型 假设我们输入1 if 表达式成立 实行语句 "打印数字1" 假设我们输入 1 除外的数 这里if 表达式不成立 执行else 的语句 "打印数字一以外的数" 使用 if else 时要注意

c 复制代码
if(表达式)
{
	语句;
}
else
{
	语句;
}

else 只会跟最近的 if 语句 中间插入其他语句就会报错 所以 if 后面一般都跟着 else 不跟else也行但是 else 必须跟着 if

if 嵌套语句

if还能嵌套使用

c 复制代码
if(语句)
{
	if(语句)
	{
		表达式;
	}
}

这里 if 嵌套 numb 满足了大于 0 的条件由满足了小于 6 的条件 所以程序运行 打印 numb 的值 为 5 if 嵌套一样可以用 else 这里else没有找到if语句 所以什么都没执行 正确的语句应为 numb 只满足大于0的条件 不满足小于6的条件 打印**"都不满足"**

还有嵌套语句 else if

c 复制代码
if(表达式)
{
	语句;
}
else if(表达式)
{
	语句;
}
else
{
	语句;
}

这个和上面有所不同 这个语句只会执行一次符合条件的表达式 因为numb=2 满足了numb>2就直接执行打印了 不会再执行下面的语句

只要你想套可以无限套娃 gitee里面有 if 测试

swtich 语句 分支语句中的另外一条语句

switch 语句的话 和 if else 相似,if else 另一种表达方法就是 else if上面说过 都是 分支语句

c 复制代码
switch(整型表达式)
{
	case 整型常量:(语句);break;
	case 整型常量:(语句);break;
}
if(表达式)
{
	if(表达式)
	{
		语句:	
	}
	else
	{
		语句;
	}
}
if(表达式)
{
	语句;
}
else if(表达式)
{
	语句;
}
else
{
	语句;
}

但是 switchif 语句的表达式有点不同

上面 if 语句的表达式在C语言中,if后面的条件可以是任何表达式,不一定是整型。只要表达式的值为0,则条件为假,否则为真。例如,以下代码是合法的:

c 复制代码
if (x > 0.5) {
    printf("x is greater than 0.5");
}

其中,表达式x > 0.5的值为1或0,如果x大于0.5,则为1,否则为0。 switch 语句呢他后面跟的表达式必须是整型。 整型大概意思是一个整数的意思,不是小数。 switch 后面跟的 case 也必须是整型常量,记住一定是常量 变量是会报错的

switch 语句的 defaultif 语句中的 else 一样都差不多是默认的一样 就是要是上面语句都不能执行就默认执行 default . 这里输入 i 的值是 7 大于 3 都不执行 所以执行 default 语句打印"超出范围" 输入 1 就是执行 case 1 语句 打印 i 的值 这里要注意 break,要是不打 break 的话 就会一直打执行下去直到语句结束。

更多的使用方法就靠我们自己去研究啦

相关推荐
LuminousCPP32 分钟前
栈和队列专题(四):LeetCode 232. 用栈实现队列|双栈分工 + 按需迁移 + 摊还 O(1)
c语言·数据结构·笔记·算法·leetcode
流浪0011 小时前
C/C++ 后端筑基系列(一):C语言 —— 从基础到进阶系统指南
c语言
caimouse13 小时前
ReactOS 图形系统分析(51):元文件子系统 — metafile.c
c语言·开发语言
Canmag 兴隆磁性16 小时前
C 系列充磁机
c语言·开发语言·学习·永磁材料·充磁·退磁
_Narcissus_17 小时前
排序算法总结表格
c语言·数据结构·c++·笔记·算法·排序算法·总结
小雪崩18 小时前
嵌入式学习 day27:标准IO
linux·c语言·学习
xx~t19 小时前
嵌入式——Linux软件编程2
linux·运维·服务器·c语言·学习方法
luj_17681 天前
变频技术核心原理揭秘
服务器·c语言·开发语言·经验分享·算法
_Narcissus_1 天前
B树概念及操作笔记(含完整代码实现)
c语言·数据结构·数据库·c++·笔记·b树·算法
松小白song1 天前
嵌入式通信协议全解:UART、RS232、RS485、I²C、SPI 与 CAN 的本质区别与选型指南
c语言·开发语言