今天主要总结了一下运算符,详细介绍了运算符分类和优先级的基本知识
欢迎加入嵌入式学习群:559601187
运算符按操作数可以分为:单目运算符、双目运算符和三目运算符,优先级依次为单目运算符>双目运算符>三目运算符,在c语言里三目运算符只有一个,例如:a>b?a:b;表示如果a>b则执行a否则执行b
图一列出了常见的运算符,下面对上面的内容进行一些补充:
(1)按位与&
任何二进制数(0/1)和1相与,还是它本身,和0相与为0
(2)按位或
任何二进制数(0/1)与1相或,都为1,和0相或还是它本身
(3)按位取反
整体按位取反
(4)想把某一位置1用按位或,想把某一位清零用按位与
(5)用%取余的时候,结果的符号只与分子有关。
补充知识:
(一)对于有符号数,最高位为符号位,0位整数,1为负数
(二)正数的源码、反码和补码都是它本身
(三)负数的源码是它本身,反码是符号位不变,其他位取反,补码是反码+1
(四)正/负整型数据的存储都是以补码的形式存储的
(五)关系表达式和逻辑表达式只有真和假,一般来说为真表示1(大于0的数),为假表示0
(六)优先级(高到低):!>算术运算符>关系运算符>&&和||>赋值运算符
(七)使用printf格式化输出%m.nf,m控制输出的宽度,n表示输出小数点位数
本文章仅供学习交流用禁止用作商业用途,文中内容来水枂编辑,如需转载请告知,谢谢合作
微信公众号:zhjj0729
微博:文艺to青年