嵌入式学习(Day4 scanf/gets/puts函数/流程控制/)

1.scanf的使用:

(1)scanf 出现非输入控制符,需要从终端原封不动的输入;

(2)scanf 除%s外,后面必须加&符;

(3)scanf 中%c外,无法接受' '和'\n'

(4)scanf中禁止出现'\n'

(5)scanf中,用_%c接受一个非' '和'\n'的字符;

1.1 scanf接收非输入控制符
        scanf("m");

        双引号中间的内容要从终端原封不动输入

1.2 scanf接收输入控制符 
        %d      按照int类型接收数据  
        %f      按照float类型接收数据
        %lf     按照double类型接收数据
        %c      按照char类型接收数据(可以接收' '和'\n')
        _%c     按照char类型接收数据(无法接收' '和'\n')
        %s      按照字符串类型接收

      如:char ch = 0;
             scanf("%c", &ch);

1.3 scanf接收多个输入控制符
  如:int num1 = 0;
         int num2 = 0;
         scanf("%d%d", &num1, &num2);

2. gets和puts
2.1 puts 
      功能:在终端打印一行字符串( puts会多打印一个\n字符);

       注意:
        puts和printf的区别:
        1.puts会多打印一个\n字符
        2.printf不会多打印\n字符

2.2 gets
      功能:从终端接收一行字符串(gets会去掉从终端接收的\n字符)

      注意:
        gets和scanf的区别:
        gets:可以接收带' '的字符串
        scanf:无法接收带' '的字符串

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

3.流程控制:   

(1)顺序结构(2)分支结构(3)循环结构

3.1   顺序结构:
    从main函数第一句开始执行,执行到main函数结束

3.2   分支结构:
    1.判断时候使用分支语句;
    2.同一类数据执行不同操作的时候使用分支语句;

3.2.1   if分支:
        (1)简单分支:
            if (逻辑表达式)
            {
                语句块1;
            }
            else 
            {
                语句块2;
            }            注意:
                1.if后面必须加条件,else不能加条件
                2.if可以脱离else单独使用,但是else不能脱离if单独使用
                3.if和else不加大括号默认控制1句代码
  3.2.2    阶梯分支:
            if (表达式1)
            {
                语句块1;
            }
            else if (表达式2)
            {
                语句块2;
            }
            else if (表达式3)
            {
                语句块3;
            }
            else 
            {
                语句块4;
            }

3.2.3嵌套分支:
            if (表达式1)
            {
                if (表达式2)
                {
                    if (表达式3)
                    {
                        
                    }
                }
            }

            最多嵌套3 - 5层,深层次嵌套会影响代码的可读性

4.  逻辑表达式:
            (1)关系运算符:
                >       大于
                <       小于
                >=      大于等于
                <=      小于等于
                ==      等于
                !=      不等于

          (2) 逻辑运算符:
                &&  逻辑与      既..又..                    一假为假,全真为真          num >= 0 && num <= 100      num在0-100之间
                ||  逻辑或      要么..要么..                一真为真,全假为假          num < 0 || num > 100        num在0-100之外
                !   逻辑非      真取非得假、假取非得真        

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

        (3)三目运算符:
            逻辑表达式?表达式1:表达式2; 

            a > b ? a : (b > c ? b : c);

            C语言中运算符结合方向:
                1.大部分自左至右
                2.单目运算符  自右至左
                  赋值运算符  自右至左
                  三目运算符  自右至左
 

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值