通过以下 C 语言程序片段,逐条语句跟踪程序的执行流程(画出语法分 析树结构, 写入实验报告): C 语言程序片段: { int i; int j; float[10][10] a; i = 0; while ( i < 10 ) { j = 0; while ( j < 10 ) { a[i][j] = 0.0; j = j + 1; } i = i + 1; } i = 0; while ( i < 10 ) { a[i][i] = 1.0; i = i + 1; } }
时间: 2023-05-30 15:04:38 浏览: 51
```c
{
int i;
int j;
float[10][10] a;
i = 0;
while (i < 10) {
j = 0;
while (j < 10) {
a[i][j] = 0.0;
j = j + 1;
}
i = i + 1;
}
i = 0;
while (i < 10) {
a[i][i] = 1.0;
i = i + 1;
}
}
```
语法分析树结构如下:
```
program
└── compound_statement
├── declaration_statement
│ ├── type_specifier: int
│ ├── init_declarator
│ │ ├── identifier: i
│ │ └── expression: 0
│ └── init_declarator
│ ├── identifier: j
│ └── expression: 0
├── declaration_statement
│ ├── type_specifier: float
│ ├── array_declarator
│ │ ├── identifier: a
│ │ ├── constant_expression: 10
│ │ └── constant_expression: 10
│ └── initializer_list
├── expression_statement
│ └── assignment_expression
│ ├── identifier: i
│ └── expression: 0
├── while_statement
│ ├── expression: i < 10
│ └── compound_statement
│ ├── expression_statement
│ │ └── assignment_expression
│ │ ├── identifier: j
│ │ └── expression: 0
│ ├── while_statement
│ │ ├── expression: j < 10
│ │ └── compound_statement
│ │ ├── expression_statement
│ │ │ └── assignment_expression
│ │ │ ├── array_subscript
│ │ │ │ ├── identifier: a
│ │ │ │ └── expression_list
│ │ │ │ ├── identifier: i
│ │ │ │ └── identifier: j
│ │ │ └── expression: 0.0
│ │ └── expression_statement
│ │ └── assignment_expression
│ │ ├── identifier: j
│ │ └── binary_expression
│ │ ├── identifier: j
│ │ └── additive_operator: +
│ │ └── expression: 1
│ └── expression_statement
│ └── assignment_expression
│ ├── identifier: i
│ └── binary_expression
│ ├── identifier: i
│ └── additive_operator: +
│ └── expression: 1
└── while_statement
├── expression: i < 10
└── compound_statement
└── expression_statement
└── assignment_expression
├── array_subscript
│ ├── identifier: a
│ └── expression_list
│ ├── identifier: i
│ └── identifier: i
└── expression: 1.0
```
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)