学习嵌入式的第三天

学习嵌入式的第三天

数据类型

获取数据类型存储的大小

sizeof运算符  可计算出指定数据(变量,常量)的字节大小     
它的结果是 size_t类型的数据(本质上就是unsigned int或unsingned long 类型又系统和编译器决定),对应的占位符是 %zu

数据类型的转换

数据类型的隐式转换

  • 整数 自动转 浮点数
  • 小字节 自动转 大字节
  • 有符号 自动转 无符号(在计算机里补码形式计算,输出看你是需要有符号还是无符号)
  • short 和 char 会转换为 int 在运算 哪怕是那个 char类型也会转为int
  • 给变量赋值时,值会自动转为变量的类型 比如 int a = 3.12; 就会精度丢失,值变成3

Snipaste_2024-04-01_19-39-44.png

数据类型的强制转换

规则: (数据类型)数据 (int)3.14 或 (int)double类型 的变量

运算符

运算符: 运算符是一种特殊的符号,用以用于数据的运算、赋值和比较等。

操作数: 运算符运算的数据。

表达式: 表达式指的是一组操作数、运算符的组合,表达式一定具有值 ,一个变量一个常量也是表达式。

运算符4要素: 含义和功能、操作数个数、所组成表达式的值、该运算符有无副作用

运算符分类(按操作数个数): 一元运算符、二元运算符、三元运算符

运算符分类(按功能): 算术运算符、关系(比较)运算符、逻辑运算符、位运算符、赋值运算符、其他运算符

算术运算符

  1. 加减乘除和正常无异

  2. 取余:`表达式的值的符号(正负)与第一个操作数一直

     		取余运算符的操作数,必须都是整数
    

    3.自增 自减

​ 相同: 运算符在前后对操作数的副作用都是一样的(加一)

 不同:   如果运算符在后,取操作数自增或自减之前的值作为表达式的值
         如果运算符在前,组操作数自增或自减之后的值作为表达式的值

关系运算符

1. >   <  == <=  >=  !=   都是
2、都是两个操作数       13 <  12   a  == b
3.表达式的值是01true或fault在c语言里 0 表示错误 非0 表示正确)是int 类型

逻辑运算符

1.逻辑与 &&    a<b && a<c
  表达式的值,两个操作数都为真(非0),表达式为1,否则为0  a<b这个表达式是&&它的操作数之一 
  逻辑与断路 :当第一个操作数为0(错误),第二个操作数不会被执行
  
 
2.逻辑非 ||  
  表达式的值:俩个操作数有一个为真,表达式的值就为真(0)
  逻辑非断路:当第一个操作数为真,第二个操作数不会被执行
  
3.逻辑非 !
  一元运算符
  表达式的值:操作数为真的,表达式为假,操作数为假,表达式为真  

位运算符

1.按位与 &  俩个二进制数的补码上同一位都为1则为1  否则为0  二进制数每一位一一对应判断
2.按位或 |  两个二进制数的补码上有一个为1就为1  否则为0
3.按位异或 ^  俩个二进制数的补码同一位都为1或0 则为0   否则为1

Snipaste_2024-04-01_20-25-49.png

上面的都有俩个操作数

1.按位区反 ~  一个二进制数上每一位取反    1变0  0变1
2.符号位左移 <<  一个二进制数上的每一位,向左边移  右边不0  移几位可以理解成乘以2的几次方
3.符号位右移  >>  一个二进制数上的每一位,向右边移  符号位为1则左边不1,符号位为0则左边补0   可以理解为除2的n次方    
  存在精度丢失    12>>> 变成了  12/8 1.6变成1   -9>>  变成了3   9/4  2.5+1变成3

Snipaste_2024-04-01_20-50-12.png

posted @   王先生凡凡  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示