首页 > 其他分享 >嵌入式学习——C语言数据结构(三)

嵌入式学习——C语言数据结构(三)

时间:2024-07-10 23:26:45浏览次数:17  
标签:C语言 二进制 等价 嵌入式 运算符 按位 sizeof 数据结构 赋值

七、赋值运算符

        1、+=          加且赋值                  C  +=  A;等价于C=C+A

        2、-=           减且赋值                  C  -=  A;等价于C=C - A

        3、*=           乘且赋值                  C  *=  A;等价于C=C*A

        4、/=           除且赋值                   C  /=  A;等价于C=C / A

        5、%=         取余且赋值                C %= A;等价于C=C%A

        6、>>=        右移且赋值                C >>= A;等价于C = C>>A

        7、<<=        左移且赋值                C <<= A;等价于C = C<<A

        8、&=          按位与                       C &= A  ;等价于C = C&A

                例:C=12   ====》转成二进制      0   0   0   1   0   1   0   1

                        A=21  ====》转成二进制      0   0   0   0   1   1   0   0
                                                                      ↓    ↓   ↓   ↓   ↓   ↓   ↓   ↓
                                                                      0    0   0   0   0   1   0   0=====》十进制4
                          按位与的计算就是先换算为二进制,再每一位对应进行判断
                           1&0=0    1&1=1   0&0=0    0&1=0     

        9、|=            按位或                       C |= A  ;等价于C = C|A

                           只要对应的数有一个为1最后就为1

                            1|0=1      1|1=1     0|1=1     0|0=0  

        10、^=          按位异或                   C ^= A  ;等价于C = C^A     

                            对应的数的值不一样就为1

                            1^0=1   0^1=1   0^0=0   1^1=0   

        11、~=           按位非(按位取反) C ~= A  ;等价于C = C~A  

八、杂项运算符

  • sizeof :返回变量的所占内存大小(如果不知道sizeof和strlen的区别,可以查看我的上一篇文章)
  • &:取地址符,返回变量的地址
  • * :指向一个变量 *p
  • ? : :条件表达式(三目运算符) 条件为真?则值等于X:则值为Y。

九、注意事项

  • (优先级最高)!> 算术运算符 > 关系运算符 > 逻辑与 > 逻辑或 > 赋值运算符。
  • 1、同一优先级的运算符,运算顺序由结合方向决定。

标签:C语言,二进制,等价,嵌入式,运算符,按位,sizeof,数据结构,赋值
From: https://blog.csdn.net/weixin_46432503/article/details/140336369

相关文章

  • 嵌入式开发学习day08
    完成学生管理系统1>使用菜单完成2>有学生的信息录入功能:输入学生个数,并将学生的姓名、分数录入3>查看学生信息:输出所有学生姓名以及对应的分数4>求出学习最好的学生信息:求最大值5>按姓名将所有学生进行升序排序6>按成绩将所有学生进行升序排序要求每个功能使用函......
  • 墨烯的C语言技术栈-C语言基础-011
    函数在数学中f(x)=2*x+1这是数学的函数C语言是结构化的程序设计语言结构化分为三种(1)顺序结构(2)选择结构(3)循环结构这种三种以及这三种组合可以描述生活中的所有事比如//求两个任意整数和Add(intx,inty){ intz=0; z=x+y; returnz;}in......
  • 数据结构(Java):集合类LinkedList&集合类Stack
    1、集合类LinkedList1.1什么是LinkedListLinkedList的底层是一个双向链表的结构(故不支持随机访问):在LinkedList中,定义了first和last,分别指向链表的首节点和尾结点。每个节点中有一个成员用来存储数据,还有两个指针域next和prev分别存储下一个节点和上一个节点的地址。Link......
  • 嵌入式系统中的加解密签名(2)--- mbedtls认识与使用
    笔者来介绍一下mbedtls认识与使用1、mbedtls认识mbedtls(EmbeddedTLS),是嵌入式里面实现的TLS协议,用C语言实现。相关的TLS协议以及加密等知识可以看笔者上一篇文章----嵌入式系统中的加解密签名。基本特点如下图所示:仓库地址:Mbedtls。特点:面向小型嵌入式设备,代码紧凑......
  • 衡庐浅析·C语言程序设计·第二章·运算符及其优先级关系(练习题一)
        本文适用于大学的期中期末考试、专升本(专接本、专插本)考试、408等考研预科。如有相关题目疑问或建议欢迎在评论区进行互动。    转载请标明出处。不知道大家有没有消化完第二章的内容。在这里我们将列出一些关于运算符及其优先级关系的课后练习题,方便大家......
  • 入门c语言DAY7——转义字符
    入门第七天(昨天就要发出来的,结果退出来的时候系统没给我保存....目前写过的最长的一篇文章了) 由例子引出转义字符,如图: 可以看到将n前加上\后不但没有打印出\n,反而空了一行。像\n这样的字符就叫转义字符。(当然也不是什么字符前加\都可以用作转义字符~先来浅浅看一下转义......
  • Linux C语言基础 day8
    目录思维导图:学习目标:学习内容:1.字符数组1.1二维字符数组1.1.1格式1.1.2初始化1.1.3 二维字符数组输入输出、求最值、排序2.函数2.1概念关于函数的相关概念2.2函数的定义及调用2.2.1定义函数的格式2.3 函数的分类1.无参无返回值函数2、有参无返回......
  • 嵌入式系统专业名词:
    嵌入式系统的专业名词众多,涵盖了硬件、软件、通信协议等多个方面。以下是从A到Z总结的一些嵌入式系统相关的专业名词:AARM(AdvancedRISCMachines):一种广泛使用的嵌入式处理器架构,以其低功耗、高性能而著称。BBSP(BoardSupportPackage):板级支持包,是嵌入式操作系统实现可移植......
  • 数据结构第19节 排序算法(1)
    冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。冒泡排序步骤详解假设我们有以下数组:int[]arr={64,34,25,12,22,11,90}......
  • 【数据结构】12.排序
    一、排序的概念及其运用1.1排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j......