C语言自学第二期:分支语句(if)

     在日常生活中,基本可以分为三种结构体:顺序结构、选择结构、循环结构。C语言也是同样如此,可以通过if、switch语句进行实现。

一、if语句 

 if语句的执行流程图:

if语句的形式:

if(表达式)

   语句

     表达式成⽴(为真),则语句执⾏,表达式不成⽴(为假),则语句不执⾏。在C语句中,0表示假,非0表示真。也就是说,0的时候为假不执行,非0的时候为真语句执行。

else:

if(表达式)

       语句1

else

       语句2

e.g.

#include<stdio.h>

int main()

{

    int i=0;

   scanf("%d",&i);

   if(i%2 == 0)

      printf("奇数");

   else

     printf("偶数");

  return 0;

}

      默认在if和else中都只控制一条语句,当分⽀中包含多条语句时,第一条后面的语句无论是真是假都会执行。如果要if语句同时控制2条语句,那就要使⽤ else 后也可以跟上⼤括号。

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

e.g.

define _CRT_SECURE_NO_WARNINGS    
#include<stdio.h>
int main()
{
    int i = 0;
    scanf("%d", &i);
    if (i == 0)
        printf("这个数是0");
    else if (i > 0)
        printf("这个数是正数");
    else
        printf("这个数是负数");
    return 0;
}

悬空else

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

二、关系操作符

      C语⾔⽤于⽐较的表达式,称为“关系表达式”(relationalexpression),⾥⾯使⽤的运算符就称 为“关系运算符”(relationaloperator),主要有下⾯6个。

>:大于  <:小于  ==:判断相等   >=:大于等于  <=:小于等于   !=:判断不相等

⼀个需要避免的错误是:多个关系运算符不宜连⽤。

       a<b<c。a < b 返回 0 或 1 ,所以最终是 0 或 1 与变量 k 进⾏⽐较。可以使用这种表达式:a<b&&b<c。

逻辑操作符

! :逻辑取反运算符(改变单个表达式的真假)。

&&:表示并且。

||:表示或者。

短路。

C语⾔逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的。如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”。仅仅根据左操作数的结果就能知道整个表达式的结果,不再对右操作数进⾏计算的运算称为短 路求值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值