嵌入式学习第二篇——C语言基础2

1.常量和变量:


    1.字符串常量:


        "ab"
        "hello world"

        字符串末尾有一个用来标识字符串结尾\0字符
        
        'a'和"a"区别:
            'a':字符常量,只有一个字符a
            "a":字符串常量,有2个字符'a' + '\0'
        
        "ab\0"              4
        "ab\\\123ab"        7

    2.标识常量


        #define N   5

        宏只是代码的替换,中间不进行任何数据计算的操作
        宏名一般都是大写,用来和变量区分

    3.变量:


        数据类型 变量名;
        int Num1, Num2, Num3;

        初始化:
            定义变量的时候对变量赋初值

        赋值:
            定义变量后,对变量的赋值

        初始化 != 赋值

        注意:
            1.未经初始化的变量值为随机值
            2.定义变量时最好对变量初始化

2.类型转换:


    1.显示类型转换(强制类型转换)


        只会转换一次
        (int)3.1415;
        (int)3.78;
        (double)100;
        int Num1;
        (double)Num1;

    2.隐式类型转换


        表达式:一个多个变量和常量组成的式子
            表达式一定有值
            表达式一定有类型

           低精度转换成高精度

            浮点型精度 > 整形精度
            同种类型所占内存空间越大精度范围越高
            无符号精度 > 有符号精度

            float类型进行数据运算和数据处理时会转换为double类型
            short、char类型进行数据运算和数据处理时会转换为int类型

            char + char == int 
            char + short == int 
            float + float == double 
            float + double == double 
            float + int == double 

            3.14 - 5

嵌入式学习第二篇——C语言基础2_第1张图片

3.运算符:


    1.算数运算符:


        +
        -
        *
        /
: 不能除以0 
        % : 不能对浮点数操作
        ++   自增运算符
        --   自减运算符

        练习:
        定义两个变量可以是整形或者浮点数类型,对这两个变量赋值,
        并计算这两个数四则运算的结果并打印在终端

        i++;    先用再加
        ++i;    先加再用
        i--;
        --i;

嵌入式学习第二篇——C语言基础2_第2张图片嵌入式学习第二篇——C语言基础2_第3张图片

    2.赋值运算符:


        =
        +=
        -=
        *=
        /=
        %=

        左值允许放在赋值运算符左边的值
              变量  
              常量、表达式均不能作为左值

        右值允许放在赋值运算符右边的值
              常量、变量、常量变量组成的表达式

赋值运算规则:
        
        左值为浮点数类型,右值为整形,会将值扩展精度
        左值为整数类型,右值为浮点数类型,会舍弃精度

        左右两边均为整形:将右值直接拷贝到左值空间中
        
        小数据放入大空间:数据扩展,有符号数高位补符号位,无符号高位补0 
        大数据放入小空间:直接截取数据低位放入小空间

    char ch = 300;
    printf("ch = %d\n", ch);    //44

    char ch = 130;
    printf("ch = %d\n", ch);    //-126

    3.三目运算符(特殊运算符)


      表达式 ? 表达式1 : 表达式2 

      练习:定义三个变量,并对变量赋值,
            通过三目运算符获得3个数中的最大值并打印

嵌入式学习第二篇——C语言基础2_第4张图片

嵌入式学习第二篇——C语言基础2_第5张图片

      结合方向:自右至左
      x > y ? x : (y > z ? y : z)

    4.逗号运算符


        从左到右依次执行表达式,并将最后一个逗号表达式的结果作为整体逗号表达式的结果

    5.sizeof运算符


        sizeof (数据类型/变量名) 获得数据类型/变量在内存中所占的字节数

===========================================================================================================================


1.C语言中常用的输入输出函数:
 

  1.getchar putchar 


    2.scanf printf 


    3.gets puts 

1.putchar 


    功能:在终端打印一个字符 

    示例: 
        putchar('a');
        
        char ch = 'A';
        putchar(ch);

        putchar(ch + 32);
    注意:
        1.putchar只能打印一个字符,想打印多个字符需要多次调用putchar 
        2.putchar只能打印字符 

    练习:
        利用putchar在屏幕上打印 Hello World!

嵌入式学习第二篇——C语言基础2_第6张图片

2.getchar 


    功能: 从终端接收一个字符 

    示例:

    注意:
        1.getchar会将程序阻塞,直到用户输入数据,程序才能继续向下执行 
        2.getchar只能接收一个字符,想要接收多个字符需要多次调用
        3.getchar只能接收字符

作业:


    1.定义一个圆的半径,并赋初值,计算圆的周长和面积完成打印
    
    2.利用putchar和getchar实现从终端接收一个小写字母,转换成其对应的大写形式输出

    3.定义两个整形变量并对变量赋初值(初值为2位数),要求将两个数合并成一个新数并打印
        新数的千位是第二个数的十位
        新数的百位是第一个数的十位
        新数的十位是第一个数的个位
        新数的个位是第二个数的个位

        注意:利用四则运算对数字拆分和拼接
        Num1: 12
        Num2: 34
        NewNum: 3124

1,嵌入式学习第二篇——C语言基础2_第7张图片嵌入式学习第二篇——C语言基础2_第8张图片

2,

嵌入式学习第二篇——C语言基础2_第9张图片

嵌入式学习第二篇——C语言基础2_第10张图片

3,

嵌入式学习第二篇——C语言基础2_第11张图片

嵌入式学习第二篇——C语言基础2_第12张图片

你可能感兴趣的:(学习,c语言,linux,嵌入式硬件)