C語言數據輸出及輕量進階
在C語言中,有三個函數可以用來在顯示器上輸出數據,下面我們就一起來詳細瞭解一下!
put)
put) 函數只能用來輸出單個字符,例如:
#include #include int main(){ put'a'); put7); put'x46'); system("pause"); return 0;}
運行程序,輸出 aF,同時會聽到喇叭發出“嘟”的聲音。
關於換行
puts() 函數在輸出結束時會自動換行,而 printf() 和 put) 不會,需要手動添加換行符。如下所示:
#include #include int main(){ char *str = ""; int n = 100; char c = 'Z'; puts(str); putc); printf("%d", n); putc); system("pause"); return 0;}
運行結果:
Z100Z請按任意鍵繼續. . .
printf() 的高級用法
這一節的內容有些繁雜,如果你希望加快學習進度,儘早寫出有趣的代碼,也可以跳過這節,後面遇到不懂的 printf 輸出再來回顧。
雖然我們已經熟悉了 printf,但是還沒有把它發揮到極致,printf 可以有更加“炫酷”的輸出。
假如現在老師要求我們用C語言輸出一個 4×4 的整數矩陣,為了增強閲讀性,數字要對齊,怎麼辦呢?我們顯然可以這樣來做:
#include #include int main(){ int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=34, d2=0, d3=23, d4=23006783; printf("%d %d %d %d", a1, a2, a3, a4); printf("%d %d %d %d", b1, b2, b3, b4); printf("%d %d %d %d", c1, c2, c3, c4); printf("%d %d %d %d", d1, d2, d3, d4); system("pause"); return 0;}
運行結果:
20 345 700 22
56720 9999 20098 2
233 205 1 6666
34 0 23 23006783
矩陣一般在大學的《高等數學》中會講到,m×n 的數字矩陣可以理解為把 m×n 個數字擺放成 m 行 n 列的樣子。
看,這是多麼地自虐,要敲那麼多空格,還要嚴格控制空格數,否則輸出就會錯位。
類似的'需求隨處可見,整齊的格式會更加美觀,讓人覺得生動有趣。我們大可不必像上面一樣,printf 可以更好的控制輸出格式。
#include #include int main(){ int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=34, d2=0, d3=23, d4=23006783; printf("%-9d %-9d %-9d %-9d", a1, a2, a3, a4); printf("%-9d %-9d %-9d %-9d", b1, b2, b3, b4); printf("%-9d %-9d %-9d %-9d", c1, c2, c3, c4); printf("%-9d %-9d %-9d %-9d", d1, d2, d3, d4); system("pause"); return 0;}
輸出結果:
20 345 700 22
56720 9999 20098 2
233 205 1 6666
34 0 23 23006783
這樣寫起來更加方便,即使改變某個數字,也無需修改 printf 語句。
%-9d中,d表示以十進制輸出,9表示最少佔9個字符的寬度,寬度不足以空格補齊,-表示左對齊。綜合起來,%-9d表示以十進制輸出,左對齊,寬度最小為9個字符。大家可以親自試試%9d的輸出效果。
printf 格式控制字符的完整形式如下:
%[flags][width][ision]type
[xxx] 並不是C語言規定的格式,只是一種習慣寫法,表示此處的內容可有可無,後面會經常見到這樣的寫法。
1) type 也就是以什麼類型輸出,比如 %d、%f、%c,type 就分別對應 d、f、c;%-9d中 type 對應 d。type 必須有。
2) width 表示最小輸出寬度,也就是佔幾個字符的位置;%-9d中 width 對應 9。
對於整數和小數,默認右對齊,不足的寬度以空格補齊,例如:
printf("%10d%12f", 234, 9.8);
輸出結果為:
234 9.800000
234 前面共有7個空格,9.8 前面有4個空格。
3) ision 表示輸出精度。
對於 %d,ision 表示的其實是最小輸出寬度,與 width 不同的是,不足的寬度以 0 補齊,例如:
printf("%.10d", 4309);
輸出結果為:
0000004309
對於 %f,ision 表示小數的位數,不足以 0 補齊,也就是精度,例如:
printf("%.10f %.3f", 23.988, 2.9328745);
輸出結果為:
23.9880000000 2.933
4) flags 是標誌字符,%-9d中 flags 對應-。
標誌字符 | 含 義 |
---|---|
- | 左對齊 |
+ | 輸出符號(正號或負號) |
空格 | 輸出值為正時冠以空格,為負時冠以負號 |
# | 對c、s、d、u類無影響; 對o類,在輸出時加前綴o; 對x類,在輸出時加前綴0x; 對e、g、f 類當結果有小數時才給出小數點。 |
-
2017年3月計算機二級C語言考試摸底測試題
以下是yjbys考試網小編整理的2017年3月計算機二級C語言考試摸底測試題,希望對大家有所幫助,祝大家計算機二級考試順利通過。一、選擇題(每小題1分。)(1)程序流程圖中帶有箭頭的線段表示的是()。A.圖元關係B.數據流C.控制流D.調用關係(2)結構化程序設計的基本原則...
-
C語言if else語句彙總
對於很多情況,順序結構的代碼是遠遠不夠的,大家都接觸過C語言吧,下面是小編為大家整理的C語言ifelse語句,希望對大家有所幫助。C語言ifelse語句在C語言中,使用if和else關鍵字對條件進行判斷。請先看下面的代碼:#includeintmain(){intage;printf("請輸入你的年齡:");sc...
-
C語言精選面試題詳解
C語言是IT編程中最基礎的語言,在面試中,基本可以忽略又或者格外重要。下面是小編為大家整理的C語言精選面試題詳解,歡迎參考~分析這些面試題,本身包含很強的趣味性;而作為一名研發人員,通過對這些面試題的深入剖析則可進一步增強自身的內功。試題1:以下是引用片段:voi...
-
2017年計算機二級考試C語言備考題及答案
計算機二級對於很多考生來説還是比較有難度的,那麼怎樣順利通過二級考試呢?這就需要大家平時多練習和找方法了。以下是本站小編整理的2017年計算機二級考試C語言備考題及答案,希望對大家有幫助!1.(A)是構成C語言程序的基本單位。A、函數B、過程C、子程序D、子例...