一 逻辑运算符:

&&:逻辑与,读作并且

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

口诀:一假则假

||:逻辑或,读作或者

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

口诀:一真则真

!: 逻辑非,读作取反

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

口诀:真变假,假变真

二 逻辑运算符的短路问题

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. leetcode第二题--Median of Two Sorted Arrays

    Problem:There are two sorted arrays A and B of size m and n respectively. Find the median of the two ...

  2. SSIS Package to Call Web Service

    原文 SSIS Package to Call Web Service SSIS Package to Call Web Service. You can Call WebService from S ...

  3. 设置符合条件的DataGridView的行的颜色的两种方法

    Private Sub dgvInfo_RowPrePaint(sender As Object, e As DataGridViewRowPrePaintEventArgs) Handles dgv ...

  4. [ext/iconv/iconv.lo] Error 1

    办法1: wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz tar -zxvf libiconv-1.13.1.tar.g ...

  5. 大量Javascript/JQuery学习教程电子书合集

    [推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人   不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pd ...

  6. strus2 action重复执行问题

    近日做项目,有两个模块功能类似,就写到了一个action中,方法起名为getXXX1,getXXX2 最后在两个模块去调用的时候,分别调用DemoAction!getXXX1.action和DemoA ...

  7. Code First 启用迁移时出错 "No context type was found in the assembly"

    问题:Code First 启用迁移时找不到上下文DbContext所在的项目. PM> Enable-Migrations No context type was found in the a ...

  8. MongoDB:利用官方驱动改装为EF代码风格的MongoDB.Repository框架 一

    本人系新接触MongoDB不久,属于MongoDB的菜鸟范畴.在使用MongoDB的过程中,总结了一些认识,在此总结跟大家分享.欢迎拍砖. 关于MongoDB的内容,在此就不做介绍了,网上有浩如烟海的 ...

  9. BEncoding的编码与解码

    BEncoding的编码与解码   1. BEncoding规则 BEncoding是BitTorrent用在传输数据结构的编码方式,我们最熟悉的“种子”文件,它里面的元数据就是 BEncoding ...

  10. js闭包和ie内存泄露原理

    也议 js闭包和ie内存泄露原理 可以, 但小心使用. 闭包也许是 JS 中最有用的特性了. 有一份比较好的介绍闭包原理的文档. 有一点需要牢记, 闭包保留了一个指向它封闭作用域的指针, 所以, 在给 ...