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

目录

1,输入输出控制符

1.printf:

    1.打印非输出控制符:

    2.打印单个输出控制符:

    3.打印多个输出控制符

        4.printf格式化打印

    练习:

2.scanf 

    1.接收非输入控制符

    2.接收输入控制符

    练习:

    3.接收多个输入控制符:

    练习:

3.puts

4.gets 

1.流程控制:

    1.顺序结构

    2.分支结构

        1. if 

            1.简单分支:

        2. switch 

    3.循环结构

        2.逻辑表达式:

            1.关系运算符

            2.逻辑运算符:

作业:


1,输入输出控制符

1.printf:


    1.打印非输出控制符:


        printf("Hello World!");

        \n  换行符
        \t  横向制表符
        \v  纵向制表符
        \b  退格符
        \r  回车符
        \\  \字符 
        \"  "字符 

    2.打印单个输出控制符:


        int Num = 0;
        double f = 3.14;
        printf("Num = %d\n", Num);

        %d              按照十进制打印
        %o              按照八进制打印 
        %x              按照十六进制打印
        %c              按照字符打印
        %f              按照浮点数类型打印
        %s              按照字符串打印
        %p              按照指针类型打印 
        %u              按照无符号类型打印 
        %e              按照科学计数法打印浮点数类型
        %%              打印%号 

        int %d 
        unsigned %u 
        char %c 
        float double %f

    3.打印多个输出控制符


        int Num1 = 100;
        int Num2 = 200;

        printf("Num2 = %d, Num1 = %d\n", Num2, Num1);

        注意:
            输出控制符的个数必须与后面的表达式个数一一匹配


    
    4.printf格式化打印

规则:


        %nd     n:域宽,数据不足域宽,高位空格补齐


        %0nd    0:数据不足域宽,高位用0补齐


        %-nd    -:对齐


        %.mf    m:保留小数点后m位有效数字

    练习:


        设a,b为int型变量,x,y为float型变量,c1,c2为char型变量,
        且设a = 5, b = 10, x = 3.5, y = 10.8, c1 = ’A’, c2 = ’B’。
        为了得到以下的输出格式和结果,请写出对应的printf语句。
            (1)a = 5, b = 10, x + y = 14.3
            (2)x - y = -7.3, a - b = -5
            (3)c1 = ’A’ or 65(ASCII) c2 = ’B’ or 66(ASCII)

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

2.scanf 


    注意:
        1.scanf如果输入数据与想要接收的数据不匹配,从不匹配的位置开始不再向后读取
        2.scanf除了%s形式外,都需要加 &
        3.scanf除了%c形式外,均无法接收' '和'\n'字符 
        4.scanf中_%c可以接收非' '和'\n'字符 
        5.scanf中严禁\n 

    1.接收非输入控制符


        scanf("m");

        非输入控制符需要原封不动的从终端输入

    2.接收输入控制符


        %d          按照有符号十进制接收数据
        %c          按照字符接收数据
        _%c        接收一个' '和'\n'的字符
        %f          按照float接收数据
        %lf         按照double接收数据
        %s          按照字符串接收数据 

    练习:


        从终端接收圆的半径,打印圆的周长和面积

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

    3.接收多个输入控制符:


        int Num1 = 0;
        int Num2 = 0;
        float f = 0;

        scanf("%d %d", &Num1, &Num2);
        scanf("%d %f", &Num2, &f);

    练习:


        从终端接收两个数,打印出这两个数四则运算的结果

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

3.puts


    功能:在终端打印一行字符串

    示例: 
        puts("Hello World!");

        puts(a);

    注意:
        1.puts会在字符串末尾多打印一个\n字符

4.gets 

    gets(a);


    功能:从终端接收一行字符串

    hello world\n
    hello world\0

    注意:
        1.gets会去掉从终端接收的\n字符
        2.gets可以接收带' '的字符串,scanf无法接收带' '的字符串 

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


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


1.流程控制:


    1.顺序结构


        从main函数开始执行,执行到main函数结束 

    2.分支结构


        1. if 


            1.简单分支:


                if (逻辑表达式)
                {
                    语句块1;
                }
                else 
                {
                    语句块2;
                }

                注意:
                    1.if后面必须加判断条件 else不能加判断条件
                    2.if可以脱离else单独使用,但是else不能脱离if单独使用
                    3.if和else不加括号,默认控制一句代码,为了保证程序不出错,
                      一句代码也要加括号

        2. switch 

    3.循环结构

        2.逻辑表达式:


            1.关系运算符


                >       大于
                <       小于
                >=      大于等于
                <=      小于等于
                ==      等于
                !=      不等于

                3 > 5       假
                3 < 5       真  
                5 >= 3      真
                Num <= 5    
                3 == 5      假 
                5 == Num 
                Num != 5    

            2.逻辑运算符:


                &&  逻辑与          一假为假,全真为真       既..又..
                ||  逻辑或             一真为真,全假为假       要么..要么..
                !   逻辑非             真取非得加,假取非得真   

                Num >= 0 && Num <= 100
                Num < 0 || Num > 100 

                截断特性:
                    1.逻辑与左边为假值,右边不再计算
                    2.逻辑或左边为真值,右边不再计算


作业:


    1.从终端接收三角形三边的长,计算三角形的周长和面积
            海伦公式
            sqrt函数
            #include
            gcc filename.c -lm 

    2.从终端输入一个数,利用if判断,打印出该为为奇数还是偶数
      从终端输入一个年份,打印出该年是闰年还是平年?
            普通闰年:   4的倍数却不是100的倍数
            世纪闰年:   400的倍数 
1,

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

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

2,

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

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

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

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

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