一 逻辑运算符:

&&:逻辑与,读作并且

表达式左右两边都为真,那么结果才为真

口诀:一假则假

||:逻辑或,读作或者

表达式左右两边,有一个为真,那么结果就为真

口诀:一真则真

!: 逻辑非,读作取反

表达式的结果如果为假,就变成真,如果为真,就变成假

口诀:真变假,假变真

二 逻辑运算符的短路问题

tips:非0为真,0为假

短路的情况:

&&:左边如果为假,则右边短路(右边不会被执行)

||:左边如果为真,则右边短路(右边不会执行)

tips:代码例子如下

#include <stdio.h>

int main(int argc, const char * argv[]) {

//    int res = 1 && 2;

//    printf("res=%d\n",res);

//    int res = 1 && -2;

//    printf("res=%d\n",res);//1

//    int res = 1 && 0;

//    printf("res=%d\n",res);//0

//    int num1=10,num2=20;

//或者的口诀:一真则真,所以如果左边为真,那么右边表达式不会被执行了

//    int res = num1++ || num2++;

//    printf("res=%d  num1=%d  num2=%d\n",res,num1,num2);//1  11  20

//    int num1=0,num2=10;

//    //并且的口诀:一假则假

//    int res = num1++ && num2++;

//    printf("res=%d  num1=%d  num2=%d\n",res,num1,num2); //0  1  10

//    int num1=0,num2=10;

//    int sum = num1++ + num2; //10

//    int num = 10;

//    int res = 0 && num++;

//    printf("res=%d  num=%d\n",res,num); //0  10

//    int num1=0,num2=10;

//    //并且的口诀:一假则假

//    int res = num1 && num2++;

//    printf("res=%d  num1=%d  num2=%d\n",res,num1,num2); //1  1  11

//    int num1=-3,num2=3,num3=4;

//    int res = (num1 + num2) && (num1 - num3);

//    printf("res=%d\n",res);//0

//    int num1=-3,num2=3,num3=4;

//    int res = (num1 + num2) && num3++;

//    printf("res=%d   num3=%d\n",res,num3);//0  4

int num1=-3,num2=3,num3=4;

int res = num1++ + num2++ && num3++;

printf("res=%d   num1=%d   num2=%d   num3=%d\n",res,num1,num2,num3);//0  -2  4  4

return 0;

}

C语言之逻辑运算符的更多相关文章

  1. 03 java语言基础逻辑运算符

    03.01_Java语言基础(逻辑运算符的基本用法) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一般用于连 ...

  2. 【学习笔记】【C语言】逻辑运算符

    有时候,我们需要在多个条件同时成立的时候才能执行某段代码,比如:用户只有同时输入了QQ和密码,才能执行登录代码,如果只输入了QQ或者只输入了密码,就不能执行登录代码.这种情况下,我们就要借助于C语言提 ...

  3. go语言学习逻辑运算符if判断,iota的理解

    第一天学习go语言,首先吐槽一下,配置go语言浪费了我两个小时的时间 不是在百度,就是在百度的路上,这里介绍一下我的go语言的版本和开发平台 go语言1.12版本,之前没有用过在早的版本了首先记录一下 ...

  4. C语言进阶—— 逻辑运算符分析15

    印象中的逻辑运算符: ---学生:老师,在我的印象中,逻辑运算符用在条件判断的时候,真挺简单的,还有必要深究吗? ---老师:逻辑运算符确实在条件判断的时候用的比较多,但是并不能说简单... 请思考下 ...

  5. C语言位操作--逻辑运算符组合

    假设读者熟悉普通代数与布尔代数,下面是部分常见的涉及到加法.减法与逻辑运算符的组合: a.        -x=~x+1 b.           =~(x-1) c.        ~x=-x-1 ...

  6. C语言:逻辑运算符||

    #include <stdio.h> //逻辑运算符||特点:左右两边的表达式先做左边,如果左边为1则右边不用执行,整个结果为1:如果左边为0,再执行右边: main() { int x= ...

  7. 李洪强漫谈iOS开发[C语言-030]-逻辑运算符

  8. Go 语言运算符

    运算符用于在程序运行时执行数学或逻辑运算. Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 接下来让我们来详细看看各个运算符的介绍. 算术运算符 下表 ...

  9. Go语言运算符

    目录 算术运算符 注意事项 赋值运算符 逻辑运算符 短路与和短路或 关系运算符 位运算符 其他运算符 运算符优先级 运算符用于在程序运行时执行数学或逻辑运算. Go 语言内置的运算符有:算术运算符.赋 ...

随机推荐

  1. flash导入图片缩放后出现毛边、失真、锯齿、文字模糊不清晰的情况

    原因: 1.flash的性能非常差,这就不得不让它做大量的优化. 2.图片缩放,目前业界有多种算法,画质越好的算法,计算量越大. 3.flash优化了图片缩放,使用了质量非常低的缩放算法.这个做法,保 ...

  2. System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string, string)已过时的解决办法

    FormsAuthentication.HashPasswordForStoringInConfigFile 方法是一个在.NET 4.5中已经废弃不用的API,参见: https://msdn.mi ...

  3. cocos2dx对于强大的RichText控制

    最近准备做一个聊天系统,开始准备使用cocos2dx的UIRichText控制显示屏聊天,在使用中发现的结果,cocos2dx的RichText很有限.全然不具备实现聊天的功能.仅仅实现了增加文本.图 ...

  4. mysql支持的数据类型及其测试

    原文:mysql支持的数据类型及其测试 1.基础知识 1.1如何来查看mysql的帮助手册 ?int Help float; 1.2创建表的规则 CREATE TABLE [IF NOT EXISTS ...

  5. HP quality center 9.0 邮件设置

    [转载]HP quality center 9.0 邮件设置 (2010-09-20 10:28:03) 转载▼ 标签: 转载   原文地址:HP quality center 9.0 邮件设置作者: ...

  6. Mysql个人语句笔记

    --一些简单语句记录: /*mysql*/SHOW DATABASES CREATE DATABASE guoDROP DATABASE guo /*查看创建的数据库*/SHOW CREATE DAT ...

  7. 【WCF系列一】WCF入门教程(图文) VS2012

    WCF的全称是Windows Communication Foundation,从英文名称上看,WCF就是基于Windows下一种通讯的基础架构.利用WCF能够实现基于Windows下的各种通讯技术的 ...

  8. windows下使用git时生成sshkey和配置

    在windows下如何安装git就不介绍了,我这里主要使用的TortoiseGit,主要记录下在windows上如何通过sshkey链接git 在开始菜单中找到git bash,git bash是gi ...

  9. linux 之 snprintf函数用法

    int snprintf(char *restrict buf, size_t n, const char * restrict  format, ...); 函数说明:最多从源串中拷贝n-1个字符到 ...

  10. AE基础知识之地图浏览

    地图浏览:(放大缩小平移全图) //全局变量 public enum enumToolFlag { None ZoomOut, ZoomIn, Pan, } enumToolFlag flag = e ...