逻辑中断分析

一、逻辑与&& 使用格式:条件A&&条件B

运算过程:

先判断条件A是否成立

如果条件A成立,则接着再判断条件B是否成立,如果条件B成立”条件A&&条件B”的结果为1即真,如果条件B不成立,结果为0,即为假

如果条件A不成立,就不会去判断条件B是否成立,因为条件A已经不成立了,不管条件B是否成立,”条件A&&条件B”的结果肯定是0,也就是假

这样就执行不了条件B,提高了运行的性能

例如:

/Volumes/学业/谷飞飞/博客/2015-04-29-2.txt

int a = 5;

int b = 5;

int c = 5>3&&b++>=5;

输出结果是a=5,b=6, c=1

int c = 3>5&&b++>=5;

因为条件A不满足条件,所以条件B不执行

输出结果是:a=5,b=5,c=0

二、逻辑或|| 使用格式:条件A||条件B

运算过程:

先判断条件A是否成立

如果条件A成立,就不会去判断条件B是否成立,因为条件A已经成立了,不管条件B是否成立,”条件A||条件B”的结果肯定是1,也就是真

这样就执行不了条件B,提高了运行的性能

如果条件A不成立,则接着再判断条件B是否成立,如果条件B成立”条件A||条件B”的结果为1即真,如果条件B不成立,结果为0,即为假

例如:

int a = 5;

int b = 5;

int c = 5>3||b++>=5;

因为条件A不满足条件,所以条件B不执行

输出结果是a=5,b=5, c=1

int c = 3>5||b++>=5;

输出结果是:a=5,b=6,c=1

三、三目运算符 ?: 使用格式:条件?语句1:语句2;

运算过程:

如果条件成立,则执行语句1,语句2不执行,如果条件不成立,则执行语句2,语句1不执行

例如:

int a = 1;

int b = 2;

int c = a>b?a++:b++;

输出结果a=1 , b=3,c=2

条件不成立,执行语句2

时间: 2025-02-01 07:58:51

逻辑中断分析的相关文章

javascript 的逻辑中断(短路操作)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // 逻辑中断 (短路操作) // 逻辑或: || // 逻辑与: &am

discuz 3.2 discuz_application.php代码执行逻辑顺序分析

discuz 3.2 discuz_application.php代码执行逻辑顺序分析 说明 步骤1.   discuz_application文件中定义了_init_env(),在此方法中定义了超级全局变量$_G(global $_G) 步骤2.   discuz_application的构造函数中初始化了_init_env()方法 步骤3.   实例化discuz_application 步骤4.   在forum_index.php文件中使用,discuz_application中定义的方

[铁道部信息化管理]核心业务需求及逻辑架构分析

12306的已知信息.数据及问题 需求分析(一)-- 售票系统领域知识(区间票.订票.预留票) 需求分析(二)-- 涉众.用户体验 核心业务需求及逻辑架构分析 需求分析(三)-- 票仓 票仓设计(一)-- 预生成车票方案的优缺点 票仓设计(二)-- 区间二进制方案的优缺点 票仓设计(三)-- 平衡方案的优缺点 票务并发冲突处理原则设计(基于平衡方案) 缓存逻辑架构设计 数据库逻辑设计 灾难备份与恢复 快要太监了 :-( 由于各种个人原因, 铁道部的这个博文系列中止了很久.最近终于连自己都不好意思

中断分析

MINIX3 中断机制源码分析 下面我们来探讨下 MINIX 中断处理函数的具体处理流程: 由前面的章节知道,MINIX 的架构是标准的微内核结构,除了时钟中断处理程 序可以直接在内核态进行,其他的都只能从用户态,用户态像内核态发送消息. 假设我们是一个内核设计者,怎么能够将这种机制实现呢?我们会在系统任务里 设置一个中断注册调用,通过那个调用,我们能够将用户需要的中断处理函数挂 15 到相应的地方并且以后能够被用户识别. 现在继续往下面分析:我们现在又 16 根通用的中断地址,但是这是不够的,

完美世界手游《圣斗士星矢》lua逻辑框架分析

1.文件结构 framework 框架相关的文件(gamedatamgr网络数据管理器,msgmgr消息管理器) luabean 所有的配置文件的读取(将文件内容转为内存数据结构) luaprotocolhandler 所有网络协议的处理函数(导出process函数) manager 几个管理器(beanconfigmanager获取配置,luaprotocolmanager注册消息处理.回调处理函数.发送消息) protocoldef 包括所有网络协议的结构定义(C开头表示客户端的结构,S开头

edge中断分析

目前正在调试msix中断,在测试过程中发现会概率性的丢失中断.Msix中断默认是edge触发的中断,edge触发的中断是在中断对应pin发生电平信号跳变的时候,会发出一个中断请求.因为跳变是一瞬间的,不会像level触发中断那样一直保持电平不变,这样就可能会漏掉某一个跳变的瞬间,表现就是丢失了一个中断. 内核中处理edge触发中断的函数为handle_edge_irq,此函数有do_IRQ函数调用而来. void handle_edge_irq(unsigned int irq, struct 

LINUX-内核-中断分析-中断向量表(3)-arm【转】

转自:http://blog.csdn.net/haolianglh/article/details/51986987 arm中断概念 在<ARM体系结构与编程>第9章中说到,ARM 中有个概念叫做“异常中断”,也就是包括外部中断在内的各种异常.显然,ARM体系的“异常中断”概念更加接近MIPS体系中的“异常”概念. 既然更类似MIPS体系,那么自然的ARM体系就存在“异常中断入口”和“异常中断向量表”的概念. arm的异常中断向量表 非向量化中断 ARM体系定义了7种异常中断,在<AR

使用Java理解程序逻辑试题分析

1.在Java中,属于String类型的方法是(): A.insert(int offset, char[]c):    //insert是将char参数的字符串表示形式插入到此序列中 B.replace(int start,int end,String str);   //使用给定String中的字符替换此序列的子字符串中的字符 //AB都是StringBuilder类里面的方法 C. split(String regex);   //spilt根据给定正则表达式的匹配拆分此字符串 D.end

题库逻辑评估分析(增加业务部分)

题数:37 题列表:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37] 1.第一个月共有10笔必选业务(上限为10笔) [1, 5/8, 7/17/18, 15, 25, 30, 26, 28, 31, 37] 1.1 排列数: 1.1.1 第一笔固定为第一天. 1.1.