首页 > 其他分享 >3.运算符和表达式

3.运算符和表达式

时间:2023-06-29 17:13:01浏览次数:27  
标签:10 -- value 运算符 num 表达式

  • 算术运算符:

假设变量 A 的值为 10,变量 B 的值为 20,则:
2023-04-02_100216.png

关于自增和自减

  • 运算符在前,先计算,表达式的值为递增后的值
  • 运算符在后,取原变量值使用,表达式的值为递增前的值
++注意:加分号(结束符)就是语句,不加就是表达式。++

Exammple:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i = 1, j = 10, value;
    value = i++ + ++j;
    /*
    * i = 1 值不发生改变
    * j = 10 + 1 = 11
    * value = 1 + 11 = 12
    */
    printf("i = %d\n",i);
    printf("j = %d\n",j);
    printf("value = %d\n",value);
    
    exit(0);
}

输出:

i = 2
j = 11
value = 12
  • 关系运算符

假设变量 A 的值为 10,变量 B 的值为 20,则:
2023-04-02_100248.png

区别赋值运算符=与关系运算符==,后者返回逻辑值1 or 0

  • 逻辑运算符

假设变量 A 的值为 1,变量 B 的值为 0,则:
2023-04-02_100322.png

注意:逻辑运算符(&&,||)的短路特性

  • 1、对于逻辑与&&来说,当第一个条件已经为假时,则表达式结果一定为假(同真为真,一假则假 ),此时不再执行第二个条件。例如:a && b 当a条件为假的时候,则b条件被短路,不再执行b条件,直接返回假。
  • 2、对于逻辑或||来说,当第一个条件已经为真时,则表达式结果一定为真(一真则真,同假则假 ),此时不再执行第二个条件。例如:a || b 当a条件为真的时候,则b条件被短路,不再执行b条件,直接返回真。
  • 位运算符(对嵌入式开发有重要意义

针对嵌入式应用中:用于硬件的控制,直接针对某一位来处理,处理缓冲区等。

位运算符作用于位,并逐位执行操作。&、 | 和 ^ 的真值表如下所示:
2023-04-02_100357.png
假设变量 A 的值为 60,二进制为0011 1100,变量 B 的值为 13,二进制为0000 1101,则:
2023-04-02_100442.png

  • 二进制左移运算符<<,右补0,左边被挤下的二进制位丢弃
  • 二进制右移运算符>>,正数左补0,负数左补1,右边被挤下的二进制位丢弃
int i = B1100  // B 表示二进制,十进制数值为12
//左移1位 i << 1   1100 --> 1000 ->  --> 8
//右移1位 i >> 1   1100 --> 0110 -> 0110 --> 6
  • 异或运算符^:相同为0,不同为1.
  • 赋值运算符

2023-04-02_100515.png
Example:

int a = 10;
a -= a *= a += a /= 2
//计算时从右往左计算
// a /= 2 --> a = a / 2 = 10 / 2 = 5;
// a += 5 --> a = a + 5 = 5 + 2 = 7;
// a *= 7 --> a = a * 7 = 7 * 7 = 49;
// a -= 49 --> a = a - 49 = 49 - 49 = 0;
  • 杂项运算符

2023-04-02_100542.png

三目运算符:如a > b ? a : b

等同于if语句中的

if(a > b)
   return a;
else
   return b;
  • 运算符之间的优先级

运算符的优先级确定表达式中项的组合,下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。
2023-04-02_100613.png

  • 位运算的特殊意义
  • 将操作数中第n位(从0开始,num从右 --> 左数)置1,其他位置不变:

做按位或运算:num = num | 1 << n ,将原来二进制数与1向左移n个位做按位或运算。

  • 将操作数中第n位(从0开始,num从右 --> 左数)清0,其他位置不变:

num = num & ~(1 << n)

  • 测试第n位:if(num & 1 << n)
  • 如何从指定宽度的书中取出其中的某几位???

标签:10,--,value,运算符,num,表达式
From: https://www.cnblogs.com/jxsme/p/17514680.html

相关文章

  • EL表达式
     packagecom.itheima.web;importcom.itheima.pojo.Brand;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.......
  • 各进制和逻辑运算符
    对于&&和&区别&&对于短路与而言如果第一个条件为false,后面的条件不会在进行判断&对于逻辑与而言如果第一个条件为fasle,后面的条件还会进行判断对于||和|区别||对于短路或而言如果第一个条件为ture,后面的条件不会进行判断|对于逻辑或而言如果第一个条件为tr......
  • 正则表达式
    量词这三个都是正则表达式的量词,量词,顾名思义,就是表示出现数量多少次的词语;*表示匹配前面的元素零次或多次。例如,a* 表示匹配零个或多个连续的字母a。+表示匹配前面的元素一次或多次。例如,a+ 表示匹配一个或多个连续的字母a。{m,n}表示匹配前面的元素至少m次,至多n......
  • Linux扩展篇-shell编程(三)-shell运算符
    基本语法:格式一expr+、-、\*、/、%(加、减、乘、除、求余)格式二"$((运算式))"或者"$[运算式]"基本运算符Shell和其他编程语言一样,支持多种运算符,包括:算术运算符关系运算符布尔运算符字符串运算符文件测试运算符赋值运算符逻辑运算符(1)算术运算符运算符......
  • 学习爬虫入门3,正则表达式,代码复现
    正则表达式写回调函数def (self,response) ......
  • 正则表达式-01
     这是一段正则表达式示例,筛选出sql语句里面用到的表。 #!/usr/bin/envpython#-*-coding:utf-8-*-importretext1="""T2.NOTI_CONTasEVENT_INFO--事件内容FROM(SELECT*FROMBOND_BASIC_INFOfinalWHEREISVALID=1)T1--债券基本......
  • C语言中常见的表达式
    (文章目录)前言本文主要介绍什么是表达式,表达式在C语言中非常常见希望大家可以好好学习。一、表达式定义表达式是一种有值的语法结构,它由运算符(变量、常量、函数调用返回值)结合而成,每个表达式一定有一个值。二、常量表达式例子:a,12,12.4值:就是变量或者常量本身的值作为条......
  • zabbix 监控机器监听的端口 + 触发器 表达式理解
    在zabbixweb页面配置item,监控监听的21端口配置trigger5.{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5                注释:其中www.solutionware.com.cn:system.cpu.load[all,avg1]代表的监控项目,其中主机位www.solutioneare.com.cn,监控的项的key为cp......
  • 正则表达式可视化
    正则表达式可视化https://wangwl.net/static/projects/visualRegex#flags=i&prefix=Z&source=Zurl......
  • python入门(四):运算符和表达式
    Python运算符和表达式指南原文|大纲|首页在Python中,运算符用于执行各种操作,如算术运算、比较运算、逻辑运算等。表达式是由变量、常量和运算符组成的代码片段。了解Python的运算符和表达式对于编写有效的代码至关重要。算术运算符算术运算符用于执行基本的算术操作,如加......