一、运算符的优先级和结合性(简单介绍)

  1. 优先级

    1. 顾名思义 :这就像我们数学的运算规则一样,优先级越高,越先计算。

    2. 例如:a  +b*c会被解释为      a+(b*c),而不是    (a+b)*c
  2. 结合性

    假如用o表示需要两个操作数(操作数就相当于运算数)的双目操作符,那么对于a o b o c,对于左结合的运算符来说会解释为:       (a o b)o c    左结合性

   对于右结合的运算符来说会被解释为:   a o (b o c)    右结合性

也就是说遇到优先级相同的运算符,结合性指明了表达式应从左到右运算还是从左到右运算

另外我们应该注意赋值运算符  =   ,是右结合性的。                                                                         所以解释为:a=b=1   ——>a=(b=1)

前面的都是简单的介绍,接下来我们进入正题

二、关系运算及其表达式

所谓关系运算,就是对于两个数据的大小关系的一种断言,因此他的结果是一个逻辑值。

那么什么是逻辑值呢?简单来说就是真和假。

例如a=1,b=2;   那么a>b的结果就是假                                                     C语言当中,我们用0表示假,用非零表示真

关系运算符是实现关系运算的运算符,在c语言中有六种关系运算符

分别是==(等于)

!=(不等于)

<(小于)

<=(小于等于)

>(大于)

>=(大于等于)

注意>=之间没有空格,其他的5种符号也是同理

关系表达式:用关系运算符将运算量连接起来的表达式称为是关系表达式

eg :a%2=0;           a%2!=0;

