C語言複習 輸入輸出

2021-09-23 20:19:10 字數 1408 閱讀 5010

c語言輸出

puts();:只能輸出字串,在結束後自動換行。

putchar();:輸出單個字元。

printf();:可是通過格式控制符輸出各種型別的資料,是最靈活、最複雜、最常用的輸出函式。

1>type表示輸出型別。

2>flag是標誌字元。

符號作用

"- "

表示左對齊,預設右對齊

「+」用於整數或者小數,表示輸出符號(正負號)

" "用於整數或者小數,輸出值為正時冠以空格,為負時冠以負號。

「#」對於八進位制和十六進製制,表示在輸出前新增字首。對於小數,強迫輸出小數點。

「0」用前導0來代替空格填充字段寬度

3>width表示輸出寬度。當輸出的結果不足width,以空格補齊。否則,width無作用。

4>.precision 表示輸出精度,也就是小數的位數。 原輸出資料不足設定精度,四捨五入捨棄剩餘位。否則,在其後補0.

c語言輸入

scanf() 可以一次性讀取多份型別相同或者不同的資料,getchar()、getche()、getch() 和 gets() 每次只能讀取乙份特定型別的資料,不能一次性讀取多份資料。

主要寫scanf的知識點

其中, 表示可有可無。各個部分的具體含義是:

type表示讀取什麼型別的資料,例如 %d、%s、%[a-z]、%[^\n] 等;type 必須有。

width表示最大讀取寬度,可有可無。

*表示丟棄讀取到的資料,可有可無。

scanf高階用法

1>指定讀取長度

在格式控制符的中間加乙個數字,用來表示讀取資料的最大長度。

作用:限制讀取資料的長度在實際開發中非常有用,最典型的乙個例子就是讀取字串:我們為字串分配的記憶體是有限的,使用者輸入的字串過長就存放不了了, 就會沖刷掉其它的資料,從而導致程式出錯甚至崩潰;如果被黑客發現了這個漏洞,就可以構造棧溢位攻擊,改變程式的執行流程,甚至執行自己的惡意**,這對伺服器來說簡直是滅頂之災。

2>匹配特定的字元(可以使用連線符)

高階用法示例:

讀取一行不能包含十進位制數字的字串,並且長度不能超過30

ex:scanf("%30[^0-9\n]", str);

scanf的返回值

返回值為成功讀取的項數。

主要用法:利用返回值,用if語句和while語句,檢測和處理不匹配的輸入。

「*」修飾符(修改轉換說明的含義)

把「*」放在%和轉換字元之間,會使得scanf跳過相應的輸入項,,也就是此次輸出無效,將這次輸入的值賦給下乙個變數。

scanf轉換說明

C語言複習(一) 輸入輸出

小寫英文本母的轉義字元比對應的大寫字母大32 printf 格式轉換說明 d 十進位制整數 u 無符號 c 輸出字元 s 輸出字串 f 浮點數。單精度有效位數一般為7位,雙精度有效位數一般為16位 printf 的格式修飾符 l 修飾d,o,x,u,用於輸出long型資料 l 修飾f,e,g,用於輸...

C語言輸入輸出

i o函式 printf 和scanf 輸出程式 函式的呼叫是在c語言標頭檔案 stdio.h 中包含這些像printf 輸入輸出 printf 一般形式如下 printf 格式化字串 輸出參數列 鍵盤輸入函式 顯示器輸出函式printf putchar puts 磁碟檔案操作creatnew 建立...

C語言 輸入 輸出

當我們提到輸入時,這意味著要向程式填充一些資料。輸入可以是以檔案的形式或從命令列中進行。c 語言提供了一系列內建的函式來讀取給定的輸入,並根據需要填充到程式中。當我們提到輸出時,這意味著要在螢幕上 印表機上或任意檔案中顯示一些資料。c 語言提供了一系列內建的函式來輸出資料到計算機螢幕上和儲存資料到文...