C语言之逻辑运算符
一 逻辑运算符:
&&:逻辑与,读作并且
表达式左右两边都为真,那么结果才为真
口诀:一假则假
||:逻辑或,读作或者
表达式左右两边,有一个为真,那么结果就为真
口诀:一真则真
!: 逻辑非,读作取反
表达式的结果如果为假,就变成真,如果为真,就变成假
口诀:真变假,假变真
二 逻辑运算符的短路问题
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语言之逻辑运算符的更多相关文章
- 03 java语言基础逻辑运算符
03.01_Java语言基础(逻辑运算符的基本用法) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一般用于连 ...
- 【学习笔记】【C语言】逻辑运算符
有时候,我们需要在多个条件同时成立的时候才能执行某段代码,比如:用户只有同时输入了QQ和密码,才能执行登录代码,如果只输入了QQ或者只输入了密码,就不能执行登录代码.这种情况下,我们就要借助于C语言提 ...
- go语言学习逻辑运算符if判断,iota的理解
第一天学习go语言,首先吐槽一下,配置go语言浪费了我两个小时的时间 不是在百度,就是在百度的路上,这里介绍一下我的go语言的版本和开发平台 go语言1.12版本,之前没有用过在早的版本了首先记录一下 ...
- C语言进阶—— 逻辑运算符分析15
印象中的逻辑运算符: ---学生:老师,在我的印象中,逻辑运算符用在条件判断的时候,真挺简单的,还有必要深究吗? ---老师:逻辑运算符确实在条件判断的时候用的比较多,但是并不能说简单... 请思考下 ...
- C语言位操作--逻辑运算符组合
假设读者熟悉普通代数与布尔代数,下面是部分常见的涉及到加法.减法与逻辑运算符的组合: a. -x=~x+1 b. =~(x-1) c. ~x=-x-1 ...
- C语言:逻辑运算符||
#include <stdio.h> //逻辑运算符||特点:左右两边的表达式先做左边,如果左边为1则右边不用执行,整个结果为1:如果左边为0,再执行右边: main() { int x= ...
- 李洪强漫谈iOS开发[C语言-030]-逻辑运算符
- Go 语言运算符
运算符用于在程序运行时执行数学或逻辑运算. Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 接下来让我们来详细看看各个运算符的介绍. 算术运算符 下表 ...
- Go语言运算符
目录 算术运算符 注意事项 赋值运算符 逻辑运算符 短路与和短路或 关系运算符 位运算符 其他运算符 运算符优先级 运算符用于在程序运行时执行数学或逻辑运算. Go 语言内置的运算符有:算术运算符.赋 ...
随机推荐
- OpenSUSE 13.2使用VPN(PPTP)
新年开始,有时查询个资料或是下个软件包并不是那么愉快,决定使用付费VPN,他们使用的是用户名及密码的验证方式 在网上找到了一个教程,挺详尽的,如果想按照步骤能使用即可的原则,跟着我一起设置,想了解更多 ...
- 等差数列6《MAC》
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveXhzdGFycw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
- 使用Excel快速发送大量的电子邮件
使用Excel快速发送大量的电子邮件.两个步骤: 1. 准备发送数据: a.) 打开Excel,新Book1.xlsx b.) 填写以下内容. 第一列:接受者,第二列:邮件标题,第三列:文,第四列:附 ...
- Windows Azure
Windows Azure初体验 目前在IT界,云这个概念的第一意思不再是词典里的解释了.不过它们还是有相同点的——也许确实会酝酿出一块大蛋糕,可也是飘在天上,众神分食之,与我等P民无关.所谓云,不过 ...
- How To : Create SQL Server Management Studio Addin
原文 How To : Create SQL Server Management Studio Addin Read the full and original article from Jon Sa ...
- git 简单教程更新
0.初始化 $ git config --global user.name "xxx" $ git config --global user.email "xxx@gma ...
- c#多线程随记回顾
C#多线程随记回顾 1.创建多线程方式知道的有三种: ---手动创建Thread.使用线程池.使用task任务 ---手动创建Thread,分两种带参数和不带参数的帮助委托器 eg: //帮助器委托 ...
- 轻量级IOC框架:Ninject
Ninject 学习杂记 - liucy 时间2014-03-08 00:26:00 博客园-所有随笔区原文 http://www.cnblogs.com/liucy1898/p/3587455.h ...
- HOJ:2031 进制转换
进制转换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- Webapi备忘-20140109
r01的翻译系列:http://www.cnblogs.com/r01cn/category/428069.html 接收FROM数据 Webapi接收表单数据,如果有多个数据比如x=1&y= ...