zoukankan      html  css  js  c++  java
  • C语言的输入输出操作函数小结

    一.scanf()&printf()函数

      scanf() 函数用于从标准输入(键盘)读取并格式化, printf() 函数发送格式化输出到标准输出(屏幕)。  scanf()函数原型为int scanf( char const* const _Format, ...),printf()函数原型为int printf(char const* const _Format, ...)。 scanf()和printf()是格式化输入通过%d,%s,%c等限定输入/输出的类型及格式,因此书写需要格外注意格式和类型,scanf()后面的变量需要取变量的地址。出于安全考虑,一般用scanf_s()代替旧版scanf()函数。

    如下实例

    #include <stdio.h>
    
    int main()
    {
        int  c, d;
        printf("请输入数值:");
        scanf_s("%d %d", &c,&d);
        printf("输出结果为:");
        printf("%d %d
    ", c,d);
    return 0;
    }

    输出如下

    值得注意的是,当输入如下代码时

    #include <stdio.h>
    
    int main()
    {
        int  c;
        printf("请输入数值:");
        scanf_s("%d ", &c);    //    注意%d后面有个空格
        printf("输出结果为:");
        printf("%d
    ", c);
        return 0;
    }

    我们运行代码,得到下面输出界面

      我们原先输入10,按回车它并不会马上输出我们的结果,我们需要在输入一个非空格和非换行符,再按回车键才会输出我们的结果。因为scanf()函数里面的%d后面有个空格,所以他需要遇到非空格和换行符才会结束输入。

    二.getchar()&putchar()函数

      getchar()和putchar()函数是单个字符输入/输出函数,getchar有一个int型的返回值。当程序调用getchar时.程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的字符的ASCⅡ码,如出错返回-1,且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。

    代码实例

    #include <stdio.h>
    
    int main()
    {
        int c;
        printf("请输入一个字符:");
        c = getchar();
        printf("
    你的输入: ");
        putchar(c);
        printf("
    ");
        return 0;
    }

    输出结果

      当要输入多个字符并输出显示时,需要用到循环语句,可以利用getch()从键盘输入一串字符到缓冲区,字符输入以回车结束,回车字符同时存储在缓冲区,然后用putchar()读取缓冲区字符,设置条件遇到回车字符时结束即可。

    代码实例

    #include <stdio.h>
    
    int main()
    {
        int c;
        printf("请输入字符:");
        while ((c=getchar()) != '
    ')    //    向缓冲区输入字符,按回车时结束输入
        {        
            putchar(c);        //    读取缓冲区的字符
        }
        printf("
    ");
        return 0;
    }

    输出结果

      

      还有一个函数get()getchar()基本功能相同,差别是getch()直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch()就立刻返回,通常应用在游戏中。

    三.gets()&puts()函数

      gets()和puts()是文本行输入/输出函数。gets()从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取。出于安全考虑,一般用gets_s()代替gets()函数。

    代码实例

    #include <stdio.h>
    
    int main()
    {
        char str[100];
    
        printf("请输入文本:");
        gets_s(str);
    
        printf("你的输入为: ");
        puts(str);
        return 0;
    }

    输出结果

  • 相关阅读:
    MVVM模式和在WPF中的实现(一)MVVM模式简介
    C#中实现并发的几种方法的性能测试
    搞笑:儿子的日记,叔叔妈妈
    MSN头像中小黄鸭子是什么?
    某人分析的70后,80后,90后
    有趣的纹身
    百度首页人物logo第一期:许三多
    关于微软Windows未来的一点畅想
    我把最难的21个汉字写进一篇文章
    百度还可以这样玩!
  • 原文地址:https://www.cnblogs.com/maluning/p/7955760.html
Copyright © 2011-2022 走看看