一 逻辑运算符:

&&:逻辑与,读作并且

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

口诀:一假则假

||:逻辑或,读作或者

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

口诀:一真则真

!: 逻辑非,读作取反

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

口诀:真变假,假变真

二 逻辑运算符的短路问题

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. 打印Ibatis最后,SQL声明

    做项目时,满足这一需求.我们希望最终打印出在数据库运行SQL声明,这些都普遍遇到了一些一般性问题.我会去Appfuse,结果这次没有成功.它是有相关的配置,可是好像没实用.我也就没有深查下去.我想这种 ...

  2. ACM-光滑最小生成树project——hdu1863

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  3. ASP.Net使用母版页窗

    背景:每一个网页的基本框架结构类似: 浏览站点的时候会发现,好多站点中.每一个网页的基本框架都是一样的,比方,最上面都是站点的标题,中间是内容.最以下是站点的版权.开发提供商等信息: watermar ...

  4. C#网络编程系列(两)它Socket同步TCPserver

    声明原文 笔者:竹zz  本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列文件夹 C#网络编程系列文 ...

  5. JQUERY简写案例

    源代码: <script ttype="text/javascript"> $(function(){ $(".btn").eq(0).click( ...

  6. MVC 插件式开发

    MVC 插件式开发 在开发一个OA系统是,我们可能遇到 A模块. B模块 .C模块,这也模块组成一个完整的系统,买给客服.现在又有一个客服要我们做一个OA系统,唉我们发现,跟上一个OA系统差不多,但没 ...

  7. c#编写的基于Socket的异步通信系统

    c#编写的基于Socket的异步通信系统 SanNiuSignal是一个基于异步socket的完全免费DLL:它里面封装了Client,Server以及UDP:有了这个DLL:用户不用去关心心跳:粘包 ...

  8. Strategic Game HDU

    Strategic Game                                                         Time Limit: 20000/10000 MS (J ...

  9. 收缩SQL Server日志不是那么简单

    收缩SQL Server日志不是那么简单的(翻译)   原文地址:http://rusanu.com/2012/07/27/how-to-shrink-the-sql-server-log/ 说明:本 ...

  10. 今天用C#做的一个小的注册练习

    下边是实现的代码: using System;using System.Collections.Generic;using System.ComponentModel;using System.Dat ...