c语言分支结构之if语句

  c语言是结构化的程序设计语言,有三大结构:顺序结构、选择结构、循环结构,其实生活中的事情都可以拆分为这三种结构或者这三种结构的组合。

  这里我浅浅介绍一下我所了解的选择结构。

  选择结构也叫分支结构,这种结构在C语言中我们用 if 和 switch 来实现。

1. if语句

1.1 if

if语句的语法形式如下:

表达式成立(为真),则执行语句,表达式不成立(为假),则语句不执行。另外在c语言中,非0为真,0为假,即表达式中为非0时,语句执行;表达式中为0时,语句不执行。

例子:输入一个整数,判断是否为奇数

流程图:

1.2 else

一个数不是奇数就是偶数,如果要判断一个任意是数字是奇数还是偶数怎么办呢?

此处就需要 if...else...语法形式如下:

例子:判断一个数是奇数还是偶数,并且打印出来

练习:输入一个年龄,判断是否成年

1.3 分支中包含多条语句

默认 if 和 else 语句中只控制一条语句,比如:

这样,你会发现无论是成年了还是未成年,都是打印了“可以谈恋爱了”,

这是因为if语句只控制了printf("成年了\n");这一条语句,表达式为真就打印,表达式为假就不打印,但是对于printf("可以谈恋爱了\n");这条语句是独立存在的,不管条件为真为假都会打印。那如果我们要if控制两条语句怎么办呢?其实很简单用一个{}将两条语句括起来就行了,同样else也可以跟上大括号。

1.4 嵌套if

在 if else 语句中,else可以与另外一个if语句连用,构成多重判断。

比如:要求输入一个整数,判断输入的整数是0,还是正数或者负数。请看如下代码:

1.5 悬空else问题

如果有多个if和else,可以记住这样一条规则,else总是跟最接近的if匹配。

看下面这个例子:

再为了解else悬空之前,你是否觉得应该打印出haha,但代码执行后确实什么都不打印。

只需要记住else总是跟最近的if匹配便可区分,如何更好区分呢?加上大括号!使逻辑清晰,代可读性高

到这就是我个人对分支结构中if的理解,下面会介绍一些简单的操作符和另外一种实现分支结构中swtich语句。

谢谢观看!用发财小手点点赞!

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值