C语言:分支语句(if语句、switch语句)

目录

一、什么叫做语句?

C语言中,语句可以分为五大类:

        1. 表达式语句        2. 函数调用语句        3. 控制语句        4. 复合语句        5. 空语句

二、 分支语句(选择结构)

1. if语句

 if语句中 比较常见的几个重点问题:

1. 悬空 else

2. 代码风格

2. switch 语句

         break

default


在此篇文章中,我将为你介绍分支语句。那么,首先有一个问题。

一、什么叫做语句?

C语言中,语句可以分为五大类:

        1. 表达式语句        2. 函数调用语句        3. 控制语句        4. 复合语句        5. 空语句

本篇文章中的以下内容,将介绍 控制语句 —— 用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构 )。


二、 分支语句(选择结构)

1. if语句

        if语句中有两种结构:

单分支

//单分支if语句

if(表达式1)
    语句1;

多分支

//多分支
if(表达式1)
    语句1;
else if(表达式2)
    语句2;
else if(表达式3)
    语句3;
...

if语句如何执行呢?

表达式 为真则执行对应语句;若 为假,则不执行。

0 为假;非0 为真

接下来,为大家展示一个单分支if语句的运行结果。

若想要执行多条语句,则需要用到代码块功能

if(表达式1)
{
    语句1;
    语句2;
    ...
}

其中  {  }  为一个代码块。

 if语句中 比较常见的几个重点问题:

1. 悬空 else

if (a > 5)
	if (a > 7)
		printf("%d", a);
else
	printf("%d", 5 - a);

else 的匹配: else 仅与离它最近的 if 匹配

2. 代码风格

2.1

如上一段代码,由于其糟糕的代码风格,我们很容易将程序的运行结果判断错误

if (a > 5)
{
	if (a > 7)
		printf("%d", a);
	else
		printf("%d", 5 - a);
}

倘若将上一段代码改写成这样,同学们就不大会判断错误了

2.2

//1
if (a = 5)
{

}

//2
if (a == 5)
{

}

//3
if (5 == a)
{

}

如果我们要写一个if语句,判断a是否与5相等时,采用第三种写法,就能够更少出错了 


2. switch 语句

switch(a)
{
    case 1:
        语句1;
    case 2:
        语句1;
    case 3:
        语句3;
    ...
}

当我们输入的 a 为 1时,switch语句 将从 case 1 进入;a 为 2时,switch语句 将从 case2 进入;...  , 以此类推。

如果不加操作,当我们将 case 1 中的语句运行完时, switch语句不会自动停止,而是沿着 case 2 、 case 3  一直运行下去。

要避免这种情况,我们需要在语句结束的地方,加入 break ,这样程序就能自动停止。

在这里,我将给出一个程序运行结果,以展示 switch语句的实际效果。

如果我输入的值是与标签值都不匹配怎么办?  

这里,我要再为你们介绍一个关键字 default

当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行

建议:

在每个 switch 语句中都放一条default子句,甚至可以在后边再加一个 break 。
 


  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值