scanf函式是乙個標準庫函式,其函式原型在標頭檔案「stdio.h」中,與printf函式相同,c語言也允許在使用scanf函式之前不必包含stdio.h檔案。
scanf(「格式控制字串」,位址列表);
一、格式字串
一般形式:%[*][輸入資料寬度][長度]型別
其中: [ ]中 的項為任意項。
1)、型別:
格式 字元意義
d 輸入十進位制整數
o 輸入八進位制整數
x 輸入十六進製制整數
u 輸入無符號十進位制整數
f或e 輸入實型書(小數形式或指數形式) printf( ) %f輸出 保留6位小數
c 輸入單個字元
s 輸入字串
2)、「*」符:用以表示該輸入項,讀入後不賦予相應的變數,即跳過該輸入值。
如:scanf(「%d%*d%d」,&a,&b);
當輸入為:1 2 3時,把1賦予a,2被跳過,3賦予b
3)、寬度: 用十進位制整數制定輸入的寬度(即字元數)
如:scanf(「%5d」,&a);
輸入:12345678 a的最終結果為 12345
scanf(「%4d %4d」,&a,&b);
輸入:12345678 將把1234賦予a,把5678賦予b
4)、長度:長度格式符為l和h,l表示輸入長整形資料(如%ld)和雙精度浮點數(如 %lf)。h表示輸入短整型資料。(%hd %hf)
二、使用scanf() 必須注意下面幾點:
1)、 scanf 函式中沒有精度控制,如:scanf(「%5.2f」,&a); 是非法的。不能用此語句輸入小數為2位的實數。
2)、在從鍵盤輸入多個數值資料時,若格式控制串中沒有非格式字元作輸入資料之間的間隔則可用空格,tab或回車作間隔。
c編譯在碰到空格,tab,回車或非法資料(如 對」%d「輸入」12a「時,a即為非法資料)時即認為該資料結束。
3)、在輸入字元資料時,若格式控制串中無非格式字元,則認為所有輸入的字元均為有效字元。【
總之,程式在讀入字元型資料(整型等型別無所謂)時,空格也被認為是字元資料】
例如:scanf(「%c%c%c」,&a,&b,&c);
輸入為:d e f 時
則把d 賦予 a ;把空格賦予b;把e 賦予 c
只有當輸入為:def時,
才能把d賦予a,把 e賦予b,f賦予c
如果在格式控制中加上空格作為間隔,
如scanf(「%c %c %c」,&a,&b,&c);
則輸入各資料之間可加空格
demo1: 將小寫字母轉換為大寫字母
/*小寫字母轉換為大寫字母*/
demo2: 輸出各種資料型別的位元組長度
#include /*輸出各種資料型別的位元組長度*/
demo3: 輸入三角形的三邊長,求三角形面積
demo4: 求ax^2+bx=c=0
方程的根,
a,b,c
由鍵盤輸入,設
當用double型別時,一定要用%lf 格式。
14-08-27新增
定義乙個整型變數ic,輸入ic的值,將變數以字元形式輸出。 注意輸入使用scanf輸入,
比如:輸入 97 輸出為a
輸入 98 輸出為b
關於此題目,自己竟然想得極其複雜!採用陣列裝載26個字母,如輸出小寫字母:printf("%c",ch[cin-97]);
其實,無論字元轉數字,還是數字轉字元,都可以採用直接輸出的方式!控制輸出格式就行
#include int main(void)
格式化輸入與輸出
格式化輸入與輸出 printf 格式控制 輸出列表 1 格式控制 是用雙撇號括起來的字串,通常也叫 轉換控制字串 它包括兩種資訊。a 格式說明。格式說明由 和格式字元組成,如 d f 等,作用是將輸出的資料轉換成指定的格式輸出。格式說明總是由 字元開始。b 普通字元。普通字元即需要原樣輸出的字元。2...
輸入與輸出 格式化輸出
str 與repr 對於字串 兩方法作用結果有差異 對於列表,元組,字典等 兩方法輸出一致 s hello n print str s print repr s a 1,2,3,4 print str a print repr a 輸出 hello hello n 1,2,3,4 1,2,3,4 平...
Python 輸入與輸出 格式化輸出
var print s吃了 d s s 你 10,碗 公尺 你吃了10碗公尺 format var print 吃了 format 你 10 碗 公尺 你吃了10碗公尺 f print f 吃了 你吃了10碗公尺 附加說明 input 可選引數 返回 str 可選引數說明 the prompt st...