当前位置: 首页 > news >正文

逻辑操作符

目录

&& --- 逻辑与操作符

|| --- 逻辑或操作符 


&& --- 逻辑与操作符

逻辑与操作符有并且的意思,一般用于判断语句中

逻辑与操作符运行规则是都要为真,才会继续执行或计算

360笔试题:

有关前置++(--),后置++(--)的知识请见:单目操作符-CSDN博客

#include<stdio.h>
int main()
{int i = 0, a = 0, b = 2, c = 3, d = 4;i = a++ && ++b && d++;printf("a = %d\nb = %d\nc = %d\nd = %d\n", a, b, c, d);return 0;
}

代码分析:a++ && ++b && d++

a++:a初始值为0,后置++,先计算后++,0为假,那么&& ++b && d++就不会计算

所以结果为:a = 1,b = 2,c = 3,d = 4

代码验证:

得出结论:逻辑与操作符左边为假,右边就不会计算 


将a的初始值更改为1,会有怎样的结果?

#include<stdio.h>
int main()
{int i = 0, a = 1, b = 2, c = 3, d = 4;i = a++ && ++b && d++;printf("a = %d\nb = %d\nc = %d\nd = %d\n", a, b, c, d);return 0;
}

代码分析:a++ && ++b && d++

a++:a初始值为1,后置++,1为真(一切非0都为真),所以要计算 && ++b

a++ && ++b:a后置++后为2,b初始值为2,前置++后为3,a++ && ++b整体的结果同样为真,在C语言中,真的固定值为1,所以&& d++也要计算

a++ && ++b && d++:d初始值为4,后置++,执行完此表达式后为5

所以结果为:a = 2,b = 3,c = 3,d = 5

代码验证:


|| --- 逻辑或操作符 

逻辑或操作符有或者的意思,只要有一个表达式为真即可

相关代码题:

#include<stdio.h>
int main()
{int i = 0, a = 0, b = 2, c = 3, d = 4;i = a++ || ++b || d++;printf("a = %d\nb = %d\nc = %d\nd = %d\n", a, b, c, d);return 0;
}

代码分析:a++ || ++b || d++

a++:a初始值为0,后置++,逻辑与只要有一个为真即可,所以要判断 || ++b是否为真

a++ || ++b:a后置++后为1,b初始值为2,前置++后为3,|| ++b为真,所以 || d++就不会计算

所以结果为:a = 1,b = 3,c = 3,d = 4

代码验证: 

得出结论:逻辑或操作符左边为真,右边不再计算 


将a的初始值更改为1,会有怎样的结果?

#include<stdio.h>
int main()
{int i = 0, a = 1, b = 2, c = 3, d = 4;i = a++ || ++b || d++;printf("a = %d\nb = %d\nc = %d\nd = %d\n", a, b, c, d);return 0;
}

代码分析:

a++:a初始值为1,后置++,a为真,那么|| ++b || d++都不会计算,表达式结束后a为2

所以结果为:a = 2,b = 2,c = 3,d = 4

代码验证:

http://www.lryc.cn/news/388161.html

相关文章:

  • Java调用第三方接口的秘籍:技巧、案例与最佳实践
  • 【机器学习】机器学习重要方法——深度学习:理论、算法与实践
  • 计网之IP
  • mybatis延迟加载
  • 危险!属性拷贝工具的坑!
  • qt实现打开pdf(阅读器)功能用什么库比较合适
  • 在node.js环境中使用web服务器http-server运行html静态文件
  • 前端学习篇一(HTML)
  • VUE笔记
  • Datawhale机器学习day-1
  • 业务模型扩展字段存储
  • 50+k8s常用命令,助你成为k8s大牛!
  • 002-基于Sklearn的机器学习入门:回归分析(上)
  • python实现网页自动化(自动登录需要验证的网页)
  • ctfshow-web入门-命令执行(web71-web74)
  • 一体化导航的优点及应用领域
  • “吃饭大学”!中国大学食堂排行TOP10(含西电)
  • 使用 Mybatis 时,调用 DAO接口时是怎么调用到 SQL 的?
  • 微信小程序毕业设计-微信食堂线上订餐系统项目开发实战(附源码+论文)
  • 昂首资本实例使用价格行为策略,交易翻倍一点都不难
  • 20240701 每日AI必读资讯
  • GPT-5 一年半后发布,对此你有何期待?
  • Redis学习——Redisson 分布式锁集成及其简单使用
  • 08 - matlab m_map地学绘图工具基础函数 - 绘制线、图例、添加文字注释等函数
  • Luminar Neo 1.20.0 (macOS Universal) - 创新 AI 图像编辑器
  • 谈谈Flink消费kafka的偏移量
  • MySQL 高级SQL高级语句(二)
  • MySQL之高可用性(四)
  • 招聘智能管理系统设计
  • 达梦数据库系列—15. 表的备份和还原