<address id="9d9v3"></address>
        <form id="9d9v3"></form><listing id="9d9v3"><nobr id="9d9v3"><progress id="9d9v3"></progress></nobr></listing>
          <noframes id="9d9v3"><form id="9d9v3"></form>

          <address id="9d9v3"></address>

          <span id="9d9v3"><nobr id="9d9v3"><meter id="9d9v3"></meter></nobr></span>
          <address id="9d9v3"></address>
          <form id="9d9v3"><nobr id="9d9v3"></nobr></form>

          直播帶貨服務

          計算機getc0與putc0應用案例

          案例描述】

          編程實現:輸入若干個ASCII碼字符(按回車鍵結束),統計數字、英文字母的個數。

          輸入:Ab,45Eey 8#

          輸出:數字3個、英文字母5個

          計算機getc0與putc0應用案例

          案例分析】

          1、數字的ASCII碼值為[48,57]上的整數。

          2、英文字母的ASCII碼值為[65,90]和[97,122]上的整數。

          3、getc和scanf函數均從輸入緩沖區中讀取數據。當輸入緩沖區為空時,函數會暫停,等待輸入(所有輸入均存入輸入緩沖區),當讀到回車符時,輸入結束,函數從輸入緩沖區讀取數據,程序繼續執行。

          4、盡管getc(stdin)只能從輸入緩沖區讀取一個字符,但輸入時用戶可以輸入多個字符,直到按回車符,getc(stdin)才開始從輸入緩沖區讀取字符。例如:執行以下代碼的流程是:

          main()

          { int n=0;

            while(getc(stdin)!='\n')n++;

            printf("%d",n);}


          (1)執行語句int n=0;

          (2)執行getc函數,從輸入緩沖區讀取一個字符。這時輸入緩沖區為空,程序暫停,等待輸入。

          (3)如果輸入"ab"后回車,這時輸入緩沖區存儲的是"ab\n"

          (4)getc函數從緩沖區讀取字符"a"

          (5)輸入緩沖區自動刪除讀取的字符,這時輸入緩沖區存儲的是"b\n"

          (6)執行"getc(stdin)!='\n'。條件成立,執行"n++"

          (7)執行getc函數,直接從輸入緩沖區讀取字符"b"(不再等待輸入)

          (8)輸入緩沖區自動刪除讀取的字符,這時輸入緩沖區存儲的是"\n"

          (9)執行"getc(stdin)!='\n'。條件成立,執行"n++"

          (10)執行getc函數,直接從輸入緩沖區讀取字符"\n"(不再等待輸入)

          (11)輸入緩沖區自動刪除讀取的字符,這時輸入緩沖區為空

          (12)執行"getc(stdin)!='\n'。條件不成立,循環結束

          (13)執行"printf("%d",n);",輸出n的值,程序結束

          計算機getc0與putc0應用案例

          【參考代碼

          #include<stdio.h>

          main() 

          { int c,n=0,s=0;

            while((c=getc(stdin))!='\n')

                 if(c>=48&&c<=57)n++;

             else if((c>=65&&c<=90)||(c>=97&&c<=122))s++;

            printf("數字%d個,英文字母%d個",n,s);

          }


          © Copyright 六六互聯.Some Rights Reserved.www.ic.vip
          真正国产乱子伦高清对白