- 相關(guān)推薦
在屏幕上輸出各種類(lèi)型的數(shù)據(jù)
以一個(gè)標(biāo)準(zhǔn)規(guī)格寫(xiě)出的C語(yǔ)言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱(chēng)MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。下面是小編分享的在屏幕上輸出各種類(lèi)型的數(shù)據(jù),歡迎大家參考!
我們使用 puts 來(lái)輸出字符串。puts 是 output string 的縮寫(xiě),只能用來(lái)輸出字符串,不能輸出整數(shù)、小數(shù)、字符等,我們需要用另外一個(gè)函數(shù),那就是 printf。
printf 比 puts 更加強(qiáng)大,不僅可以輸出字符串,還可以輸出整數(shù)、小數(shù)、單個(gè)字符等;輸出格式也可以自己定義,例如:
以十進(jìn)制、八進(jìn)制、十六進(jìn)制形式輸出;
要求輸出的數(shù)字占 n 個(gè)字符的位置;
控制小數(shù)的位數(shù)。
printf 是 print format 的縮寫(xiě),意思是“格式化打印”。這里所謂的“打印”就是在屏幕上顯示內(nèi)容,與“輸出”的含義相同,所以我們一般稱(chēng) printf 是用來(lái)格式化輸出的。
先來(lái)看一個(gè)簡(jiǎn)單的例子:
printf("C語(yǔ)言中文網(wǎng)");
這個(gè)語(yǔ)句可以在屏幕上顯示“C語(yǔ)言中文網(wǎng)”,與puts("C語(yǔ)言中文網(wǎng)");的效果類(lèi)似。
輸出變量 abc 的值:
int abc=999;
printf("%d", abc);
這里就比較有趣了。先來(lái)看%d,d 是 decimal 的縮寫(xiě),意思是十進(jìn)制數(shù),%d 表示以十進(jìn)制的形式輸出。輸出什么呢?輸出變量 abc 的值。%d 與 abc 是對(duì)應(yīng)的,也就是說(shuō),會(huì)用 abc 的值來(lái)替換 %d。
再來(lái)看個(gè)復(fù)雜點(diǎn)的:
int abc=999;
printf("The value of abc is %d !", abc);
會(huì)在屏幕上顯示:
The value of abc is 999 !
你看,字符串 "The value of abc is %d !" 中的 %d 被替換成了 abc 的值,其他字符沒(méi)有改變。這說(shuō)明 %d 比較特殊,不會(huì)原樣輸出,會(huì)被替換成對(duì)應(yīng)的變量的值。
再來(lái)看:
int a=100;
int b=200;
int c=300;
printf("a=%d, b=%d, c=%d", a, b, c);
會(huì)在屏幕上顯示:
a=100, b=200, c=300
再次證明了 %d 與后面的變量是一一對(duì)應(yīng)的,第一個(gè) %d 對(duì)應(yīng)第一個(gè)變量,第二個(gè) %d 對(duì)應(yīng)第二個(gè)變量……
%d稱(chēng)為格式控制符,它指明了以何種形式輸出數(shù)據(jù)。格式控制符均以%開(kāi)頭,后跟其他字符。%d 表示以十進(jìn)制形式輸出一個(gè)整數(shù)。除了 %d,printf 支持更多的格式控制,例如:
%c:輸出一個(gè)字符。c 是 character 的簡(jiǎn)寫(xiě)。
%s:輸出一個(gè)字符串。s 是 string 的簡(jiǎn)寫(xiě)。
%f:輸出一個(gè)小數(shù)。f 是 float 的簡(jiǎn)寫(xiě)。
除了這些,printf 支持更加復(fù)雜和優(yōu)美的輸出格式,考慮到讀者的基礎(chǔ)暫時(shí)不夠,我們將在《C語(yǔ)言數(shù)據(jù)輸出大匯總以及輕量進(jìn)階》一節(jié)中展開(kāi)講解。
我們把代碼補(bǔ)充完整,體驗(yàn)一下:
#include int main(){ int n = 100; char c = '@'; //字符用單引號(hào)包圍,字符串用雙引號(hào)包圍 float money = 93.96; printf("n=%d, c=%c, money=%f ", n, c, money); return 0;}
輸出結(jié)果:
n=100, c=@, money=93.959999
要點(diǎn)提示:
1) 表示換行,在《C語(yǔ)言轉(zhuǎn)義字符》一節(jié)中有具體講解。puts 輸出完成后會(huì)自動(dòng)換行,而 printf 不會(huì),要自己添加換行符。
2) //后面的為注釋。注釋用來(lái)說(shuō)明代碼是什么意思,讓我們閱讀更加方便,它也是代碼的一部分。編譯器會(huì)忽略注釋內(nèi)容。我們將在《C語(yǔ)言標(biāo)識(shí)符、關(guān)鍵字和注釋》一節(jié)中詳細(xì)講解。
3) money 的輸出值并不是93.96,而是一個(gè)非常接近的值,這與小數(shù)的存儲(chǔ)有關(guān),我們將在《小數(shù)在內(nèi)存中是如何存儲(chǔ)的》一節(jié)詳細(xì)介紹。
我們也可以不用變量,直接將數(shù)據(jù)輸出:
#include int main(){ float money = 93.96; printf("n=%d, c=%c, money=%f ", 100, '@', money); return 0;}
輸出結(jié)果與上面相同。
【腦筋急轉(zhuǎn)彎】%ds輸出什么
%d 輸出整數(shù),%s 輸出字符竄,那么 %ds 輸出什么呢?
%ds 輸出整數(shù),并在后面添加一個(gè)字符 's'。因?yàn)?%d 是格式字符串,%ds 在一起沒(méi)有意義,'s' 僅僅是在 %d 后面的一個(gè)普通字符。請(qǐng)看下面的例子:
#include int main(){ int a=1234; printf("a=%ds ", a); return 0;}
運(yùn)行結(jié)果:
a=1234s
【在屏幕上輸出各種類(lèi)型的數(shù)據(jù)】相關(guān)文章:
C語(yǔ)言數(shù)據(jù)輸出及輕量進(jìn)階01-31
C語(yǔ)言數(shù)據(jù)的輸入輸出復(fù)習(xí)08-11
C語(yǔ)言在屏幕上顯示內(nèi)容08-13
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)鏈表逆序并輸出06-23
2015職稱(chēng)計(jì)算機(jī)考試《VB》復(fù)習(xí)重點(diǎn):數(shù)據(jù)輸出02-27
如何將手機(jī)屏幕鏈接到投影儀上01-10
電腦屏幕閃爍與屏幕抖動(dòng)怎么辦02-07
怎么在屏幕截圖11-21