单片机-C语言基础知识总结

本文为个人学习笔记,仅供学习参考用,如有侵权,请联系zhankun3280@139.com

(一)简单理解32位操作系统只能支持4G内存

在这里插入图片描述
(4294967295+1)bit / 1024 = 4194304K
4194304K / 1024 = 4096M
4096M / 1024 = 4G
故,32位操作系统最大能带4G内存。64位的操作系统需要更大的内存。

(二)数据类型(❤表示重要程度)

  1. 数据类型关键字
    最常用:char、int、float、double(精度更高)、signed char、unsigned char

  2. 数据类型的字节数❤❤❤❤❤
    一个字节=8位
    8位(例如二进制1111 1111、十六进制0xFF、十进制255)
    u8 ~255
    u16~65535
    u32~4294967295
    在这里插入图片描述

  3. 数据类型的强制转换

    u16 a,b;
    float c;
    a = 500;
    b = 200;
    c = (float)a / (float)b;
    
  4. 其他重要知识
    (1)中文符号、汉字都是两个字节组成的。
    (2)一个英文字母是一个字节。
    (3)定义了一个变量,如果没有赋值,他的值是随机的。

(三)条件语句与逻辑运算符

  1. if、else if、else用法

    if(条件1)
    {
      语句1;
    }
    
    else if(条件2)
    {
      语句2;
    }
    
    else if(条件3)
    {
      语句3;
    }
    
    else
    {
      语句4;
    }
    

    解析:
    如果条件1满足,执行语句1,下面else if和else中的语句2,3,4都不再执行;
    如果条件1不满足,则不执行语句1,但是条件2满足,执行语句2,下面else if和else中的语句3,4都不再执行;
    如果条件1,2,3都不满足,1,2,3语句都不会执行,直接执行else中的语句4。

  2. 条件运算符
    x = 条件1?语句1:语句2
    x1 = (x2 > x3) ? x4 : x5; //表示如果x2>x3为真,x1=x4,否则x1=x5

  3. 逻辑运算符与或非
    与:&&
    或 :||
    非:!(取反的意思)

(四)左移右移和与或非运算

  1. 位运算

    //位运算,按位与、或
    x1 = 0x88;
    x1 = x1 & 0x01;  //x1 = 1000 1000 & 0000 0001 = 0000 0000
    x1 = x1 | 0x01;  //x1 = 1000 1000 | 0000 0001 = 100 1001
    
  2. 左移右移
    左移:<<,最高位移出,最低位补0
    右移:>>,最低位移出,最高位补0

    注意:给某位写1用或运算,因为任何数与1相或都得1;给某位写0用与运算,因为任何数与0相与都得0.

    x1 = 0x8888;  
    x1 = x1 | 0x0100;   
    x1 = x1 | (1<<8);
    

    在这里插入图片描述

(五)函数和条件选择语句switch

  1. int main(void)中的int表示返回值的类型,void表示定义的参数。
  2. void suibian(void)表示无返回值,无参数。
  3. int suibian(a,b,c)表示有返回值,有参数。
  4. switch语句中的case后一定要加break。
    在这里插入图片描述

(六)指针、结构体

  1. 指针
    uint8_t x1=90;
    uint8_t *x2=&x1;
    printf("%d", x2);  //表示打印x2的地址
    printf("%d",*x2);  //表示打印x2地址的值
    
  2. 结构体(形式多样)
    在这里插入图片描述
  3. 结构体指针
    在这里插入图片描述
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值