C核心技術手冊(十二)

2021-08-25 13:27:31 字數 707 閱讀 7318

1.7.2 符號

符號可以為任意乙個關鍵字、識別符號、常量、字串、標點符號、函式、操作符、兩字母詞等符合語法規則的表示式,如下c

語句報含5

個符號:

printf("hello, world./n");

單獨的符號為:

printf
(
"hello, world./n"
)
;

符號被預編譯器在翻譯的第三階段解釋,與第七階段編譯器解釋符號僅有一點不同: l

對於#include

指示符,預處理理器認可

和」filename」

兩種模式; l

在預處理階段,字元常量和字串不會由源字符集轉化為執行時字符集; l

與編譯階段不同,預處理器不區分整形常量和浮點型常量。

在原始檔轉為符號階段,編譯器(

或者預編譯器)

通常遵循下面的原則:每個連續的非空白字元必須附加在準備被讀取的符號中,除非當新增後會使用乙個有效的符號非法,這個規則解決了如下模糊的表示式:

a+++b

因為第乙個+

不是以a

附加在第乙個之後形成乙個有效的符號,但第卻不能附加第三個,

所以,這個表示式將被解釋為:

a ++ + b

C核心技術手冊(四十二)

當編寫乙個c 程式時,首先要做的一件事是確定在多種c 的定義中遵循哪一種,gcc 的預設方言版本為 gnu c 它在很大程度上為iso iec 9899 1900 標準,以及它發布的勘誤表和許多語言擴充套件,這些擴充套件一部分已經包含在c99 中標準化了,例如複雜浮點型別和long long 整形,...

C核心技術手冊(二十二)

字元常量由乙個單引號中包含乙個或多個字元組成。一些例子如下 a xy 0 所有源字符集中的字元均可用於字元常量中,除去單引號 反斜槓 及換行符,可以使用轉義字元來表示這些字元 n 在字元常量中所有需要轉義的字元將在 轉義字元 一節描述。3.3.1 字元常量的型別 字元常量具有int 型別,除非它們被...

C核心技術手冊(四十二)

當編寫乙個c 程式時,首先要做的一件事是確定在多種c 的定義中遵循哪一種,gcc 的預設方言版本為 gnu c 它在很大程度上為iso iec 9899 1900 標準,以及它發布的勘誤表和許多語言擴充套件,這些擴充套件一部分已經包含在c99 中標準化了,例如複雜浮點型別和long long 整形,...