题目
C语言的每条可执行语句最终都将被转换成二进制的机器指令。A. 对B. 错
C语言的每条可执行语句最终都将被转换成二进制的机器指令。
A. 对
B. 错
题目解答
答案
A. 对
解析
考查要点:本题主要考查对C语言编译过程的理解,特别是可执行语句与机器指令之间的转换关系。
解题核心思路:
C语言是编译型语言,其程序需要通过编译器转换为机器指令。每条可执行语句(如赋值、循环、函数调用等)最终都会被编译器转换为二进制形式的机器指令。需注意排除预处理指令、注释等非执行语句的影响。
破题关键点:
- 编译过程的本质:编译器将高级语言代码转换为机器指令。
- 可执行语句的范围:仅指语法上有效的执行性语句,不包括预处理指令、注释等。
- 优化不影响结论:即使部分指令被优化,题目默认讨论的是正常编译过程。
C语言程序的运行依赖编译过程,具体步骤如下:
- 预处理:处理
#include、#define等指令,生成预处理后的C代码。 - 编译:将预处理后的代码转换为汇编语言(
.s文件)。 - 汇编:将汇编语言转换为机器指令(
.o目标文件)。 - 链接:将目标文件与库文件整合,生成最终的可执行文件。
关键结论:
- 每条可执行语句(如
a = b + c;、for循环等)在编译过程中会被逐步转换为对应的机器指令。 - 预处理指令(如
#define)和注释不会被编译,因此不属于“可执行语句”的范畴。 - 优化(如去除无用代码)属于特殊情况,但题目未提及优化,默认讨论正常编译过程。