问题1:逻辑运算符如何使用?

例子:初探逻辑运算符

#include <stdio.h>int main()
{int i = 0;int j = 0;int k = 0;++i || ++j && ++k;printf("%d\n", i);printf("%d\n", j);printf("%d\n", k);return 0;
}

逻辑运算符分析:

---- ||从左向右开始计算:

当遇到为真的条件时停止计算,整个表达式为真;

所有条件为假时表达式才为假;

---- &&从左向右开始计算:

当遇到为假的条件时停止计算,整个表达式为假;

所有条件为真时表达式才为真;

逻辑表达式中,&&比||具有更高的优先级

例子:程序中的短路原则

#include <stdio.h>int g = 0;int f()
{printf("In f()...\n");return g++;
}int main()
{if( g || f() && f() ){printf("In if statement: %d\n", g);}printf("In main(): %d\n", g);return 0;
}

答案:

" ! "

C语言中的逻辑非" ! "只认得0,只知道见了0就返回1.因此当其碰见的值不是0时,其结果为0.

例子:逻辑非运算符的使用

#include <stdio.h>int main()
{printf("%d\n", !0);printf("%d\n", !1);printf("%d\n", !100);printf("%d\n", !-1000);return 0;
}

总结:

1、程序中的逻辑表达式遵从短路原则;

2、在&&与||混合运算时:

----整个表达式被看做||表达式;

----从左向右先计算&&表达式

----最后计算||表达式

3、逻辑非!运算符只认得0

----碰见0返回1,否则统统返回0

只有0才代表假,其余的所有值均代表真。

C语言进阶第15式:逻辑运算符分析相关推荐

  1. C语言进阶第23式:#error和#line的使用分析

    问题1:#error和#line的使用方法? #error用于生成一个编译错误消息, 用法: #error message message不需要用双引号包围 #error编译指示字用于自定义程序员特有 ...

  2. C语言进阶第39式:程序中的三国天下

    程序中的栈 栈是现代计算机程序里最为重要的概念之一: 栈在程序中用于维护函数调用上下文: 函数中的参数和局部变量存储在栈上: 栈保存了一个函数调用所需的维护信息 函数调用过程 每次函数调用都对应着一个 ...

  3. C语言进阶第14式:单引号和双引号

    问题1:单引号和双引号有何区别? 单引号和双引号 C语言中的单引号用来表示字符字面量 C语言中的双引号用来表示字符串字面量 例子: 'a'表示字符字面量,在内存中占1个字节: 'a'+1表示'a'的A ...

  4. C语言进阶:程序中的三国天下 考研数据结构

    C语言笔记 第三十九课 程序中的三国天下 C语言笔记 第三十九课 程序中的三国天下_YLC_慕类的博客-CSDN博客 C基础第42课 -- 内存操作经典问题分析二 C基础第42课 -- 内存操作经典问 ...

  5. 【C语言进阶深度学习记录】二十六 C语言中的字符串与字符数组的详细分析

    之前有一篇文章是学习了字符和字符串的,可以与之结合学习:[C语言进阶深度学习记录]十二 C语言中的:字符和字符串 文章目录 1 字符串的概念 1.1 字符串与字符数组 1.2 字符数组与字符串代码分析 ...

  6. 【C语言进阶深度学习记录】十九 #pragma使用与分析

    文章目录 1 #pragma 概念简介 1.1 #pragma message 的用法 1.2 #pragma once 的用法 1.3 #pragma pack 的用法 1.31 struct占用的 ...

  7. 【C语言进阶深度学习记录】八 C语言中void的分析

    文章目录 1 void的意义 1.1 不存在void变量 1.2 C标准 1.3 void指针的意义 1.4 通过void* 实现memset函数 2 总结 1 void的意义 void修饰函数的参数 ...

  8. R语言数据分析笔记——Cohort 存留分析

    作者简介Introduction 杜雨,EasyCharts团队成员,R语言中文社区专栏作者,兴趣方向为:Excel商务图表,R语言数据可视化,地理信息数据可视化. 个人公众号:数据小魔方(微信ID: ...

  9. Day16-20 Python语言进阶

    Python语言进阶 重要知识点 生成式(推导式)的用法 prices = {'AAPL': 191.88,'GOOG': 1186.96,'IBM': 149.24,'ORCL': 48.44,'A ...

最新文章

  1. 从动力学角度看优化算法SGD:一些小启示
  2. JavaWeb学习之路——SSM框架之Spring(四)
  3. Javascript中Date对象的使用
  4. html怎么转换成asp.net,Asp.net中将Word文件转换成HTML的方法
  5. 枚举类型enum例题_10.1 C++枚举类型
  6. Java多线程编程(3)--线程安全性
  7. Vue之webpack打包CSS图片字体
  8. MySQL 数据库性能优化之缓存参数优化
  9. 标准误计算机excel公式,excel标准误差怎么算
  10. 微软服务器补丁每月几号发布,微软11月安全公告 发布一个紧急级补丁
  11. MultiDock——专门为 macOS 设计的增强型 Dock
  12. 浅聊一下车载以太网技术及其EAVB和TSN技术
  13. div中加入span右对齐后出现换行显示的两种解决办法(转)
  14. 插画构图如何学习,小白必看
  15. 华为智慧屏 鸿蒙如何,抛开鸿蒙 华为智慧屏V65作为电视合格吗?
  16. 计算机方向键是哪个键,你可能从来没碰过的键,电脑键盘方向键上面的3个按键有什么用?...
  17. HBase数据库原理介绍
  18. 持续集成(第二版)(转)
  19. python批量下载必应图片
  20. k8s笔记14--初次体验 开源云原生软件交付平台zadig

热门文章

  1. 阳历转化为农历的c语言程序,公历和农历之间如何转换?
  2. 【算法上车②】编译打包华为摄像头yolov3 狗识别demo
  3. 院内导航方案怎么样,低成本的智慧医院室内导航一站式解决方案
  4. PowerPoint演示文档大瘦身
  5. 【安全框架】Spring Security安全框架
  6. bilibili缓存文件在哪里_别再盲目清理了,手机删除这3个文件夹,能瞬间清出十几G垃圾...
  7. 如何申请edi许可证
  8. 如何在HTML文档中显示空格
  9. 冒泡排序由浅入深详细分析图解
  10. 西瓜创客联创刘鹏:在AI的曙光中拥抱教育的未来