C语言进阶第15式:逻辑运算符分析
问题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式:逻辑运算符分析相关推荐
- C语言进阶第23式:#error和#line的使用分析
问题1:#error和#line的使用方法? #error用于生成一个编译错误消息, 用法: #error message message不需要用双引号包围 #error编译指示字用于自定义程序员特有 ...
- C语言进阶第39式:程序中的三国天下
程序中的栈 栈是现代计算机程序里最为重要的概念之一: 栈在程序中用于维护函数调用上下文: 函数中的参数和局部变量存储在栈上: 栈保存了一个函数调用所需的维护信息 函数调用过程 每次函数调用都对应着一个 ...
- C语言进阶第14式:单引号和双引号
问题1:单引号和双引号有何区别? 单引号和双引号 C语言中的单引号用来表示字符字面量 C语言中的双引号用来表示字符串字面量 例子: 'a'表示字符字面量,在内存中占1个字节: 'a'+1表示'a'的A ...
- C语言进阶:程序中的三国天下 考研数据结构
C语言笔记 第三十九课 程序中的三国天下 C语言笔记 第三十九课 程序中的三国天下_YLC_慕类的博客-CSDN博客 C基础第42课 -- 内存操作经典问题分析二 C基础第42课 -- 内存操作经典问 ...
- 【C语言进阶深度学习记录】二十六 C语言中的字符串与字符数组的详细分析
之前有一篇文章是学习了字符和字符串的,可以与之结合学习:[C语言进阶深度学习记录]十二 C语言中的:字符和字符串 文章目录 1 字符串的概念 1.1 字符串与字符数组 1.2 字符数组与字符串代码分析 ...
- 【C语言进阶深度学习记录】十九 #pragma使用与分析
文章目录 1 #pragma 概念简介 1.1 #pragma message 的用法 1.2 #pragma once 的用法 1.3 #pragma pack 的用法 1.31 struct占用的 ...
- 【C语言进阶深度学习记录】八 C语言中void的分析
文章目录 1 void的意义 1.1 不存在void变量 1.2 C标准 1.3 void指针的意义 1.4 通过void* 实现memset函数 2 总结 1 void的意义 void修饰函数的参数 ...
- R语言数据分析笔记——Cohort 存留分析
作者简介Introduction 杜雨,EasyCharts团队成员,R语言中文社区专栏作者,兴趣方向为:Excel商务图表,R语言数据可视化,地理信息数据可视化. 个人公众号:数据小魔方(微信ID: ...
- Day16-20 Python语言进阶
Python语言进阶 重要知识点 生成式(推导式)的用法 prices = {'AAPL': 191.88,'GOOG': 1186.96,'IBM': 149.24,'ORCL': 48.44,'A ...
最新文章
- 从动力学角度看优化算法SGD:一些小启示
- JavaWeb学习之路——SSM框架之Spring(四)
- Javascript中Date对象的使用
- html怎么转换成asp.net,Asp.net中将Word文件转换成HTML的方法
- 枚举类型enum例题_10.1 C++枚举类型
- Java多线程编程(3)--线程安全性
- Vue之webpack打包CSS图片字体
- MySQL 数据库性能优化之缓存参数优化
- 标准误计算机excel公式,excel标准误差怎么算
- 微软服务器补丁每月几号发布,微软11月安全公告 发布一个紧急级补丁
- MultiDock——专门为 macOS 设计的增强型 Dock
- 浅聊一下车载以太网技术及其EAVB和TSN技术
- div中加入span右对齐后出现换行显示的两种解决办法(转)
- 插画构图如何学习,小白必看
- 华为智慧屏 鸿蒙如何,抛开鸿蒙 华为智慧屏V65作为电视合格吗?
- 计算机方向键是哪个键,你可能从来没碰过的键,电脑键盘方向键上面的3个按键有什么用?...
- HBase数据库原理介绍
- 持续集成(第二版)(转)
- python批量下载必应图片
- k8s笔记14--初次体验 开源云原生软件交付平台zadig