嵌入式——从入门到精通第二天(c语言基础)

一 c语言基础
    1进制转换:
        二进制,八进制,十六进制
        二进制:0 1
        八进制: 0 1 2 3 4 5 6 7
        十六进制:0 1 2 3 4 5 6 7 8 9 a b c d e f
        低进制往高进制时:
        对应位乘以对应位的权值再求和
        高进制往低进制:
        高进制数除以低进制数得到的余数逆序排列
    2 程序在c语言中的运行方式
         程序(外存中)
        执行(加载到内存中)
        执行程序结束(回收内存空间)
    3 数字在内存中的存储:
        正数在计算机中存储对应的二进制数
        负数在计算机中存放补码
        1.原码
        2.反码
        3.补码
        4.内存数据
    4.gcc编译的流程步骤:
        gcc filename.c
        1预处理
        (1)头文件展开
        (2)宏定义替换
        #define M 100
        (3)条件编译
        gcc-    E filename.c -o filename.i
        2 编译
        将c语言程序编译成汇编代码
        gcc -S filename.c -o filename.s
        3 汇编
        将汇编代码编译成二进制代码
        gcc filename.c -o filename.o
        4 链接
        将多个二进制代码链接为一个可执行程序
        gcc filename.c -o filename
二 c语言中的数据类型分类 
                                        占内存空间                       值域范围                             存储方式
    (1)short :短整型       2字节空间                    -32768 - 32767                      补码
    (2)long  :长整型       8个字节空间                 -2^63 - 2^63 -1                       补码
  (3)int     : 整型         4个字节空间                 -21亿 - 21亿                            补码
    (4)float 单精度浮点型  4个字节 -3.4*10^38 - 1.18*10^-38  1位符号位 + 8位指数位 + 23位尾数位
    (5)double 双精度浮点型  8个字节  -1.80*10^308 - 2.23*10^-308    1位符号位 + 11位指数位 + 52位尾数位
    (6)char :字符型   1个字节空间          0-255           存储字符在ASCII码表中对应数字的二进制形式             
    (7)bool        泊尔         1个字节空间     true  false                                                1 或者0
    (8)void        缺省类型                  
三 c语言中的常量和变量:
    1.常量 :在程序运行过程中值不允许发生改变的量 
               eg:#include <stdio.h>
    (1)浮点型常量:
                 3.14.5 默认为double类型
         3.1415f       为 float类型
                 3.14e10      为double类型
        用e代表乘以10的多少次方
    (2)浮点型变量:
        浮点型都是有符号的
         %d被称为占位符 以十进制整数方式打印
                  %u                      以无符号十进制的方式输出无符号整型                           
          %lu                     以十进制方式输出无符号长整型
          %lf                      以小数形式输出双精度浮点数
          %f                          以小数形式输出单精度浮点数
          %c                       以字符形式输出字符
    (3)字符型常量
        ‘a’'A' 'Z'  '?'
        字符型常量只能用一个字符
        '\'为转义字符
                '\b'为退行字符
        '\n'为换行符
        '\t'为横向制表符
        '\v'为纵向制表符
        '\r' 为回车符
        '\b' 为退格符
        '\\' 为\符
        '1'-> ASCII码表->49,为字符1
        '0'为字符0,ASCII码为48
        '\0'为字符反斜杠0,用来标识字符串的结尾,对应的ASCII 码为0    ,在界面上什么都不显示     
        '\123' 八进制123对应的字符,为S
        '\x32'十六进制32对应的字符
        字符常量一定要用‘’包起来
    2.变量:在程序运行过程中值允许发生改变的量
    (1)变量需要先定义再使用 
         变量定义的形式
            (11)变量名可以由字母数字下划线构成,但是不能以数字开头
            (12)变量名不能和c语言关键字重名(比如int,lon等不能当变量名)
            (13)变量名最好不要与库函数重名
            (14)变量名最好要做到见名知意(驼峰法命名:第一个单词以小写字母开始,从第二个单词开始以后的每个单词的首字母都采用大写字母,内核命名法)
    (2)变量拥有存储空间,也有值域范围
        (3)字符型变量 char
    3.常量和变量可以组成表达式:由一个或者多个运算符连接的变量和常量组成的式子
    (1)整形的常量和变量
        整形常量默认为int类型
        100 : int类型
        100l : long类型
        100ul: unsign long 类型
        100u :unsigned int 类型
    注: 如果以0开头默认为八进制常量
                 如果以0x开头默认为十六进制常量
           在linux中可以用man ascii 来查询ASCII表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值