c语言逻辑运算符编程,C语言之逻辑运算符详解
一 逻辑运算符:
&&:逻辑与,读作并且
表达式左右两边都为真,那么结果才为真
口诀:一假则假
||:逻辑或,读作或者
表达式左右两边,有一个为真,那么结果就为真
口诀:一真则真
!: 逻辑非,读作取反
表达式的结果如果为假,就变成真,如果为真,就变成假
口诀:真变假,假变真
二 逻辑运算符的短路问题
tips:非0为真,0为假
短路的情况:
&&:左边如果为假,则右边短路(右边不会被执行)
||:左边如果为真,则右边短路(右边不会执行)
tips:代码例子如下
#include
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语言逻辑运算符编程,C语言之逻辑运算符详解相关推荐
- ∑ n!(1! 2!)用c语言怎么编,数控车床编程教程,图文实例详解!
原标题:数控车床编程教程,图文实例详解! 第一节数控车床编程基础 一.数控车编程特点 (1) 可以采用绝对值编程(用X.Z表示).增量值编程(用U.W表示)或者二者混合编程. (2) 直径方向(X方向 ...
- c语言实现顺序表源程序,C语言实现静态顺序表的实例详解
C语言实现静态顺序表的实例详解 线性表 定义一张顺序表也就是在内存中开辟一段连续的存储空间,并给它一个名字进行标识.只有定义了一个顺序表,才能利用该顺序表存放数据元素,也才能对该顺序表进行各种操作. ...
- c语言数据类型int的用法,C语言基本数据类型:整型(int)用法详解|C语言学习
C语言基本数据类型:整型(int)用法详解 1. 整型 int C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int 是整型之一,一般被称为整型.以后, ...
- C语言求最大公约数三种方法详解
C语言求最大公约数三种方法详解 题目要求 常用写法(穷举法) 辗转相减法 辗转相除法 main函数 整体代码 题目要求 运行最大公约数的常用算法,并进行程序的调式与测试. 常用写法(穷举法) 从两个数 ...
- C语言结构体中定义函数指针详解
C语言结构体中定义函数指针详解 结构体指针函数应用场景之一--驱动程序编写 结构体的一些基本用法 形式1:先定义结构体类型,再定义变量 形式2:在定义类型的同时定义变量 形式3:直接定义变量,用无名结 ...
- go语言字符串换行_Go语言中的字符串处理方法示例详解
1 概述 字符串,string,一串固定长度的字符连接起来的字符集合.Go语言的字符串是使用UTF-8编码的.UTF-8是Unicode的实现方式之一. Go语言原生支持字符串.使用双引号(" ...
- java jstack使用_JAVA语言之JVM 中jstack命令使用详解
本文主要向大家介绍了JAVA语言之JVM 中jstack命令使用详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. Java程序问题定位时线程栈信息是一个重要线索,如下: " ...
- C语言结构体与指针ppt,c语言指针和结构体:链表详解.ppt
c语言指针和结构体:链表详解.ppt 1,第十一章 链表,2,例跳马.依下图将每一步跳马之后的位置x,y放到一个"结点"里,再用"链子穿起来",形成一条链,相邻 ...
- Java多线程编程中Future模式的详解
转载自 https://www.cnblogs.com/winkey4986/p/6203225.html Java多线程编程中,常用的多线程设计模式包括:Future模式.Master-Worker ...
- python计算定积分_python编程通过蒙特卡洛法计算定积分详解
这篇文章主要介绍了python编程通过蒙特卡洛法计算定积分详解,具有一定借鉴价值,需要的朋友可以参考下. 想当初,考研的时候要是知道有这么个好东西,计算定积分...开玩笑,那时候计算定积分根本没有这么 ...
最新文章
- python中def _init_是什么意思_Python中self和__init__的含义与使用
- 数据分析处理库Pandas——merge操作
- c语言中的字符串总是以,C语言字符串的结束标志是什么?
- VScode像Codeblocks一样,不启动调试和Debug直接运行
- python设计自定义函数_我可以为内置Python类型添加自定义方法/属性吗?
- View、Text、Button的drawableLeft左侧图片自定义大小
- ffmpeg处理RTMP流媒体的命令 发送流媒体的命令(UDP,RTP,RTMP)
- 非寻常实习记Ⅱ:改变中的快乐成长
- 设计模式总结 —— 单例设计模式
- STM32DMA搬运ADC只搬了一半数据的原因。
- 4针串口线接法图_9针rs232串口接线图以及接线方法
- Leaflet地图 - 绘制台风风圈 - 2
- rm -rf /* 数据恢复记录
- 如何将某一文件添加到信任列表?
- 华为linux系统安装包,一、Linux系统安装
- 实现一个简单的压测工具
- “M OP N“ 数值问题
- 演示程序之打游戏 -- 慕司板IAP15
- armadillo + openblas 编译
- 进制转换器(C# WPF)
热门文章
- php 随机指定位数,php生成一个可选位数的随机码
- [转]IaaS、PaaS、SaaS、CaaS、MaaS五者的区别
- Android Fragment 监听返回键
- 【QGIS入门实战精品教程】4.3:QGIS属性表按字段链接外部属性数据
- 【ArcGIS风暴】ArcGIS生成GlobeLand30土地利用数据集中国区域行列号shp格式对照图(附shp下载)
- 校园春色关不住,怎奈何唯有花枝俏,不见赏花人?
- linux之lrzsz
- Android之通过Binder机制实现IPC和linux的传统IPC的对比分析
- C语言之如何输出uint32_t和uint64_t和16进制
- linux网络编程之inet_addr和inet_ntoa使用总结