单选题
402、用C语言编写的程序需要用____程序翻译后计算机才能识别。
A
A、汇编
B
B、编译
C
C、解释
D
D、连接
答案解析
正确答案:B
解析:
好的,我们来详细解析一下这道题。
### 题目背景
在计算机编程中,高级语言(如C语言)编写的源代码需要转换成机器语言(即二进制代码),计算机才能执行这些指令。这个转换过程由不同的工具完成,具体取决于所使用的编程语言和环境。
### 选项解析
**A. 汇编**
- **定义**:汇编语言是一种低级语言,介于高级语言和机器语言之间。汇编程序将汇编语言代码转换成机器语言。
- **适用场景**:主要用于编写与硬件交互紧密的程序,如设备驱动程序。
- **不符合题意**:C语言不是汇编语言,因此不需要汇编程序来翻译。
**B. 编译**
- **定义**:编译程序将高级语言(如C语言)的源代码一次性翻译成机器语言,并生成可执行文件。
- **适用场景**:适用于C、C++等静态类型语言。
- **符合题意**:C语言编写的程序需要通过编译器将其转换成机器语言。
**C. 解释**
- **定义**:解释程序逐行读取并执行高级语言的源代码,不生成独立的可执行文件。
- **适用场景**:适用于Python、JavaScript等脚本语言。
- **不符合题意**:C语言通常使用编译器而不是解释器。
**D. 连接**
- **定义**:连接程序将编译后的目标文件(.o或.obj文件)和其他库文件链接在一起,生成最终的可执行文件。
- **适用场景**:在编译过程中,连接是最后一步,确保所有引用的函数和变量都能正确找到。
- **不符合题意**:虽然连接是编译过程的一部分,但它不是直接将C语言源代码翻译成机器语言的工具。
### 为什么选择B
C语言是一种静态类型的高级语言,其源代码需要通过编译器(如GCC、Clang等)将其转换成机器语言。编译器会检查语法错误、优化代码,并生成可执行文件。因此,正确答案是B. 编译。
### 示例
假设你有一个简单的C语言程序 `hello.c`:
```c
#include
int main() {
printf("Hello, World!\n");
return 0;
}
```
1. **编译**:使用编译器(如GCC)将 `hello.c` 转换成机器语言。
```sh
gcc hello.c -o hello
```
这一步生成了一个可执行文件 `hello`。
2. **运行**:执行生成的可执行文件。
```sh
./hello
```
输出:
```
Hello, World!
```
通过这个示例,你可以看到编译器在将C语言源代码转换成机器语言中的作用。
相关题目
单选题
1083、计算机系统中,控制器的基本功能是____。
单选题
1082、计算机系统由软件系统和____系统组成。
单选题
1081、计算机系统由哪几部分组成____。
单选题
1080、计算机同外部世界交流的工具是____。
单选题
1079、计算机上播放VCD,采用的是____技术。
单选题
1078、计算机能记忆是因为____。
单选题
1077、计算机将程序和数据存放在机器的______里。
单选题
1076、计算机工作过程中,哪一个部件从存储器中取出指令,进行分析,然后发出控制信号____。
单选题
1075、计算机对文字、图形、图像、声音、动画、动态影像等综合处理,主要体现了计算机____技术的应用。
单选题
1074、计算机的主存储器指的是____。
