天天看點

《C語言程式設計初學者指南》一2.5 使用轉換修飾符

本節書摘來自異步社群《c語言程式設計初學者指南》一書中的第2章,第2.5節,作者【美】keith davenport(達文波特) , m1ichael vine(維恩),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

由于資訊是以二進制資料的形式存儲在計算機記憶體中的,并且一系列的1和0讀起來并不是特别有趣,作為c程式員,你必須特意告訴printf()這樣的輸入或輸出函數,如何以一種對人類更加友好的形式把資料顯示為資訊。可以使用叫做轉換修飾符(conversion specifier)的字元組合來完成這一貌似困難的任務。

轉換修飾符由兩個字元組成:第1個字元是一個百分号(%),第2個字元是一個特殊字元,告訴程式如何轉換資料。表2.3描述了針對本章所讨論的資料類型最常使用的轉換修飾符。

《C語言程式設計初學者指南》一2.5 使用轉換修飾符

%d轉化修飾符和一條printf()語句一起使用,來顯示整數資料類型:

上面的語句會列印出如下的文本:

也可以使用%d轉換修飾符來顯示聲明為整數資料類型的一個變量的内容,如下所示:

在上面的語句中,我們聲明了一個新的、名為operand1的整數變量。接下來,我們将數字29指派給這個新建立的變量,并且使用printf()函數和轉換修飾符%d來顯示其内容。

要使用printf()函數顯示的每一個變量,都必須放在圓括号中并且用逗号(,)隔開。

要顯示浮點數值,像下面這樣使用%f轉換修飾符。

如下是%f轉換修飾符的另一個例子,它列印出浮點變量的内容:

盡管%f轉換修飾符能夠顯示浮點數,但它還不能夠按照正确的或想要的精度來顯示浮點數。如下的printf()函數解決了精度的問題:

這個printf()示例以小數點後面6位的精度來輸出一個浮點數,如下所示:

要建立帶有精度的浮點數,在轉換修飾符的%符号和f字元之間使用不同的數字方案,來調整轉換修飾符:

以上代碼會産生如下的輸出:

注意,我們在上面的每一條列印語句的前面(除了第1行代碼之外)都添加了一個n轉義序列。沒有這個換行轉義序列的話,每條語句的輸出都将會在同一行,這會使得輸出很難閱讀。

使用%c轉換修飾符,可以很容易地顯示字元:

這條語句的輸出隻是一個單個的字母m。和其他的轉換修飾符一樣,我們可以使用%c轉換修飾符和一個printf()函數來輸出一個字元類型的變量的内容,如下所示:

可以在單個的printf()函數中,使用多個轉換修飾符:

上面的程式語句的輸出如下所示:

注意,在下面的語句中,要用printf()函數顯示的每一個變量,都放在雙引号之外,并且用一個逗号隔開:

printf("my initials are %c.%c.%c.", firstinitial, middleinitial, lastinitial);

printf()的雙引号之中的文本,是給可顯示的文本、轉換修飾符和轉義序列保留的。

繼續閱讀