Linux学习第四天,C语言部分

一.输入输出函数

1.printf 
        1.非输入控制符
        2.输入控制符的打印
        3.多个输入控制符的打印 
        4.格式化打印 
            printf("%5d", Num);

            %nd         n:不足域宽高位用空格补齐
            %-nd        -:左对齐
            %0nd        0:不足域宽高位用0补齐
            %.mf        m:显示小数点后m位有效数字

2.scanf
        格式化输入函数
        1.接收非输入控制符 
            scanf("m");

            scanf中出现非输入控制符,需要原封不动的从终端输入该字符
        2.接收输入控制符 
            %d      按照int类型接收
            %f      按照float类型接收
            %lf     按照double类型接收
            %c      按照char类型接收(会接收' '和'\n'字符)
            _%c     接收一个非' '和'\n'的字符
            %s      按照字符串类型接收
        3.多个输入控制符的接收
            int Num1 = 0;
            int Num2 = 0;

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

        注意:
            1.scanf中内容写的越短越好
            2.scanf中不要加入\n字符 
            3.scanf只有%s可以不加&,其余均需要加上& 
            4.scanf中' '和'\n'字符表示数据末尾
            5.scanf中只有%c可以接收' '和'\n'字符,其余均认为是数据结束的标志

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

3.puts 
        打印一行字符串 

        字符数组 
        char ch[32] = {"Hello World"};

        puts(ch);
        
        注意:
            1.puts会多打印一个\n ,所以会自动换行
            2.printf不会多打印\n

    4.gets 
        从终端接收一行字符串

          char str[32] = {0};
    
         gets(str);

        注意:
            1.gets会去掉从终端接收的\n字符 
            2.gets能够接收带' '的字符串
            3.scanf不能接收带' '的字符串 
二.流程控制

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

2.分支结构:
    1.三目运算符:
        ? :

        逻辑表达式?表达式1:表达式2;

         eg: s = a > b ?  c : d;

a大于b为真,则c赋给s,为假则d赋给s

        练习:定义三个变量,从终端获得三个变量的值,
             请打印出三个变量中的最大值

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

        注意:
            三种特殊运算符,结合方向自右至左
            1.单目运算符 
            2.赋值运算符 
            3.三目运算符

    2.关系运算符:
        >       大于
        <       小于
        >=      大于等于
        <=      小于等于
        ==      等于
        !=      不等于

    3.逻辑运算符:
        &&      逻辑与      既..又..
        ||      逻辑或      要么..要么..
        !       逻辑非      真取非得假  假取非得真

        逻辑与:一假为假,全真为真
        逻辑或:一真为真,全假为假
        逻辑非:真取非的假,假取非的真
        截断特性:
            逻辑与左边为假时,右边不再计算
            逻辑或左边为真时,右边不再计算 

    4. if分支
        1.判断逻辑时使用分支语句
        2.同一类数据执行不同操作

        1.简单分支:
            if (逻辑表达式)
            {
                语句块1;
            }
            else 
            {
                语句块2;
            }

            注意:
                1.if后面必须加条件, else后面不能加条件
                2.if可以脱离else单独使用,但是else不能脱离if单独使用
                3.if和else如果不加{},默认只能控制一句代码

                 eg:if(0 == a)

                         printf(“你好”);

                         printf(“你干嘛~”);

                         else

                         {

                           printf(“两年半”);

                           }

结合2.和3.来看,先看3,if后面只控制一行,则你干嘛那一行是不属于if控制,归属新的,这就导致了else,脱离了if,也就是2.,则程序报错,所以使用if尽量加上{}。

            ch >= 'a' && ch <= 'z'
            ch >= 'A' && ch <= 'Z'

        ch是字母:
            (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')

        ch不是字母:
            !(ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')

        练习:
            从终端接收两个分别给Num1和Num2 
            如果第一个数比第二个数大则直接打印第一个数
            如果第一个数没有第二个数大则两个数交换后打印第一个数

        int Num1 = 10;
        int Num2 = 20;

        Num1 = Num2;
        Num2 = Num1;

需要加上中转量,可以理解为两杯水,需要互换不能直接倒,需要引入第三方作为临时存储的,

则为

        int Num1 = 10;
        int Num2 = 20;

        int  num3 = 0;

         num3 = Num1;

        Num1 = Num2;
        Num2 = num3;

        if简单分支可以与三目运算符等价转换
 

  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值