亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語(yǔ)言

C語(yǔ)言數(shù)據(jù)輸出及輕量進(jìn)階

時(shí)間:2024-10-13 00:22:02 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

C語(yǔ)言數(shù)據(jù)輸出及輕量進(jìn)階

  在C語(yǔ)言中,有三個(gè)函數(shù)可以用來(lái)在顯示器上輸出數(shù)據(jù),下面我們就一起來(lái)詳細(xì)了解一下!

  put)

  put) 函數(shù)只能用來(lái)輸出單個(gè)字符,例如:

  #include #include int main(){ put'a'); put7); put'x46'); system("pause"); return 0;}

  運(yùn)行程序,輸出 aF,同時(shí)會(huì)聽到喇叭發(fā)出“嘟”的聲音。

  關(guān)于換行

  puts() 函數(shù)在輸出結(jié)束時(shí)會(huì)自動(dòng)換行,而 printf() 和 put) 不會(huì),需要手動(dòng)添加換行符 。如下所示:

  #include #include int main(){ char *str = "c.biancheng.net"; int n = 100; char c = 'Z'; puts(str); putc); printf("%d", n); putc); system("pause"); return 0;}

  運(yùn)行結(jié)果:

  c.biancheng.net

  Z100Z請(qǐng)按任意鍵繼續(xù). . .

  printf() 的高級(jí)用法

  這一節(jié)的內(nèi)容有些繁雜,如果你希望加快學(xué)習(xí)進(jìn)度,盡早寫出有趣的代碼,也可以跳過(guò)這節(jié),后面遇到不懂的 printf 輸出再來(lái)回顧。

  雖然我們已經(jīng)熟悉了 printf,但是還沒(méi)有把它發(fā)揮到極致,printf 可以有更加“炫酷”的輸出。

  假如現(xiàn)在老師要求我們用C語(yǔ)言輸出一個(gè) 4×4 的整數(shù)矩陣,為了增強(qiáng)閱讀性,數(shù)字要對(duì)齊,怎么辦呢?我們顯然可以這樣來(lái)做:

  #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;}

  運(yùn)行結(jié)果:

  20 345 700 22

  56720 9999 20098 2

  233 205 1 6666

  34 0 23 23006783

  矩陣一般在大學(xué)的《高等數(shù)學(xué)》中會(huì)講到,m×n 的數(shù)字矩陣可以理解為把 m×n 個(gè)數(shù)字?jǐn)[放成 m 行 n 列的樣子。

  看,這是多么地自虐,要敲那么多空格,還要嚴(yán)格控制空格數(shù),否則輸出就會(huì)錯(cuò)位。

  類似的需求隨處可見,整齊的格式會(huì)更加美觀,讓人覺得生動(dòng)有趣。我們大可不必像上面一樣,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;}

  輸出結(jié)果:

  20 345 700 22

  56720 9999 20098 2

  233 205 1 6666

  34 0 23 23006783

  這樣寫起來(lái)更加方便,即使改變某個(gè)數(shù)字,也無(wú)需修改 printf 語(yǔ)句。

  %-9d中,d表示以十進(jìn)制輸出,9表示最少占9個(gè)字符的寬度,寬度不足以空格補(bǔ)齊,-表示左對(duì)齊。綜合起來(lái),%-9d表示以十進(jìn)制輸出,左對(duì)齊,寬度最小為9個(gè)字符。大家可以親自試試%9d的輸出效果。

  printf 格式控制字符的完整形式如下:

  %[flags][width][.precision]type

  [xxx] 并不是C語(yǔ)言規(guī)定的格式,只是一種習(xí)慣寫法,表示此處的內(nèi)容可有可無(wú),后面會(huì)經(jīng)常見到這樣的寫法。

  1) type 也就是以什么類型輸出,比如 %d、%f、%c,type 就分別對(duì)應(yīng) d、f、c;%-9d中 type 對(duì)應(yīng) d。type 必須有。

  2) width 表示最小輸出寬度,也就是占幾個(gè)字符的位置;%-9d中 width 對(duì)應(yīng) 9。

  對(duì)于整數(shù)和小數(shù),默認(rèn)右對(duì)齊,不足的寬度以空格補(bǔ)齊,例如:

  printf("%10d%12f", 234, 9.8);

  輸出結(jié)果為:

  234 9.800000

  234 前面共有7個(gè)空格,9.8 前面有4個(gè)空格。

  3) .precision 表示輸出精度。

  對(duì)于 %d,.precision 表示的其實(shí)是最小輸出寬度,與 width 不同的是,不足的寬度以 0 補(bǔ)齊,例如:

  printf("%.10d ", 4309);

  輸出結(jié)果為:

  0000004309

  對(duì)于 %f,.precision 表示小數(shù)的位數(shù),不足以 0 補(bǔ)齊,也就是精度,例如:

  printf("%.10f %.3f ", 23.988, 2.9328745);

  輸出結(jié)果為:

  23.9880000000 2.933

  4) flags 是標(biāo)志字符,%-9d中 flags 對(duì)應(yīng)-。

幾種常見的標(biāo)志字符
標(biāo)志字符含  義
-左對(duì)齊
+輸出符號(hào)(正號(hào)或負(fù)號(hào))
空格輸出值為正時(shí)冠以空格,為負(fù)時(shí)冠以負(fù)號(hào)
#對(duì)c、s、d、u類無(wú)影響;
對(duì)o類,在輸出時(shí)加前綴o;
對(duì)x類,在輸出時(shí)加前綴0x;
對(duì)e、g、f 類當(dāng)結(jié)果有小數(shù)時(shí)才給出小數(shù)點(diǎn)。


【C語(yǔ)言數(shù)據(jù)輸出及輕量進(jìn)階】相關(guān)文章:

C語(yǔ)言如何輸出菱形11-08

關(guān)于c語(yǔ)言約瑟夫問(wèn)題輸出序號(hào)算法04-01

C語(yǔ)言學(xué)習(xí)關(guān)于數(shù)據(jù)的介紹03-17

C語(yǔ)言基礎(chǔ)之?dāng)?shù)據(jù)類型轉(zhuǎn)換11-28

C語(yǔ)言以數(shù)據(jù)塊的形式讀寫文件實(shí)例代碼12-04

C語(yǔ)言一堆數(shù)據(jù)教案設(shè)計(jì)04-02

C語(yǔ)言輸出旋轉(zhuǎn)后數(shù)組中的最小數(shù)元素的算法原理與實(shí)例04-02

C語(yǔ)言考點(diǎn)精選03-18

C語(yǔ)言試題03-28