第2练 1.4-1.7 C程序上机步骤、宏定义、文件包含 《C语言》 (第五版) 一课一练 (山东省)
2026-06-24
|
2份
|
7页
|
68人阅读
|
0人下载
内容正文:
【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《C语言》(第五版)《一课一练》第2练,内容是1.4-1.7 C程序上机步骤、宏定义、文件包含。
《C语言》(第五版)一课一练 第2练
1.4-1.7 C程序上机步骤、宏定义、文件包含
一、单选题
1. 在C程序的上机步骤中,源程序文件的扩展名通常是( )
A. .c
B. .obj
C. .exe
D. .doc
2. 以下关于#define命令的描述,正确的是( )
A. #define定义的常量在运行时可以被修改
B. #define命令末尾需要加分号
C. #define定义的符号常量占有内存空间
D. #define是预处理命令,在编译前进行处理
3. 设有宏定义 #define PI 3.14,以下说法正确的是( )
A. 编译时PI被替换为3.14,PI本身没有数据类型
B. PI是一个变量,其值为3.14
C. 程序运行时PI的值可以改变
D. PI占4个字节的内存空间
4. #include <stdio.h>与#include "stdio.h"的主要区别是( )
A. 两种写法完全相同,没有任何区别
B. 双引号形式查找速度更快
C. 尖括号形式从系统目录查找,双引号形式先从用户目录查找
D. 尖括号形式用于自定义头文件
5. 以下关于预处理命令的描述中,正确的是( )
A. 预处理命令在程序运行时执行
B. 预处理命令是C语言的执行语句
C. 预处理命令必须写在main函数内部
D. 预处理命令以#号开头,在编译之前被处理
6. 在C程序开发过程中,编译器的作用是( )
A. 将源程序直接转换为可执行文件
B. 将源程序翻译为目标程序
C. 编辑并保存源程序代码
D. 运行可执行文件并输出结果
7. 以下属于C语言预处理命令的是( )
A. #define和#include
B. printf和scanf
C. main和return
D. int和float
8. 设有宏定义 #define N 3+2,则表达式 N*N 的值是( )
A. 25
B. 13
C. 11
D. 10
9. 以下关于文件包含的描述中,正确的是( )
A. 一个源程序文件中最多包含一个头文件
B. #include命令可以写在函数内部
C. 文件包含允许嵌套,被包含的文件中还可以包含其他文件
D. 自定义头文件的扩展名必须为.h,不能使用其他扩展名
10. 以下关于C程序上机步骤的描述中,错误的是( )
A. 编辑是输入和修改源程序的过程
B. 运行结果正确说明程序没有任何逻辑错误
C. 编译将源程序翻译成目标程序
D. 连接将目标程序与库函数连接成可执行文件
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《C语言》(第五版)《一课一练》第2练,内容是1.4-1.7 C程序上机步骤、宏定义、文件包含。
《C语言》(第五版)一课一练 第2练
1.4-1.7 C程序上机步骤、宏定义、文件包含
一、单选题
1. 在C程序的上机步骤中,源程序文件的扩展名通常是( )
A. .c
B. .obj
C. .exe
D. .doc
【答案】A
【解析】C语言源程序文件的扩展名为.c。.obj是编译后生成的目标文件扩展名,.exe是连接后生成的可执行文件扩展名,.doc是Word文档扩展名,与C程序无关。
2. 以下关于#define命令的描述,正确的是( )
A. #define定义的常量在运行时可以被修改
B. #define命令末尾需要加分号
C. #define定义的符号常量占有内存空间
D. #define是预处理命令,在编译前进行处理
【答案】D
【解析】#define是预处理命令,在编译之前的预处理阶段进行文本替换。A错,符号常量在预处理阶段被替换为对应文本,不是变量,运行时无法修改;B错,#define命令行末尾不加分号,加分号会把分号也作为替换内容的一部分;C错,符号常量是文本替换,不分配内存空间。
3. 设有宏定义 #define PI 3.14,以下说法正确的是( )
A. 编译时PI被替换为3.14,PI本身没有数据类型
B. PI是一个变量,其值为3.14
C. 程序运行时PI的值可以改变
D. PI占4个字节的内存空间
【答案】A
【解析】#define定义的符号常量在预处理阶段进行简单的文本替换,PI被替换为3.14,PI本身没有数据类型。B错,PI不是变量,是符号常量;C错,符号常量不能在运行时修改;D错,PI是文本替换,不占用内存空间,3.14作为浮点常量在表达式中使用时才涉及存储。
4. #include <stdio.h>与#include "stdio.h"的主要区别是( )
A. 两种写法完全相同,没有任何区别
B. 双引号形式查找速度更快
C. 尖括号形式从系统目录查找,双引号形式先从用户目录查找
D. 尖括号形式用于自定义头文件
【答案】C
【解析】尖括号形式告诉编译器到系统头文件目录中查找,双引号形式先到当前目录(用户目录)查找,找不到再到系统目录查找。A错,两种写法查找顺序不同;B错,双引号形式查找范围更广,速度不会更快;D错,自定义头文件通常用双引号形式包含。
5. 以下关于预处理命令的描述中,正确的是( )
A. 预处理命令在程序运行时执行
B. 预处理命令是C语言的执行语句
C. 预处理命令必须写在main函数内部
D. 预处理命令以#号开头,在编译之前被处理
【答案】D
【解析】预处理命令以#号开头,在编译之前的预处理阶段被处理。A错,预处理在编译前执行,不在运行时;B错,预处理命令不是执行语句,不生成机器码;C错,预处理命令通常写在文件开头(函数外部),不能写在函数内部。
6. 在C程序开发过程中,编译器的作用是( )
A. 将源程序直接转换为可执行文件
B. 将源程序翻译为目标程序
C. 编辑并保存源程序代码
D. 运行可执行文件并输出结果
【答案】B
【解析】编译器的作用是将源程序翻译为目标程序(.obj文件),这是一个语法检查和代码转换的过程。A错,编译不能直接生成可执行文件,还需要连接步骤;C错,编辑功能由编辑器完成,不是编译器;D错,运行程序由操作系统完成,不是编译器的职责。
7. 以下属于C语言预处理命令的是( )
A. #define和#include
B. printf和scanf
C. main和return
D. int和float
【答案】A
【解析】#define和#include都是以#号开头的预处理命令,分别用于宏定义和文件包含。B中printf和scanf是标准库函数,不是预处理命令;C中main是函数名,return是控制语句;D中int和float是数据类型关键字。
8. 设有宏定义 #define N 3+2,则表达式 N*N 的值是( )
A. 25
B. 13
C. 11
D. 10
【答案】C
【解析】宏定义是简单的文本替换,N*N替换后为3+2*3+2。按照运算符优先级,先算乘法2*3=6,再算加法3+6+2=11,而不是(3+2)*(3+2)=25。要得到25,宏定义应写为#define N (3+2),加括号确保整体参与运算。
9. 以下关于文件包含的描述中,正确的是( )
A. 一个源程序文件中最多包含一个头文件
B. #include命令可以写在函数内部
C. 文件包含允许嵌套,被包含的文件中还可以包含其他文件
D. 自定义头文件的扩展名必须为.h,不能使用其他扩展名
【答案】C
【解析】文件包含允许嵌套使用,即a.h包含b.h,程序再包含a.h时也会间接包含b.h的内容。A错,一个程序可以包含多个头文件;B错,#include命令应写在文件开头(函数外部);D错,自定义头文件习惯上用.h扩展名,但技术上可以使用其他扩展名。
10. 以下关于C程序上机步骤的描述中,错误的是( )
A. 编辑是输入和修改源程序的过程
B. 运行结果正确说明程序没有任何逻辑错误
C. 编译将源程序翻译成目标程序
D. 连接将目标程序与库函数连接成可执行文件
【答案】B
【解析】B的说法错误,运行结果正确不能说明程序没有任何逻辑错误——程序可能在某些特殊输入下才暴露问题,一次运行正确不能保证全部情况都正确。A、C、D描述均正确:编辑是录入代码的过程,编译生成目标代码,连接生成可执行文件。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
资源预览图
1
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。