c++输出小数点后几位_2.1 怎么在屏幕上输出各种类型的数据
在《C語(yǔ)言在屏幕上顯示內(nèi)容》一節(jié)中,我們使用 puts 來(lái)輸出字符串。puts?是 output string 的縮寫,只能用來(lái)輸出字符串,不能輸出整數(shù)、小數(shù)、字符等,我們需要用另外一個(gè)函數(shù),那就是?printf。printf?比 puts 更加強(qiáng)大,不僅可以輸出字符串,還可以輸出整數(shù)、小數(shù)、單個(gè)字符等,并且輸出格式也可以自己定義。
printf 是 print format 的縮寫,意思是“格式化打印”。這里所謂的“打印”就是在屏幕上顯示內(nèi)容,與“輸出”的含義相同,所以我們一般稱 printf 是用來(lái)格式化輸出的。我們先來(lái)打印一下公眾號(hào)名稱:
printf("C語(yǔ)言Plus");這個(gè)語(yǔ)句可以在屏幕上顯示“C語(yǔ)言Plus”,與puts("C語(yǔ)言Plus");的效果類似。
輸出變量 abc 的值,還記得上節(jié)課說(shuō)的int型變量吧!就是整數(shù)
int abc=666;printf("%d", abc);
這里就比較有趣了。先來(lái)看%d,d 是?decimal 的縮寫,意思是十進(jìn)制數(shù),%d 表示以十進(jìn)制整數(shù)的形式輸出。輸出什么呢?輸出變量 abc 的值。%d 與 abc 是對(duì)應(yīng)的,也就是說(shuō),會(huì)用 abc 的值來(lái)替換 %d。
再來(lái)看個(gè)復(fù)雜點(diǎn)的:
int abc=666;printf("The value of abc is %d !", abc);
會(huì)在屏幕上顯示:The value of abc is 666 !你看,字符串 "The value of abc is %d !" 中的 %d 被替換成了 abc 的值,其他字符沒有改變。這說(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稱為格式控制符,它指明了以何種形式輸出數(shù)據(jù)。格式控制符均以%開頭,后跟其他字符。%d?表示以十進(jìn)制形式輸出一個(gè)整數(shù)。除了 %d,printf 支持更多的格式控制,例如:
%c:輸出一個(gè)字符。c 是?character 的簡(jiǎn)寫。
%s:輸出一個(gè)字符串。s 是 string 的簡(jiǎn)寫。
%f:輸出一個(gè)小數(shù)。f 是 float 的簡(jiǎn)寫。
特別注意的是,輸出數(shù)據(jù)的時(shí)候一定要按對(duì)應(yīng)格式輸出,否則會(huì)出錯(cuò),簡(jiǎn)單的測(cè)試下!
不按格式輸出,代碼能運(yùn)行,但是輸出的數(shù)據(jù)是完全看不懂啊!所以要小心哦!除了這些,printf 支持更加復(fù)雜和優(yōu)美的輸出格式,考慮到讀者的基礎(chǔ)暫時(shí)不夠,我們?cè)诤竺媛搿N覀儼汛a補(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", n, c, money);
return 0;
}
輸出結(jié)果:n=100, c=@, money=93.959999要點(diǎn)提示:1)?\n是一個(gè)整體,組合在一起表示一個(gè)換行字符。換行符是 ASCII 編碼中的一個(gè)控制字符,無(wú)法在鍵盤上直接輸入,只能用這種特殊的方法表示,被稱為轉(zhuǎn)義字符,請(qǐng)大家暫時(shí)先記住\n的含義。
所謂換行,就是讓文本從下一行的開頭輸出,相當(dāng)于在編輯 Word 或者 TXT 文檔時(shí)按下回車鍵。puts 輸出完成后會(huì)自動(dòng)換行,而 printf 不會(huì),要自己添加換行符,這是 puts 和 printf 在輸出字符串時(shí)的一個(gè)區(qū)別。2)?//后面的為注釋。注釋用來(lái)說(shuō)明代碼是什么意思,起到提示的作用,可以幫助我們理解代碼。注釋雖然也是代碼的一部分,但是它并不會(huì)給程序帶來(lái)任何影響,編譯器在編譯階段會(huì)忽略注釋的內(nèi)容,或者說(shuō)刪除注釋的內(nèi)容。3) money 的輸出值并不是 93.96,而是一個(gè)非常接近的值,這與小數(shù)本身的存儲(chǔ)機(jī)制有關(guān),這種機(jī)制導(dǎo)致很多小數(shù)不能被精確地表示,即使像 93.96 這種簡(jiǎn)單的小數(shù)也不行。
那么如果我不要輸出那么多小數(shù)位該怎么辦呢?比如說(shuō)我只需要保留兩位小數(shù),看下面代碼!加上0.2就是保留小數(shù)點(diǎn)后面兩位
我們也可以不用變量,將數(shù)據(jù)直接輸出:
#include
int main()
{
float money = 93.96;
printf("n=%d, c=%c, money=%f\n", 100, '@', money);
return 0;
}
輸出結(jié)果與上面相同。在以后的編程中,我們會(huì)經(jīng)常使用 printf,說(shuō)它是C語(yǔ)言中使用頻率最高的一個(gè)函數(shù)一點(diǎn)也不為過(guò),每個(gè)C語(yǔ)言程序員都應(yīng)該掌握 printf 的用法,這是最基本的技能。不過(guò) printf 的用法比較靈活,也比較復(fù)雜,初學(xué)者知識(shí)儲(chǔ)備不足,不能一下子掌握,目前大家只需要掌握最基本的用法,以后隨著編程知識(shí)的學(xué)習(xí),我們會(huì)逐步介紹更加高級(jí)的用法,最終讓大家完全掌握 printf。
本節(jié)講到的 puts、printf,以及后面要講到的 fprintf、fputs 等與字符串輸出有關(guān)的函數(shù),都支持這種寫法。
總結(jié)
以上是生活随笔為你收集整理的c++输出小数点后几位_2.1 怎么在屏幕上输出各种类型的数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: @retention注解作用_分分钟带你
- 下一篇: vc2010中开始执行不调试灰的_消防水