C语言中常用的输入和输出函数

  1. scanf()函数(Scan Format)

    • 函数原型:int scanf(const char*format,...);
    • 函数作用:从标准输入流stdin(标准输入设备,一般指向键盘)读取输入,并根据提供的format来浏览输入;
    • 注意点:该函数的返回值是成功读入的数据项数(int 类型),当遇到了“文件结束”则返回EOF;
    • 举例:scanf("%d%d", &a,&b);
      • 如果a和b都被成功的读入,那么就会返回2;

      • 如果只有a被成功读入,或者只有b被成功读入,那么就会返回1;

      • 如果a和b都未被成功读入,那么就会返回0;

      • 如果遇到错误或者遇到end of file(end of file 是指ctrl+z或者ctrl+d),返回EOF。

  2. printf()函数(Print Format)

    • 函数原型:int printf(const char*format,...);

    • 函数作用:函数把输出写入到标准输出流stdout(标准输出设备,一般为屏幕),并根据提供的format来输出;

    • 注意点:该函数也是有返回值的,返回值是prinf()函数实际输出的字符个数;

    • 举例:

      • printf("%d",printf("123"));

        最终会打印1231,123为printf("123")打印的,1则是printf("123")的返回值;

      • printf("%d",printf("%d",printf("123")));

        最终会打印12331,123为最里层 printf("123")打印的结果,第二个3为 printf("123")的返回值,最后面那个1则为 printf("%d",printf("123"))的反回值;

      • printf("%d", printf("123 "));

        最终会打印123 4,中间会有一个空格,因为空格也算字符,所以最终返回4,而不是3。

  3. getchar()函数

    • 函数原型:int getchar(void);

    • 函数作用:getchar是读入函数的一种,它从标准输入流stdin读取一个字符,相当于getc(stdin);

    • 注意点:如果stdin有数据,那么它就可以直接读取了,第一次调用getchar()时,需要用户输入,但是如果你输了多个字符,下一次的getchar()再执行时就会直接从缓冲区中读取;

    • 举例:

      #include <stdio.h>
      int main()
      {
          int ch;
          ch = getchar();
          putchar(ch);
          return 0;
      }
      

    输入:abc 输出a;

  4. putchar()函数

    • 函数原型:int putchar(int c);

    • 函数作用:将指定的表达式的值所对应的字符输出到标准输出终端上,表达式可以是字符型或整型,它每次只能输出一个字符。

    • 注意点:

      • 当c为一个被单引号(英文状态下)引起来的字符时,输出该字符;
      • 当c为一个介于0~127ASCII码的取值范围)之间的十进制整型数时,它会被视为对应字符的ASCII代码,输出该ASCII代码对应的字符;
      • 当c为一个事先用char定义好的字符型变量时,输出该变量所指向的字符。
      • 当输出正确时,返回输出字符的ASCII码
      • 当输出错误时,返回EOF文件结束符
    • 举例:

      #include <stdio.h>
      int main( )
      {
      
          char ch = 'o';
          int num = 109;
          
          putchar('T');
          putchar(ch);
          putchar(num);
          return 0;
      }
      

    输出:Tom

  5. gets函数

    • 函数原型:char *gets(char *s);

    • 函数作用:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在字符数组中,读取的换行符会被转换为'\0',由此来结束字符串;

    • 注意点:读入成功时,返回接收读取结果的字符数组的首地址,读入发生错误或遇到EOF返回NULL;

    • 举例:

      #include <stdio.h>
      #include <stdlib.h>
      int main( )
      {
      
          char *str;
          str = (char *)malloc(20*sizeof(char));
          gets(str);
          puts(str);
          free(str);
          return 0;
      }
      

      输入:TomHe789 输出:TomHe789

  6. puts函数

    • 函数原型:int puts(const char *s);

    • 函数作用:该函数用来向标准输出设备stdout(屏幕)输出字符串并换行;

    • 注意点:

      • 该函数只能输出字符串,不能输出其他类型数值;
      • 执行成功返回非负数,执行失败返回EOF;
    • 举例:

      #include <stdio.h>
      int main( )
      {
          char *str = "TomHe789";
          puts(str);
      
          return 0;
      }
      

      输出:TomHe789



参考文档:菜鸟教程 百度百科



posted @ 2020-03-11 15:58  陈太浪  阅读(2279)  评论(0编辑  收藏  举报