C语言-选择结构

1.逻辑值

C语言中木有专用的逻辑值,1代表逻辑真,0代表逻辑假
0代表逻辑假,!0代表逻辑真

C语言中:任何非零的数都当做为真!!!!

 int a=4,b=-5,c=b+5;
    
    !a------0
    !a||b&&c-------0
     0||b&&c
     0||0

    b&&c-----0
    a||c-----1

2.关系运算符

> < >= <= != ==

超级大陷阱:关系运算符永远是两两进行比较滴!!!!!!!
建议:不要连着比较

int a=b=c=5;----不OK

  int a=12,b=6;
  printf("%d\n",a>b);
           1


  int a,b,c;
  a=12;
  b=10;
  c=8;
  printf("%d\n",a>b>c);
                 1>c
                 0

3.逻辑运算符

逻辑与 && 并且
逻辑或 || 或者
逻辑非 ! 取反

a&&b 若a,b同时为真,结果才为真
a||b 若a,b其中有一个为真,则结果为真
!a a为真,则!a为假;a为假,则!a为真

4.优先级

逻辑非>算数运算符>关系运算符>逻辑与>逻辑或>条件运算符>赋值运算符>逗号运算符

5.短路现象

  1. a&&b&&c: a为假,整个结果都为假,b和c不需要搭理(判断/执行/处理)–短路
    只有a为真的时候才需要判断b的值
    只有a和b都为真才需要考虑c的值

  2. a||b||c: a为真,整个结果为真,b和c不需要搭理(判断/执行/处理)–短路
    只有a为假的时候才需要判断b的值
    只有a和b都为假才需要考虑c的值

 int m=10,n=0,a=1,b=3,c=14,d=7,i,j;
    
    i=(m=a<b)&&(n=c>d);
    1    1         1
    printf("%d\n",i,m,n);
    
    j=(m=a<b)||(n=c>d);---短路--n=c>d不执行,不进行任何处理
    1   1       0
    printf("%d\n",j,m,n);

6.选择结构if语句

if(表达式)语句;

int a=5,b=4,c=6;
     if(a>b)c=a+b;/*if后面条件为真,执行c=a+b*/
     printf("%d\n",c); 
              9
int a=5,b
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值