C語言文法閱讀與理解序

2022-05-16 18:24:44 字數 2793 閱讀 6738

《指標》→*  | * < 指標》

《直接宣告符》  《識別符號》 | 《直接宣告》| 《直接宣告》[常量表示式] | 《識別符號》(參數列) | 《識別符號》() | 《直接宣告》,< 識別符號列表》

《識別符號列表》:《識別符號》 | 《識別符號列表》,《識別符號》

《常量表示式》→《條件表示式》

《引數列表》→《引數宣告》 | 《引數列表》,《引數宣告》

《引數宣告》→《宣告說明符》< 識別符號》

《復合語句》→{}  |    |   

《宣告列表》→《宣告》 | 《宣告列表》< 宣告》

《宣告》→《初始化宣告》 |《初始化宣告列表》,《初始化宣告》

《初始化宣告》→《宣告》 | 《宣告》=《初始化程式》

《初始化程式》→《賦值表示式》 |   |

《初始化列表》→《初始化程式》 |< 初始化列表》,《初始化程式》

《語句列表》→《語句》 | 《語句列表 >< 語句》

《語句》→《復合語句》 |《表示式語句》 | 《條件語句》 | 《迴圈語句》 | 《跳轉語句》  

《表示式語句》→;  | < 表示式》 ;

《條件語句》:if(表示式)     |  if( 表示式 )  else

《迴圈語句》→ where ( 表示式) | for (《表示式語句》< 表示式語句》 ) | for( 《表示式語句》<  表示式語句 > 《表示式》)

《跳轉語句》 |  continue ;  | break;  |  return;  | return 《表示式》 ;

《表示式》:《賦值表示式 > |  《表示式》 ,< 賦值表示式》

《賦值表示式》→《條件表示式》  |  《一元表示式》《賦值運算子》< 賦值表示式》

《條件表示式》→《邏輯或表示式》|《邏輯或表達》?< 表示式 >:《條件表示式》

《邏輯或表示式》→《邏輯與表示式》     | 《邏輯或表示式》  《或運算》《邏輯表示式》

《邏輯與表示式》:《或表示式》 | 《邏輯與表示式》《與運算》《或表示式》

《或表示式》→《異或表示式》 |《或表示式》 ||< 異或表示式》

《異或表示式》:《與表示式》 | 《異或表示式》^《與表示式》

《與表示式》:《相等表示式》 | 《與表示式》&《相等表示式》

《相等表示式》:《關係表示式》 | 《相等表示式》 = 《關係表示式 >| 《相等表示式》 != 《關係表示式》

《關係表示式》:《轉換表示式》 | 《關係表示式》  <  《轉換表示式》 | 《關係表示式》  >  《轉換表示式》  |  《關係表示式》  <=  《轉換表示式 >| 《關係表示式》  >=  《轉換表示式》

《轉換表示式》:《加法表示式》 | 《轉換表示式》《左》《加法表示式》 |《轉換表示式》《右》《加法表示式》

《加法表示式》:《乘法表示式》 |《加法表示式》+《乘法表示式》 |《加法表示式》-《乘法表示式》

《乘法表示式》:《強制轉換表示式》 |《乘法表示式》*《強制轉換表示式》 |《乘法表示式》/《強制轉換表示式》 | 《乘法表示式》%《強制轉換表示式》

《強制轉換表示式》:《一元表示式》  |  (型別名稱)《強制轉換表示式》

《一元表示式》:《字尾表示式》 |< inc運算》《一元表示式》 | 《字尾表示式》:《基本表示式》 |《字尾表示式》[表示式]  |《字尾表示式》() |《字尾表示式》(引數表示式列表)    |《字尾表示式》.《識別符號》 | 《字尾表示式》*《識別符號》     |《字尾表示式》《基本表示式》→《識別符號》  | 《常量》 | 《字串常量》 |  (表示式)

《引數表示式列表》: 《賦值表示式》 |《引數表示式列表《賦值表示式》

《一元運算子》: & | *  | +  |  -  |  ~  | !

《賦值運算子》→= | 《乘法分配》 | 《除法分配》 | 《儲存類說明符》→《定義型別 >| 《外部變數》 | 《靜態 > | 《自動》  |《暫存器》 

《結構體或共用體說明符》:《結構體或共用體》《識別符號》  |《結構體或共用體》 | 《結構體或共用體》《識別符號》

《結構體或共用體》:《結構體》 | 《共用體》

《結構體宣告列表》:《結構體宣告》 | 《結構體宣告列表》《結構體宣告》

《結構體宣告》:《說明符限定符列表》《結構體說明符列表》;《說明符限定符列表》→《型別說明符》《說明符限定符列表》 | 《型別說明符》  |《型別限定符》《說明符限定符列表》 |《型別限定符》

《結構體說明符列表》→《結構體宣告》 | 《結構體說明符列表》,《結構體宣告》

《結構體宣告》→:《宣告》 |  :《常量表示式》 | 《宣告》:《常量表示式》

《列舉說明符》→《列舉》  | 《列舉》《識別符號》 | 《列舉》《識別符號》

《列舉器列表》→《列舉器》 | 《列舉器列表》,《列舉器》

《列舉器》→《識別符號》 |< 識別符號》=《常量表示式》

《型別限定符》→《常量》 | 《變數》

《型別限定符列表》→《型別限定符 >|< 型別限定符列表》  《型別限定符》

《引數型別列表》→《引數列表》 |< 引數列表》,《省略符號》

《引數列表》→:《宣告引數》 | 《引數列表》,《宣告引數》

《型別名稱》→《限定說明符列表》 | 《限定說明符列表》《抽象說明符》

《抽象說明符》→《指標》 | 《直接抽象說明符》 | 《指標》《直接抽象說明符》

《直接抽象說明符》→ ( 抽象說明符 ) |   |  [ 常量表示式] | 《直接抽象說明符》  | 《直接抽象說明符》[常量表示式 ]  |  () | (引數型別列表)  |  《直接抽象說明符》() | 《直接抽象說明符》(引數型別列表)

《有標號語句》→《識別符號》:《語句》 | case《常量表示式》:《語句》 |  default:《語句》

C語言文法閱讀與理解

翻譯單元 外部宣告 函式定義 申報 函式定義 宣告說明符 宣告符 申報 復合語句 宣告說明符 儲存類說明符 型別說明符 型別限定符 儲存類說明符 auto register static extern typedef 型別說明符 void char short int long float doub...

C語言文法

翻譯單位 函式的定義 類的定義 儲存類說明符 自動 儲存說明符auto register static extern說明的四種儲存型別,四種儲存類別說明符有兩種儲存期 自動儲存期和靜態儲存期 register static extern typedef void 型別說明符 char short i...

c語言文法

程式 外部宣告 程式 外部宣告 外部宣告 函式定義 宣告 函式定義 型別說明符 宣告符 復合語句 型別說明符 宣告符 指標直接宣告符 直接宣告符 指標 指標 直接宣告符 識別符號 直接宣告符 直接宣告符 常量表示式 識別符號 引數列表 識別符號 直接宣告符 識別符號列表 識別符號列表 識別符號 識別...