在螢幕上輸出各種型別的資料
以一個標準規格寫出的C語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱MCU)以及超級電腦等作業平臺。下面是小編分享的在螢幕上輸出各種型別的資料,歡迎大家參考!
我們使用 puts 來輸出字串。puts 是 output string 的縮寫,只能用來輸出字串,不能輸出整數、小數、字元等,我們需要用另外一個函式,那就是 printf。
printf 比 puts 更加強大,不僅可以輸出字串,還可以輸出整數、小數、單個字元等;輸出格式也可以自己定義,例如:
以十進位制、八進位制、十六進位制形式輸出;
要求輸出的數字佔 n 個字元的位置;
控制小數的位數。
printf 是 print format 的縮寫,意思是“格式化列印”。這裡所謂的“列印”就是在螢幕上顯示內容,與“輸出”的含義相同,所以我們一般稱 printf 是用來格式化輸出的。
先來看一個簡單的例子:
printf("C語言中文網");
這個語句可以在螢幕上顯示“C語言中文網”,與puts("C語言中文網");的效果類似。
輸出變數 abc 的值:
int abc=999;
printf("%d", abc);
這裡就比較有趣了。先來看%d,d 是 decimal 的`縮寫,意思是十進位制數,%d 表示以十進位制的形式輸出。輸出什麼呢?輸出變數 abc 的值。%d 與 abc 是對應的,也就是說,會用 abc 的值來替換 %d。
再來看個複雜點的:
int abc=999;
printf("The value of abc is %d !", abc);
會在螢幕上顯示:
The value of abc is 999 !
你看,字串 "The value of abc is %d !" 中的 %d 被替換成了 abc 的值,其他字元沒有改變。這說明 %d 比較特殊,不會原樣輸出,會被替換成對應的變數的值。
再來看:
int a=100;
int b=200;
int c=300;
printf("a=%d, b=%d, c=%d", a, b, c);
會在螢幕上顯示:
a=100, b=200, c=300
再次證明了 %d 與後面的變數是一一對應的,第一個 %d 對應第一個變數,第二個 %d 對應第二個變數……
%d稱為格式控制符,它指明瞭以何種形式輸出資料。格式控制符均以%開頭,後跟其他字元。%d 表示以十進位制形式輸出一個整數。除了 %d,printf 支援更多的格式控制,例如:
%c:輸出一個字元。c 是 character 的簡寫。
%s:輸出一個字串。s 是 string 的簡寫。
%f:輸出一個小數。f 是 float 的簡寫。
除了這些,printf 支援更加複雜和優美的輸出格式,考慮到讀者的基礎暫時不夠,我們將在《C語言資料輸出大彙總以及輕量進階》一節中展開講解。
我們把程式碼補充完整,體驗一下:
#include int main(){ int n = 100; char c = '@'; //字元用單引號包圍,字串用雙引號包圍 float money = 93.96; printf("n=%d, c=%c, money=%f", n, c, money); return 0;}
輸出結果:
n=100, c=@, money=93.959999
要點提示:
1)表示換行,在《C語言轉義字元》一節中有具體講解。puts 輸出完成後會自動換行,而 printf 不會,要自己新增換行符。
2) //後面的為註釋。註釋用來說明程式碼是什麼意思,讓我們閱讀更加方便,它也是程式碼的一部分。編譯器會忽略註釋內容。我們將在《C語言識別符號、關鍵字和註釋》一節中詳細講解。
3) money 的輸出值並不是93.96,而是一個非常接近的值,這與小數的儲存有關,我們將在《小數在記憶體中是如何儲存的》一節詳細介紹。
我們也可以不用變數,直接將資料輸出:
#include int main(){ float money = 93.96; printf("n=%d, c=%c, money=%f", 100, '@', money); return 0;}
輸出結果與上面相同。
【腦筋急轉彎】%ds輸出什麼
%d 輸出整數,%s 輸出字元竄,那麼 %ds 輸出什麼呢?
%ds 輸出整數,並在後面新增一個字元 's'。因為 %d 是格式字串,%ds 在一起沒有意義,'s' 僅僅是在 %d 後面的一個普通字元。請看下面的例子:
#include int main(){ int a=1234; printf("a=%ds", a); return 0;}
執行結果:
a=1234s
-
2017計算機二級C語言精選習題
多做題有助於同學們及時檢測自己的學習情況。希望提供的2017計算機二級C語言精選習題,能夠幫助大家鞏固所學知識,為今後的學習打好基礎!(1)OSI模型的'物理層負責下列哪一種功能?A)格式化報文B)為資料選擇通過網路的路由C)定義連線到介質的特徵D)提供遠端檔案訪...
-
C語言自增(++)和自減(--)
C語言源自KenThompson發明的B語言,那麼大家知道C語言自增(++)和自減(--)是什麼呢?下面一起來看看!一個整數自身加一可以這樣寫:a+=1;它等價於a=a+1;。但是在C語言中還有一種更簡單的寫法,就是a++;或者++a;。這種寫法叫做自加或自增;意思很明確,就是自身加一。相應...
-
2017年計算機二級C語言對C語言的深入探討知識點
引導語:它的應用範圍廣泛,具備很強的資料處理能力。以下是本站小編分享給大家的2017年計算機二級C語言對C語言的深入探討知識點,歡迎閱讀!【考點1】編譯預處理凡以#開頭的這一行,都是編譯預處理命令列,編譯預處理不加分號,不佔執行時間。巨集替換僅是簡單的文字替換,如#...
-
c語言—檔案的建立與建立
今天要介紹的是有關檔案的建立與讀取的語法,事實上,c語言中對於這方面的`已經有相當經典且應用相當廣泛的語法了,但是我今天想講一講關於c++中的相關語法,以下僅供參考!以下是程式碼:首先是檔案的建立:#include#include#includeusingnamespacestd;intmain(){ofstreamout...