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



參考文檔:菜鳥教程 百度百科




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM