< procedures >-〉< External declarations > | < function definition >
< external declarations >-〉< header Files > | < variables > | < structural body >
< header file >-〉 #include < file name >
< filename >-〉stdio.h 丨 stdlib.h 丨 string.h
< struct >-〉< struct declaration 〉|< variable >
< struct declarations >-〉struct< identifiers >
< function definition >-〉< type description >< identifier >< parameter list >< Compound statement >
< parameter list 〉-〉< type description >< variable name >
< compound statements >-〉< variables >|< Statements >|< compound statements >|&
< statements >-〉< expression statements 〉|< SELECT statements >|< loop statements >|< jump statements >|< statements >|&
< expression statements >-〉< assignment expressions >|< relational Expressions >|< logical Expressions >|< expression statements >|&
< Assignment expression >-〉=a/a=
A-> &|+|-
< relationship expression >->〉| < | 〉=| <=
< Logical Expressions >-〉+ | - | * | /
< SELECT statement >-〉if Else Statement |switch statement |< SELECT statement >|&
< loop statement >-〉for statement |while statement |do while statement |< Loop statement >|&
< SKIP statement >-> return statement |break statement |continue statement
< variables >-> < types > 丨 < identifiers > 丨 < variable values >
< type description >-> int 丨 char 丨 double 丨 float 丨 long
< variable values >-> < letters > 丨 numbers
< identifier >〈==〉s
S-> AS1
S1-> s1s2
S2-> a| b|&
A-> a|b|c|......y|z
B-> 0|1|2|3|4|5|6|7|8| 9
< letters >-> A|b|c|......y|z
< digital >〈==〉s
S-> AS1
S1-> S1AS2
S2-> &|0
A-> 1|2|3|4|5|6|7|8| 9
C program Syntax (no left recursion)