C語言程式設計--輸入與輸出
阿新 • • 發佈:2019-01-07
C語言的輸入
所有的輸入都是依賴於C語言函式進行的,這個函式是C語言標準庫自帶的,定義在標頭檔案<stdio.h>裡面,所以,要想使用與輸入相關的函式,都需要包含這個標頭檔案
#include <stdio.h>
輸入函式gets
這是一個獲取輸入字串的函式,其定義如下文,作用是從 stdin 讀取一行到 s 所指向的緩衝區,直到一個終止符或 EOF。
char * gets(char * string){...}
試驗gets
程式碼如下文
#include <stdio.h> #define BANNER "Please input:" int main(void){ char string[100]; printf(BANNER); gets(string); puts(string); return 0; }
很簡單,但是不推薦,因為gets是不安全的,他可以輸入任意長度的字元,可以覆蓋超過變數定義支援的長度,緩衝區溢位風險大。
輸入函式getchar
這是一個獲取輸入字元的函式,其定義如下文,作用是從螢幕讀取下一個可用的字元,並把它返回為一個整數。這個函式在同一個時間內只會讀取一個單一的字元。您可以在迴圈內使用這個方法,以便從螢幕上讀取多個字元。
int getchar(void){...}
試驗getchar
程式碼如下文
#include <stdio.h> #define BANNER "Please input:" int main(void){ char string; printf(BANNER); string = getchar(); putchar(string); return 0; }
不推薦,因為獲取多個字元輸入會很麻煩。
輸入函式scanf
這是一個獲取輸入特定資料型別的函式,其定義如下文,函式從標準輸入流 stdin 讀取輸入,並根據提供的 format 來瀏覽輸入。
int scanf(const char *format, ...){}
試驗scanf
程式碼如下文
#include <stdio.h> #define BANNER "Please input:" int main(void){ char input_char; int input_int; char input_string[100]; float input_float; double input_double; printf(BANNER); scanf("%d", &input_int); printf("%d\n", input_int); printf(BANNER); scanf("%c", &input_char); printf("%c\n", input_char); printf(BANNER); scanf("%s", input_string);//這裡只能是陣列,因為如果是char *,則不知道大小,會發生段錯誤,這裡使用&input_string 效果一樣,但是會有warning,不推薦, printf("%s\n",input_string); printf(BANNER); scanf("%f", &input_float); printf("%f\n", input_float); printf(BANNER); scanf("%lf", &input_double); printf("%lf\n", input_double); return 0; }
C語言的輸出
所有的輸出都是依賴於C語言函式進行的,這個函式是C語言標準庫自帶的,定義在標頭檔案<stdio.h>裡面,所以,要想使用與輸出相關的函式,都需要包含這個標頭檔案
#include <stdio.h>
輸出函式puts
函式把字串 s 和一個尾隨的換行符寫入到 stdout。
int puts(const char *s){...}
試驗puts
在試驗gets中試驗過了puts
輸出函式putchar
函式把字元輸出到螢幕上,並返回相同的字元。這個函式在同一個時間內只會輸出一個單一的字元。您可以在迴圈內使用這個方法,以便在螢幕上輸出多個字元。
int putchar(int c){...}
試驗putchar
在試驗getchar中試驗過了putchar
輸出函式printf
函式把輸出寫入到標準輸出流 stdout ,並根據提供的格式產生輸出。
int printf(const char *format, ...){...}
試驗printf
在試驗scanf中試驗過了printf
附錄:標準化輸入輸出的格式:
資料格式型別 | 輸入輸出的型別識別符號 |
---|---|
十進位制整數 | %d |
字元型 | %c |
整數 | %i |
浮點數 | %e, %f, %g |
八進位制數 | %o |
字串 | %s |
十六進位制書 | %x |
指標 | %p |
一個等於讀取字元數量的整數 | %n |
一個無符號整數 | %u |