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 语言内置的运算符有:算术运算符.赋 ...
随机推荐
- 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 ...
- SSIS Package to Call Web Service
原文 SSIS Package to Call Web Service SSIS Package to Call Web Service. You can Call WebService from S ...
- 设置符合条件的DataGridView的行的颜色的两种方法
Private Sub dgvInfo_RowPrePaint(sender As Object, e As DataGridViewRowPrePaintEventArgs) Handles dgv ...
- [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 ...
- 大量Javascript/JQuery学习教程电子书合集
[推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人 不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小 15天学会jQuery(完整版).pd ...
- strus2 action重复执行问题
近日做项目,有两个模块功能类似,就写到了一个action中,方法起名为getXXX1,getXXX2 最后在两个模块去调用的时候,分别调用DemoAction!getXXX1.action和DemoA ...
- Code First 启用迁移时出错 "No context type was found in the assembly"
问题:Code First 启用迁移时找不到上下文DbContext所在的项目. PM> Enable-Migrations No context type was found in the a ...
- MongoDB:利用官方驱动改装为EF代码风格的MongoDB.Repository框架 一
本人系新接触MongoDB不久,属于MongoDB的菜鸟范畴.在使用MongoDB的过程中,总结了一些认识,在此总结跟大家分享.欢迎拍砖. 关于MongoDB的内容,在此就不做介绍了,网上有浩如烟海的 ...
- BEncoding的编码与解码
BEncoding的编码与解码 1. BEncoding规则 BEncoding是BitTorrent用在传输数据结构的编码方式,我们最熟悉的“种子”文件,它里面的元数据就是 BEncoding ...
- js闭包和ie内存泄露原理
也议 js闭包和ie内存泄露原理 可以, 但小心使用. 闭包也许是 JS 中最有用的特性了. 有一份比较好的介绍闭包原理的文档. 有一点需要牢记, 闭包保留了一个指向它封闭作用域的指针, 所以, 在给 ...