1014 C語言的文法

2022-05-16 18:08:33 字數 1551 閱讀 4992

程式-> 《外部宣告》《程式》《外部宣告》

外部宣告-> 《函式定義》|《宣告》

函式定義-> 《函式型別》《說明符》《復合語句》

函式型別-> void|char|int|float

說明符-> 《指標 >《直接說明符》|《直接說明符》

指標-> <*>|<*>《指標》

直接說明符-> 《識別符號》|《直接說明符》|《直接說明符[常量表示式]>|《識別符號(引數序列)>|《識別符號()>|《直接說明符,識別符號序列》

識別符號序列-> 《識別符號》|《識別符號序列》<,>《識別符號》

常量表示式-> 《條件表示式》

引數序列-> 《引數宣告》|《引數宣告》<,>《引數宣告》

引數宣告-> 《宣告說明符》《宣告符》

復合語句-> <{}>|<>|<>

宣告序列-> 《宣告符》|《宣告序列》《宣告符》

宣告符-> 《初始化說明符》|《初始化說明符》<,>《初始化說明符》

初始化說明符-> 《說明符》|《說明符》<=>《初始化程式》

初始化程式-> 《賦值表示式》|<>|<>

初始化序列-> 《初始化程式》|《初始化序列》<,>《初始化》

陳述序列-> 《陳述語句》|《陳述序列》《陳述語句》

陳述語句-> 《復合語句》|《表示式語句》|《選擇語句》|《迴圈語句》|《轉移語句》

表示式語句->  <;>|《表示式》<;>

選擇語句-> if(《表示式》)《陳述語句》|if(《表示式》)《陳述語句》else《陳述語句》

迴圈語句->while(《表示式》)《陳述語句》|for(《表示式語句》《表示式語句》)《陳述語句》|for(《表示式語句》《表示式語句》《陳述語句》)《陳述語句》

轉移語句->continue;| break;

| return;

| return 《表示式》;

表示式->《任務表示式》|《表示式》;《任務表示式》

任務表示式->《條件表示式》|《一元運算子》《賦值運算子》《任務表示式》

條件表示式->

or表示式->

and表示式->《包含or表示式》|

包含or表示式->《單獨or表示式》|《包含or表示式》'|'《單獨or表示式》

單獨or表示式->and 表示式->《賦值表示式》|賦值表示式->《關係式》|《賦值表示式》eq_op《關係式》|《賦值表示式》ne_op《關係式》

關係式->《位移表示式》|《關係式》'<'《位移表示式》|《關係式》'>'《位移表示式》|

《關係式》le_op《位移表示式》|《關係式》ge_op《位移表示式》

位移表示式->《相加表示式》|《位移表示式》left_op《相加表示式》|

《位移表示式》right_op《相加表示式》

相加表示式->《乘法表示式》|《相加表示式》'+'《乘法表示式》|《相加表示式》'-'《乘法表示式》

乘法表示式->《計算表示式》|《乘法表示式》'*'《計算表示式》|

《乘法表示式》'/'《計算表示式》|《乘法表示式》'%'《計算表示式》

計算表示式->《一元表示式》|(《型別名》)《計算表示式》

一元表示式->《字尾表示式》

PAT 乙等 1014 C語言

大偵探福爾摩斯接到一張奇怪的字條 我們約會吧!3485djdkxh4hhge 2984akdfkkkkggedsb s hgsfdk d hyscvnm 大偵探很快就明白了,字條上奇怪的亂碼實際上就是約會的時間 星期四 14 04 因為前面兩字串中第1對相同的大寫英文本母 大小寫有區分 是第4個字母...

PAT乙級1014(C語言)

大偵探福爾摩斯接到一張奇怪的字條 我們約會吧!3485djdkxh4hhge 2984akdfkkkkggedsb s hgsfdk d hyscvnm 大偵探很快就明白了,字條上奇怪的亂碼實際上就是約會的時間 星期四 14 04 因為前面兩字串中第1對相同的大寫英文本母 大小寫有區分 是第4個字母...

1014 C語言文法定義與C程式的推導過程

程式 外部宣告 程式 外部宣告 外部宣告 函式定義 定義 函式定義 型別說明 宣告 復合語句 型別說明 無返回型 字元型 整型 單精度型 宣告 指標直接說明符 直接說明符 指標 指標 直接宣告符 識別符號 直接宣告符 直接宣告符 常量表示式 識別符號 參數列 識別符號 直接宣告符 識別符號列表 識別...