输入输出函数以及流程控制(C语言基础)

1. printf

"printf()"函数,可以打印非输出控制符,打印单个输出控制符,打印多个输出控制符。

        1.打印非输出控制符

        键上可见的就不做介绍了,其中比较隐晦的有

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

        空格也是字符。

        2.打印单个输出控制符

        输出控制符有

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

        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位有效数字

2.scanf

scanf可以接收非输入控制符,可以接收输入控制符,可以接收多个输入控制符。

        1.接收非输入控制符

        scanf("m");

         只有输入一个'm' 才能被scanf函数接收

        2.接受输入控制符

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

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

这样一个例子,我自己遇到的。

char ch[32]={0};

scanf("%s",ch);

puts(ch);

gets(ch)

printf("%s",ch);

输入一个hello world猜猜结果是什么

输入:hello world回车

结果:

hello

空格world

我个人理解,按回车键后,hello world+回车键被送入了标准输入流中,scanf的%s不接受空格和\n,所以只接受完hello就执行完毕了,所以puts就打印出了hello,而且puts会自动输出一个\n来换行,轮到gets来执行了,但我们已经不能输入了,说明get执行了而且后边的printf打印出了空格world,未被 scanf接收的空格world和回车还留在输入数据流中,就被gets一并接收了,因为gets检测到了末尾的回车,所以就直接执行完毕了。最后由printf打印。      

     

        接收一个整形数,存入n中,"&n"代表取n的地址,"&" 是取地址符。

        3.接收多个输入控制符

3.流程控制
    1.顺序结构
        从main函数开始执行,执行到main结束 

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

                注意:
                    1.if后面必须加判断条件 else不能加判断条件
                    2.if可以脱离else单独使用,但是else不能脱离if单独使用
                    3.if和else不加括号,默认控制一句代码,为了保证程序不出错,
                      一句代码也要加括号
4. 逻辑表达式
            1.关系运算符
                >       大于
                <       小于
                >=      大于等于
                <=      小于等于
                ==      等于
                !=      不等于

                3 > 5       假
                3 < 5       真  
                5 >= 3      真
                Num <= 5    
                3 == 5      假 
                5 == Num 
                Num != 5    
5.逻辑运算符
                &&  逻辑与          一假为假,全真为真       既..又..
                ||  逻辑或          一真为真,全假为假       要么..要么..
                !   逻辑非          真取非得加,假取非得真   

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

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

       

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值