1. 程式人生 > >C-學習筆記2

C-學習筆記2

資料的輸入輸出

        C語言沒有自己的輸入/輸出語句,但它提供了豐富的輸入/輸出標準庫函式。由於標準輸入/數出庫函式是在標頭檔案stdio.h中定義的,因此,在使用這些庫函式之前,要用於預編譯命令#include將“標頭檔案”包括到原始檔中:

           #include "stdio.h"或#include <stdio.h>

           a.字元資料的輸入與輸出

                (1).字元輸出

                       putchar是字元輸出函式,它的功能是在顯示器上輸出單個字元。它在stdio.h標頭檔案中宣告的格式為:

                       int putchar(int c);

                     其中引數c為一個整型值,正常結束後返回值為輸出的字元,如果發生錯誤或者檔案結束返回EOF(End of File);c一般為介於0到127的十進位制整數,輸出對應的ASCII碼值得字元。

                     例如:putchar(65);    輸出的結果為A,因為字元A的ASCII碼對應為65。

                     但是,由於ASCII數值難於記憶,該函式用法的一般格式為:

                     putchar(形式引數);

                     格式中的形式引數可以使字元常量、字元變數或者是表示式。

                     例如:

                             putchar('A');    --> A

                             putchar('x');    --> x

                             putchar('\101')   101為8進位制的65,輸出結果為A

                             putchar("\n")     換行

                             putchar('\t')      輸出Tab

            (2).字元輸入

                     getchar函式是字元輸入函式,它的功能是使用者從鍵盤上輸入一個字元,函式接受這個字元的輸入,它在stdio.h標頭檔案中宣告的格式為:

                      int getchar(void);

                      例如:

                         char c;

                         c = getchar();

        b.格式輸入與輸出

              (1).printf函式的基本格式

                      printf函式是一個標準庫函式,它在標頭檔案stdio.h中宣告的格式如下:

                      int printf(char*format[,argument]...);

                      其中,format為格式控制字串,用於指定輸出格式,argument為輸出項,可以有多個,用逗號隔開。

                     格式控制字串包括兩部分內容:一部分是普通字元或轉義字元,這些字元按原樣輸出,它通常用於在程式執行時給使用者有關提示資訊,或對輸出資訊做有關的註釋或說明;另一部分是格式控制字元,以%開頭,後跟一個或幾個字元,它在格式控制字元中用來佔位,並將在該位置用格式字元確定的格式輸出列表對應的輸出項。

                     printf的格式控制的完整格式是:

                            % - 0 m. n l

                          ①%: 表示格式說明的起始符號

                          ②-: 有-表示左對齊輸出,如省略表示右對齊輸出

                          ③0: 有0表示指定空位填0,如省略表示指定空位不填

                        ④m. n: m指域寬,即對應的輸出項在輸出裝置上所佔的字元數。n指精度。用於說明輸出的實型數的小數位數。未指定n時,隱含的精度為n=6位。

                          ⑤l或h: l對整型指long型,對實型指double型。h用於將正行的格式字元修正為short型。

printf函式中的部分格式控制字元
 格式字元                                            意義
      d,i 以十進位制形式輸出帶符號整數(正數不輸出符號)
       u 以十進位制形式輸出無符號整數
       o 以八進位制形式輸出無符號整數(不輸出字首0)
     x,X 以十六進位制形式輸出無符號整數(不輸出字首Ox),用x則輸出十六進位制數的a~f小寫字母輸出,用X則輸出十六進位制數的A~F大寫字母輸出
       f 以小數形式輸出單、雙精度實數,隱含輸出6為小數
     e,E 以指數形式輸出單、雙精度實數
     g,G 以%f或%e較短的輸出寬度輸出單、雙精度實數,不輸出無意義的0.用G時,若以指數形式輸出,則指數以大寫表示
       c 以字元形式輸出,只輸出單個字元
       s 輸出字串,直到遇到"\0"。若字串長度超過指定的精度,則自動突破,不會截斷字串
    %% 輸出%本身
       p 輸出變數的記憶體地址

               (2).scanf函式的基本格式

                      格式輸入函式scanf按使用者指定的格式從鍵盤上把資料輸入到指定的變數之中,是一個標準庫函式,它在標頭檔案stdio.h中宣告的格式如下:

                             int scanf(char*format[,argument]...);

                             例如:scanf("%d %d %d",&a,&b,&c);

                       注:在VS2017中,scanf已經不再安全,會顯示error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

                                  在程式最開頭新增巨集

                                  #define _CRT_SECURE_NO_WARNINGS

                                 即可解決