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 语言内置的运算符有:算术运算符.赋 ...
随机推荐
- div、ul、li等无法居中问题,text-align无效 margin auto无效
很简单.如果是div,直接把div换成: <table align="center"> <tr> <td> ...
- 临时和永久修改oracle sysdate的默认输出格式
1.当前会话有效 alter session set NLS_DATE_FORMAT='YYYY-MM-DD:HH24:MI:SS'; 2.永久生效 sys用户登入后执行如下命令 然后重启数据库使其生 ...
- Thrift学习
Thrift学习 一:thrift介绍 Thrift是facebook开发的用来处理各不同系统之间数据通讯的rpc服务框架,后来成为apche的开源项目.thrift支持多种程序语言,包括Java,P ...
- mysql编码的那点事
Mysql编码问题 在php页面可以向mysql插入英文字符,但就是不能插入中文字符,在cmd客户端也可从插入,这是困扰我两天的问题. 在网上找了很多资料,最终确定了是字符编码这个地方出现了问题,首 ...
- 《Programming Hive》读书笔记(两)Hive基础知识
<Programming Hive>读书笔记(两)Hive基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...
- Oracle 11g+FluentNHibernate AutoMapping组合尝试
一次Oracle 11g+FluentNHibernate AutoMapping组合尝试 本文的上下文环境 操作系统:Win7 x64 Ultimate开发工具:Visual Studio 2013 ...
- mediawiki在windows下的安装
mediawiki在windows下的安装 对于刚接触wiki的朋友们来说,配置一个服务器环境,安装并运行mediawiki是一件很麻烦的事情,在这里,我尽量用通俗易懂的语言,介绍mw(mediawi ...
- [Phonegap+Sencha Touch] 移动开发24 包wp8.1的App,弹出软键盘输入框聚焦实施后,无移动采收率方法来解决接口
这种现象不仅是现在显示phonegap包sencha touch的wp8.1该程序将出现(只wp8.1,wp8正常).其他js我测试了几个框架(app framework, jquery mobile ...
- DDD(领域驱动设计)应对具体业务场景,Domain Model(领域模型)到底如何设计?
DDD(领域驱动设计)应对具体业务场景,Domain Model(领域模型)到底如何设计? 写在前面 阅读目录: 迷雾森林 找回自我 开源地址 后记 毫无疑问,领域驱动设计的核心是领域模型,领域模型的 ...
- [转]SQL2005后的ROW_NUMBER()函数的应用
SQL Server 2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单 分组取TOP数据是T-SQL中的常用查询, 如学生信息管理系 ...