欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-16 10:18:05
1. scanf()函数 (Scan Format) + 函数原型: + 函数作用:从标准输入流 stdin (标准输入设备,一般指向键盘)读取输入,并根据提供的 format 来浏览输入; + 注意点:该函数的返回值是成功读入的数据项数(int 类型),当遇到了“文件结束”则返回EOF; + 举例 ......
  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


参考文档:


上一篇: dispatch

下一篇: 人工智能