表达式的结果是一个逻辑值 即(真)或(假)

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{int a, b, c;a = 3;b = 2;c = 1;printf("%d\n", a > b);printf("%d\n", a % 2 == 0);printf("%d\n", c != c < a);printf("%d\n", a > b > c);return 0;

我们可以看到结果是1 0 0 0。

接下来我们一起来分析一下程序

  1. a>b是对的,程序用1表示真
  2. a%2的结果是1并不等于0,所以 错误,用0表示假
  3. c!=c<a       !=的优先级小于<   所以先算c<a,很明显是真,我们用表示,然后就是计算c!=1,因此结果是假,用0表示
  4. a>b>c     优先级相同,根据左结合性 先计算a>b,结果是真,用1表示,然后就是计算1>c,很显然不对,用0表示

 三、逻辑运算及其表达式

千万要注意关系运算符的优先级比逻辑运算符的优先级高

条件表达式只能表示单一的条件,若要表示复杂的条件,那么需要用到逻辑运算表达式

eg:在C语言中想要表示x>0并且x<10不能表示为0<x<10,应该表示为x>0&&x<10(这是逻辑表达式,接下来了解)

C语言中有三种逻辑运算符:

1、&&逻辑与    只有a、b都为真     a&&b才为真

2、||逻辑或    a   b中至少一个为真   a||b就为真

3、!逻辑非    若a为真,那么!a为假

很显然       逻辑运算表达式的结果仍然是逻辑值

注意      逻辑非的优先级最高,逻辑与次之,逻辑或最低

例如   a>b||c>d&&x>y等价于(a>b)||【(c>d)&&(x>y)】

逻辑运算的‘短路’

运算符(关系运算和逻辑运算的介绍)(其一)相关推荐

  1. [PowerShell入门]关系运算和逻辑运算

    PowerShell入门 本节讲一下PowerShell里面的关系运算和逻辑运算,这两个知识点是学习控制结构的前提条件. 关系运算 值大小比较 由于>号已经作为重定向运算符来使用了,PowerS ...

  2. 《C语言》-(算术运算、关系运算、逻辑运算)

    一.算数运算 1.C语言中一共提供了34种运算符 2.基本运算(加.减.乘.除) 3.取余运算(也称模运算) %两边都是整数,如果为小数会报错 取余结果的正负性取决于%左边的整数 取余运算可以将一个整 ...

  3. Hive常用运算(关系运算)、逻辑运算与数学运算、数值运算、日期函数、条件函数、字符串函数

    hive 常用运算 第一部分:关系运算 Hive支持的关系运算符 •常见的关系运算符 •等值比较: = •不等值比较: <> •小于比较: < •小于等于比较: <= •大于比 ...

  4. 1.8 matlab基本运算(算术运算、关系运算和逻辑运算)

    1.算术运算 MATLAB的算术运算分为矩阵运算和矩阵内元素运算,矩阵内元素运算在矩阵运算符前加".", 如表2.12所示.除了一些矩阵的运算符以外,MATLAB算术运算符要求参与 ...

  5. 【C语言基础入门】2.C语言中四则运算、关系运算、逻辑运算与位运算

    文章目录 一.概述 二.四则运算(+,-,*,/,%) 三.关系运算(<,>,<=,>=,==,!=) 四.逻辑运算与位运算 五.深度剖析位运算 一.概述 C语言中支持下面4种 ...

  6. MATLAB矩阵的关系运算和逻辑运算

    1.矩阵的关系运算 关系运算符:<, <=, >, >=, ==, ~= 运算结果:真(1),假(0) 运算法则 标量比较:直接比较数的大小 矩阵比较:对应位置元素按照标量运算 ...

  7. C++关系运算和逻辑运算

    往往要求根据某个指定的条件是否满足来决定执行的内容.例如,购物在1000元以下的打九五折,1000元及以上的打九折. C++提供if语句来实现这种条件选择.如: if amount<1000 t ...

  8. 2.7关系运算与逻辑运算

    1.关系运算 MATLAB提供了6种关系运算符 关系运算符的运算法则如下: (1)当两个标量相比较时,直接比较两数的大小. 若关系成立,关系表达式结果为1,否则为0. (2)当一个标量与一个矩阵相比较 ...

  9. R代码学习(1)——算术运算、关系运算、逻辑运算

    参考资料: 辉小宝同学 一.算术运算 1.四则运算:加'+',减'-',乘'*',除'/' > 7 + 4 [1] 11 > 7 - 4 [1] 3 > 7 * 4 [1] 28 & ...

最新文章

  1. 深度学习核心技术精讲100篇(五十一)-Spark平台下基于LDA的k-means算法实现
  2. DataGrip按某列大小对数据集进行排序
  3. 3006基于二叉链表的二叉树最长路径的求解(附思路)
  4. 计算机电子电路技术 电路与模拟电子部分,[高等教育]计算机电子电路技术--电路与模拟电子部分直流电源.ppt...
  5. SQL Server 2008 Service Broker
  6. 函数的调用过程——栈帧。
  7. 探索SQL Server元数据(一)
  8. java struts2教程_Struts2教程
  9. win10如何切换计算机用户,Windows10系统下切换用户的多种技巧
  10. java:编写一个程序完成:完成在银行的存款和取款操作。在定义银行类时,若取款数大于余额则作为异常处理。
  11. 使用OpenCV和Python进行人脸识别
  12. 基于java+springboot+mybatis+vue+elementui的农机机械设备租赁平台
  13. 网络安全观察报告 惯犯观察
  14. append和extend的差别
  15. Public Key Retrieval is not allowed解决
  16. 最常见的运放LM358简要功能介绍(抄原理图)
  17. 如何在拨号vps里查看本机ip地址
  18. ASP.NET MVC异步上传文件
  19. 为什么程序员下班后只关显示器从不关电脑?
  20. 莆田学院计算机与科学怎么样,莆田学院怎么样_好不好_是几本

热门文章

  1. Linux中的程序和进程,top使用和PID和PPID
  2. hadoop离线阶段(第二十三节)oozie简介、安装和使用及oozie与hue的整合
  3. iPhone12纯色系搭配工具
  4. 关于Xcode7中的tbd文件
  5. 一生不过如此~~越往后看越觉得未来的10年何其珍贵
  6. 子序列和子串问题算法的全面总结
  7. 如何增加一款APP的用户粘性
  8. Java并发编程——ForkJoin详解
  9. 产品中的性能优化总结
  10. 【电脑wifi网络属性打不开怎么办】