分支与循环(1)

已知,C语言是结构化的程序设计语言,这里的结构指的是顺序结构,选择结构,循环结构。

我们可以使用if switch实现分支结构,使用for while do while实现循环结构。

[壹]分支

一.if语句

(1)if语句的语法形式:

if(表达式)

  语句

表达式成立(为真),则语句执行;表达式不成立(为假),则语句不执行。

已知C语言中,0为假,非0表示真,也就是表达式的结果如果是0,则语句不执行;若表达式结果不为0,则语句执行。

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

当输入不是偶数时,如何使之能打印出东西来?

这时我们引入else语句

(2)  else语句的语法形式

if (表达式)

     语句1

                                                                          else

     语句2

(3)  if语句中包含多条语句

if和else默认只控制一条语句,当大于一条语句时,需要用大括号括起来

(4)  嵌套if

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

简化下

(5)  悬空else

else总是跟最接近的if匹配


二.关系操作符

<

>=

<=

==

!=

关系表达式通常返回1或0,表示真或假

如果一个变量和一个常量比较相等,建议把常量放在==左边,避免被赋值

多个关系操作符不宜连用

错误示例

我们有幸采访到了if()是怎么分析的,下面有请它发言:

x<y<z

x=10,y=6,x<y,为真,0

0<z,为真,0

故能成功输出


三.条件操作符

也叫三目操作符,需要接受三个操作数,形式如下:

exp1 ? exp2 : exp3

表达式1  ①真

                       表达式2计算,表达式3不计算,表达式2的结果是整个表达式的结果。

                ②假

                       表达式2不计算,表达式3计算,表达式3的结果是整个表达式的结果。


四.逻辑操作符

 (1)!逻辑取反运算符

(改变单个表达式的真假)

   (2)  && 与运算符,并且,

(两侧表达式都真才为真)

(3)|| 或运算符,或者,

(两侧表达式至少有一个为真就为真,同时为假才为假)

(4)短路

C语言逻辑运算符总先对左侧表达式求值,再对右侧表达式求值;故若左边的表达式满足逻辑运算符的条件,就不再对右边的表达式求值。这称为短路。

仅仅根据左操作数的结果就能知道整个表达式的结果,不再对右操作数进行计算的运算,称为短路求值。

①a&&b

a==0,右边不再计算

后置++先使用再加1,故0,右边不再计算

②a||b

a为真,右边不再计算

先用再加1,故0,a=1;前置++先加1再用,故3,b=3,为真,右边不再计算

五.switch语句

(1)switch语句的定义

一种特殊形式的if...else结构,用于判断条件有多个结果的情况。它把多重的else if改为更易用、可读性更高的形式。

(2)  语法形式

switch(expression)

                                                          {

                                                           case value 1:statement

                                                           case value 2:statement

                                                           default:statemen

                                                          }

switch后面必须是整型表达式(字符是以ASCII码的形式进行存储的,ASCII值是整数,字符属于整型家族

case后面的值必须是整型常量表达式(字符不行)

switch语句中,case子句和default子句无要求顺序;通常default放最后

举个栗子:


小专题:if语句和switch语句对比

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值