学习C语言为嵌入式打基础

IEEE给出的嵌入式系统的定义:嵌 入 式 系 统 是 以 应 用为 中 心 、 以 计 算 机 技 术 为 基 础 、软 件 硬 件 可 裁 剪 、 适 应 应 用 系系统对功 能 、 可 靠 性 、 成 本 、 体 积 、 功 耗 严 格 要 求 的 专 用 计 算 机 系 统 。

嵌 入 式 系 统 是 将 先 进 的 计 算 机 技 术 、 半 导 体 技 术 和 电 子 技 术 与 各 个 行 业 的 具 体 应 用 相 结 合 后 的 产 物 。

 包 含 有 计 算 机 , 但 又 不 是 用 计 算 机 的 计 算 机 应 用 系 统 。

一、vim进阶:
命令模式下
复制:
   Myy                                              //复制光标所在的这一行
                                                       //M数字 表示复制 从光标所在行开始 M行内容    
 

 Np                                               //粘贴 
                                                      //N数字 可以 粘贴 N份 
         
shift+v                                           //行选中 配合方向键 选中多行 

选中的情况下
 按一下 y 复制 
 按p粘贴 

ctrl+v                                            //块选中 

删除:
  dd 

剪切:  
  dd + p                                        //剪切  

二、数据类型

基本数据类型:整型 、浮点型 、字符型。

1、整型:常量形式、变量形式

(1)常量形式:

123                                                                 //十进制 
0x123                                                             //十六进制 
0123                                                              //八进制 

十进制:
  0   1   2   3   4   5   6   7   8   9
 10  11  12  13   ....               19
 20  21  ...                         29 

十六进制:                            // 10  11  12  13  14  15
 0   1   2   3   4   5   6   7   8   9   a   b   c   d   e   f
10  11  12 ...                              1a 1b    ...        1f
20 ...

八进制:
 0   1   2   3   4   5   6   7 
10  11  12  13  ...

十进制 转 二进制 

除2取余法

二进制转十进制:

 加权求和

十六进制 <=> 二进制

1位十六进制数 对应 4位 二进制数

八进制 <=> 二进制

1位八进制数 对应 3位 二进制数

(2)变量形式:描述一个变量 

语法: 数据类型 变量名;  
 

 整型:
  int       
  short     
  long      
  long long 
  signed / unsigned 
  

变量名起名:
1.数字,字母,下划线 
2.数字不是开头 
3.区分大小写 
4.不能与关键字重名 
5.不要和系统二级关键词重名  (include 预处理的命令)
6.不能与库函数重名
  

int a = 10; //初始化   开空间的同时给了值

int a;    //先开空间 后给值 

a = 10; // 赋值 

int a = 0x12345678; 


大端存储 :与小端相反
小端存储: 高高低低
   
 高位数据 存储在 高地址处 
 低位数据 存储在 低地址处

有符号数:有一位为符号位     包含了 正数 负数 
无符号数:不包含符号位         包含非负数

整数在计算机中存的都是补码 

正数: 原码 反码 补码 都是一样的

 负数: 补码 = 反码 + 1

unsigned short      [0~2^16-1]                      // 范围 0~65536-1 
signed short          [-2^15 ~ +2^15-1]          // 范围 -32768 ~ 32767 

2、浮点型:
(1)常量形式 
 1.234 
 1.2e3                                                      //科学计数法形式  //1.2*10^3 
 1.2E3                                                      //e后面 可以是正数 或 负数 不能是小数 

(2)变量形式 

float                                                         //单精度 
double                                                     //双精度 

(3)数据类型 
 存储     6.25
       step1: 将小数 转换为 二进制形式的小数         
       整数部分: (除2取余法)       
       0110   
       小数部分:(乘2取整法)
     0.25 * 2 = 0.5  --- 0
      0.5  * 2 = 1    --- 1    
      组合:
      0110.01 
   step2:将二进制形式的小数,写成科学计数法形式           
      1234.56 ---> 1.23456*10^3 
     110.01 ---> 1.1001 * 2^2 //科学计数法形式 
 
   step3:按照 IEEE 754 标准 存放  
      
      1位 符号位|8位-指数位|尾数位 
                         |          |
                  0    |  2 + 127 |
                        | -127~128 |
                 1000 0001   1001 0000 0000 0000 0000 
                 
                  0100 0000 1100 1000 0000 0000 0000 0000
                        4      0      c        8      0        0       0       0    

   double  8字节  
   符号位|指数位|尾数位
         |  11位|52位  
          +1023

    float 
  符号位|指数位|尾数位
        |  8 位|23位  
         +127
         
  浮点数的比较问题:统一精度 

   浮点常量的类型:

  默认识别为double类型 
  0.9f                                          //表示识别为 float类型 
  0.9L                                         //L表示long double 
 
 整型常量:
 说明类型
 123L                                            //long int 
 123LL                                         //long long int 
 123UL                                       

3、字符型:
 a b c                                          //unsigned long int 

字符数据:
                   存到计算机            a ---> 编码值 (数值) ---> 无符号的整数

常量形式: 'a'                              //字符常量 

变量: char ch;                            //tiny int 
 
 unsigned char  [0~2^8-1]                //范围      0~ 255
 signed char    [-128~127]                //范围      -128~127

ascii表:
0~32 控制字符 不可见 
'0'~'9' //48~57
'A'~'Z' //65~90 
'a'~'z' //97~122 
'0' ----- 0
大小写转换 
加减32

  • 30
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值