单选题
1、第198题 (1.0分) 题号:530 C程序中的宏展开是在()。
A
编译时进行的
B
程序执行时进行的
C
编译前预处理时进行的
D
编辑时进行的
答案解析
正确答案:C
解析:
**解析:**
C 语言程序的编译过程通常分为四个阶段:预处理、编译、汇编和链接。
1. **预处理阶段(Preprocessing)**:这是编译过程的第一步。在此阶段,预处理器会处理源代码中以 `#` 开头的指令,包括宏定义(`#define`)、文件包含(`#include`)和条件编译(`#ifdef` 等)。**宏展开**正是在这个阶段完成的,预处理器会将程序中所有出现的宏名替换为宏定义所指定的字符串或代码片段。
2. **编译阶段(Compilation)**:将预处理后的代码翻译成汇编语言。
3. **汇编阶段(Assembly)**:将汇编代码转换成机器指令(目标文件)。
4. **链接阶段(Linking)**:将各个目标文件和库文件链接在一起,生成可执行文件。
**选项分析:**
* **A. 编译时进行的**:严格来说,宏展开发生在正式编译(语法分析、代码生成等)之前的预处理阶段,因此该描述不准确。
* **B. 程序执行时进行的**:宏展开是静态的代码替换,发生在程序运行之前,而非运行时。
* **C. 编译前预处理时进行的**:正确。宏展开属于预处理操作,在编译器对代码进行语法分析和优化之前完成。
* **D. 编辑时进行的**:编辑是指程序员编写代码的过程,此时尚未涉及任何自动化处理工具。
因此,正确答案是 **C**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第61题 (1.0分) 题号:212 C语言中的文件类型只有()。
单选题
1、第60题 (1.0分) 题号:674 以下错误的描述是:函数调用可以()。
单选题
1、第59题 (1.0分) 题号:210 在位运算中,操作数每右移一位,其结果相当于()。
单选题
1、第58题 (1.0分) 题号:178 以下对C语言函数的描述中,正确的是()。
单选题
1、第57题 (1.0分) 题号:558 int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。
单选题
1、第56题 (1.0分) 题号:157 下列程序的输出结果是()。
单选题
1、第55题 (1.0分) 题号:565 以下叙述中正确的是()。
单选题
1、第54题 (1.0分) 题号:740 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作, 下面符合此要求的函数调用是()。
单选题
1、第53题 (1.0分) 题号:92 以下的选择中,正确的赋值语句是()。
单选题
1、第52题 (1.0分) 题号:586 以下选项中合法的实型常数是()。
