日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言各种类型数据的输出显示

發布時間:2025/3/12 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言各种类型数据的输出显示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前我們使用 puts 來輸出字符串。puts 是 output string 的縮寫,只能用來輸出字符串,不能輸出整數、小數、字符等,我們需要用另外一個函數,那就是 printf。

printf 比 puts 更加強大,不僅可以輸出字符串,還可以輸出整數、小數、單個字符等,并且輸出格式也可以自己定義,例如:

以十進制、八進制、十六進制形式輸出;要求輸出的數字占 n 個字符的位置;控制小數的位數。

**printf 是 print format 的縮寫,意思是“格式化打印”。**這里所謂的“打印”就是在屏幕上顯示內容,與“輸出”的含義相同,所以我們一般稱 printf 是用來格式化輸出的。

示例

printf("今天天氣晴朗");

這個語句可以在屏幕上顯示“今天天氣晴朗”,與puts(“今天天氣晴朗”);的效果類似。

輸出變量 abc 的值:

int abc=333; 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 支持更加復雜和優美的輸出格式。

我們的完整程序

#include <stdio.h> int main() {int n = 100;char c = '@'; //字符用單引號包圍,字符串用雙引號包圍float money = 93.96;printf("n=%d, c=%c, money=%f\n", n, c, money);return 0; }

輸出結果:

n=100, c=@, money=93.959999

程序解析
1 . \n是一個整體,組合在一起表示一個換行字符。換行符是 ASCII 編碼中的一個控制字符,無法在鍵盤上直接輸入,只能用這種特殊的方法表示,被稱為轉義字符。

所謂換行,就是讓文本從下一行的開頭輸出,相當于在編輯 Word 或者 TXT 文檔時按下回車鍵。

puts 輸出完成后會自動換行,而 printf 不會,要自己添加換行符,這是 puts 和 printf 在輸出字符串時的一個區別。

2 . //后面的為注釋。注釋用來說明代碼是什么意思,起到提示的作用,可以幫助我們理解代碼。注釋雖然也是代碼的一部分,但是它并不會給程序帶來任何影響,編譯器在編譯階段會忽略注釋的內容,或者說刪除注釋的內容。

3 . money 的輸出值并不是 93.96,而是一個非常接近的值,這與小數本身的存儲機制有關,這種機制導致很多小數不能被精確地表示,即使像 93.96 這種簡單的小數也不行。

我們不用變量,將數據直接輸出:

#include <stdio.h> int main() {float money = 93.96;printf("n=%d, c=%c, money=%f\n", 100, '@', money);return 0; }

輸出結果與上面相同。

編程中,我們會經常使用 printf,說它是C語言中使用頻率最高的一個函數一點也不為過。

%ds輸出什么

%d 輸出整數,%s 輸出字符串,那么 %ds 輸出什么呢?

示例

#include <stdio.h> int main() {int a=5555;printf("a=%ds\n", a);return 0; }

運行結果:

a=5555s

從輸出結果可以發現,%d被替換成了變量 a 的值,而s沒有變,原樣輸出了。這是因為, %d才是格式控制符,%ds在一起沒有意義,s僅僅是跟在%d后面的一個普通字符,所以會原樣輸出。

那么如何在字符串中書寫長文本
假設現在我們要輸出一段比較長的文本,它的內容為:

我們說的是漢語,是“中國語言”,只要把我們的需求告訴父母,父母就會滿足,我們用“中國語言”來控制父母,讓父母做我們喜歡的事情。

如果將這段文本放在一個字符串中,會顯得比較臃腫,格式也不好看,就像下面這樣:

當文本超出編輯窗口的寬度時,可以選擇將文本換行,也可以選擇將文本隱藏(可以在編輯器里面自行設置),但是不管哪種形式,在一個字符串里書寫長文本總是不太美觀。

當然,你可以多寫幾個 puts 函數,就像下面這樣:

我不否認這種寫法也比較美觀,但是這里我要講的是另外一種寫法:
#include <stdio.h>
int main()
{
puts(
“我們說的是漢語,是“中國語言”,只要把我們的需求告訴父母,”
“父母就會滿足,我們用“中國語言”來控制父母,”
“讓父母做我們喜歡的事情。”
);
return 0;
}
在 puts 函數中,可以將一個較長的字符串分割成幾個較短的字符串,這樣會使得長文本的格式更加整齊。

注意,這只是形式上的分割,編譯器在編譯階段會將它們合并為一個字符串,它們放在一塊連續的內存中。

多個字符串并不一定非得換行,也可以將它們寫在一行中,例如:
#include <stdio.h>
int main()
{
puts(“今天” “明天” “后天”);
return 0;
}

我們所說的 puts、printf,以及 fprintf、fputs 等與字符串輸出有關的函數,都支持這種寫法。

如果感覺不錯請點贊喲!!!

總結

以上是生活随笔為你收集整理的C语言各种类型数据的输出显示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。