天天看點

《C語言程式設計初學者指南》一1.5 使用程式語句

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

c程式中的很多代碼行都被看做是程式語句,它們負責控制程式的執行并實作功能。大多數這些程式語句,必須以一個語句終結符結束。在c程式中,語句終結符就是一個分号(;)。如下的這行代碼包含了一個printf()函數,它展示了帶有一個語句終結符的一條程式語句:

如下是不需要使用語句終結符的一些常見程式語句:

注釋;

預編譯器指令(本章稍後将會介紹,包括#include和#define這樣的指令);

開始和結束程式語句塊辨別符;

函數定義的開頭(例如,main())。

上述的程式語句不需要一個分号終結符(;),因為它們不是可執行的c語句或函數調用。隻有在程式執行的過程中會執行工作的那些c語句,才需要分号。

通常,printf()函數用于将輸出顯示到計算機螢幕。正如下面的代碼所示,可以使用printf()函數把文本“c you later”寫到标準輸出(如圖1.2所示)。

和大多數的函數一樣,printf()函數接受一個值作為參數(稍後,第5章将會更詳細地介紹函數)。必須将想要在标準輸出中顯示的任何文本,都用引号括起來。

大多數時候,想要在螢幕上顯示的字元和文本都要放在引号之中,隻有對轉義字元和轉義序列是例外的。反斜杠字元()是轉義字元。當執行前面給出的printf()語句的時候,程式繼續向後找到下一個跟在一個反斜杠之後的字元。在這個例子中,下一個跟在反斜杠之後的字元就是n。反斜杠字元()和字元n一起構成了一個轉義序列。

提示

 

轉義序列是指字元串中的特殊字元,它使得你能夠和一台顯示裝置或列印機通信,并且發送控制字元以進行特定的操作,例如強制換行(n)或插入水準制表符(t)等操作。

這個特殊的轉義字元(n)告訴程式添加一個新行。看一下如下的程式語句。這一個printf()函數給标準輸出添加了多少個新行呢?

printf("nc you latern");

這個printf()函數為了進行格式化而添加了2個新行。在顯示文本之前,程式輸出了一個新行。在文本顯示到标準輸出之後,在這裡就是計算機的螢幕,又輸出了一個新行。

表1.2描述了一些常用的轉義序列。

表1.2 常用轉義序列

轉義序列

用途

n

建立一個新行

t

把光标移動到下一個制表符的位置

r

把光标移動到目前行的開始處

\

插入一個反斜杠

"

插入一個雙引号

'

插入一個單引号

我們可以大量地使用轉義序列n來格式化輸出,如圖1.4和圖1.5所示。

《C語言程式設計初學者指南》一1.5 使用程式語句

圖1.4 使用轉義序列n和一個printf()函數來生成多行

《C語言程式設計初學者指南》一1.5 使用程式語句

圖1.5 使用轉義序列n和多個printf()函數來生成一行

如下的代碼段隻使用一個printf()函數,就生成了3個不同的行。

下面的代碼段展示了如何使用将轉義字元n和多個printf()函數一起使用,以建立單獨一行的輸出:

轉義序列t 将光标移動到下一個制表符空格處。這個轉義序列對于以多種方法格式化輸出很有用。例如,一個常見的格式化需求是,在輸出中建立分欄,如下面的程式語句所示:

上面的程式語句所建立的格式化後的列,顯示了一個月份的簡單月曆,如圖1.6所示。

《C語言程式設計初學者指南》一1.5 使用程式語句

圖1.6 通過使用轉義序列t來展示制表符和列的用法

你可能會發現,當光标的位置很重要的時候,轉義序列r 對于一些格式化任務很有用,對于列印輸出來說,尤其如此,因為如果沒有正确使用r,列印機就有可能會覆寫已經列印的文本。如下的程式代碼展示了轉義序列r是如何工作的,其輸出如圖1.7所示。

《C語言程式設計初學者指南》一1.5 使用程式語句

圖1.7 轉義序列r示例

轉義序列\在文本中插入一個反斜杠。乍看起來,這似乎是不必要的,但是别忘了,當程式在一個printf()函數中讀到一個反斜杠的時候,它期待在其後看到一個有效的轉義字元。換句話說,反斜杠字元()在printf()函數中是一個特殊字元,如果你需要在文本中顯示一個反斜杠,必須使用這個轉義序列。如下的程式語句展示了轉義序列\的用法,其輸出如圖 1.8所示。

《C語言程式設計初學者指南》一1.5 使用程式語句

圖1.8 轉義序列\示例

printf()函數中的另一個保留的字元是雙引号字元(")。要在輸出的文本中插入一個引号,使用轉義序列",如下面的程式語句所示。輸出如圖1.9所示。

《C語言程式設計初學者指南》一1.5 使用程式語句

圖1.9 用轉義序列”來建立引号

和雙引号轉義序列(")類似的是單引号(也叫做撇号)轉義序列(')。要在輸出文本中插入一個單引号,使用下面程式所示的轉義序列',其輸出如圖1.10所示。

《C語言程式設計初學者指南》一1.5 使用程式語句

圖1.10 用轉義序列'插入一個單引号

繼續閱讀