内容正文:
【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《C语言程序设计》(电工版)《一课一练》第7练,内容是2.2.2 常量与符号常量。
《C语言程序设计》(电工版)一课一练 第7练
2.2.2 常量与符号常量
一、选择题
1. 程序开头写 #define RATE 8 后,RATE 在预处理阶段的作用是( )
A. 整型变量名
B. 函数形参名
C. 文本替换名
D. 文件指针名
2. 若 #define N 13,语句 int a[N]; 中 N 最终被替换为( )
A. 14
B. N
C. int
D. 13
3. 下列写法能定义符号常量 MAX 为 100 的是( )
A. #define MAX 100
B. int MAX=100
C. MAX int 100
D. define MAX=100
4. 把圆周率写成符号常量的主要好处是( )
A. 增加循环层数
B. 便于统一修改
C. 改变输入地址
D. 缩短目标文件
5. 若宏替换文本含表达式,设计时优先考虑的是( )
A. 省去宏名
B. 改成小写
C. 外层加括号
D. 放到文件末尾
二、判断题
6. 符号常量在程序运行期间可以用赋值语句重新赋值。( )
7. define 定义的宏名在预处理阶段完成替换。( )
三、填空题
8. 预处理阶段进行文本替换的名字称为 ______。
9. 带参宏中,为避免优先级错误,参数和整体表达式常加 ______。
四、读程序写结果题
10. 符号常量参与复合表达式,写出输出结果
#include <stdio.h>
#define K 4
int main(){
int a=4;
printf("%d",a*K+K);
return 0;
}
11. 符号常量作为数组长度使用,写出输出结果
#include <stdio.h>
#define N 3
int main(){
int a[N]={1,2,3};
printf("%d",a[N-1]);
return 0;
}
五、编程题
12. 用符号常量 RATE 表示每小时加工件数。输入工作小时 h,输出总件数;若 h 小于0,输出 Error。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《C语言程序设计》(电工版)《一课一练》第7练,内容是2.2.2 常量与符号常量。
《C语言程序设计》(电工版)一课一练 第7练
2.2.2 常量与符号常量
一、选择题
1. 程序开头写 #define RATE 8 后,RATE 在预处理阶段的作用是( )
A. 整型变量名
B. 函数形参名
C. 文本替换名
D. 文件指针名
【答案】C
【解析】无参宏在预处理阶段按宏名进行文本替换,不分配变量存储单元。
2. 若 #define N 13,语句 int a[N]; 中 N 最终被替换为( )
A. 14
B. N
C. int
D. 13
【答案】D
【解析】预处理先把宏名替换成对应文本,再进入编译阶段。
3. 下列写法能定义符号常量 MAX 为 100 的是( )
A. #define MAX 100
B. int MAX=100
C. MAX int 100
D. define MAX=100
【答案】A
【解析】符号常量常用 define 命令定义,宏名与替换文本之间不写等号。
4. 把圆周率写成符号常量的主要好处是( )
A. 增加循环层数
B. 便于统一修改
C. 改变输入地址
D. 缩短目标文件
【答案】B
【解析】同一常量多处使用时,宏定义能集中维护数值。
5. 若宏替换文本含表达式,设计时优先考虑的是( )
A. 省去宏名
B. 改成小写
C. 外层加括号
D. 放到文件末尾
【答案】C
【解析】表达式宏加括号可减少优先级变化引起的结果偏差。
二、判断题
6. 符号常量在程序运行期间可以用赋值语句重新赋值。( )
【答案】×
【解析】符号常量由预处理替换,不是变量。
7. define 定义的宏名在预处理阶段完成替换。( )
【答案】√
【解析】宏替换先于编译执行。
三、填空题
8. 预处理阶段进行文本替换的名字称为 ______。
【答案】宏名
【解析】宏定义用宏名代表替换文本。
9. 带参宏中,为避免优先级错误,参数和整体表达式常加 ______。
【答案】括号
【解析】括号能保护展开后的运算顺序。
四、读程序写结果题
10. 符号常量参与复合表达式,写出输出结果
#include <stdio.h>
#define K 4
int main(){
int a=4;
printf("%d",a*K+K);
return 0;
}
【答案】20
【解析】K 在预处理阶段替换为4,再按表达式求值。
11. 符号常量作为数组长度使用,写出输出结果
#include <stdio.h>
#define N 3
int main(){
int a[N]={1,2,3};
printf("%d",a[N-1]);
return 0;
}
【答案】3
【解析】N 替换为3,a[N-1] 即 a[2]。
五、编程题
12. 用符号常量 RATE 表示每小时加工件数。输入工作小时 h,输出总件数;若 h 小于0,输出 Error。
【答案】#include <stdio.h>
#define RATE 8
int main(){
int h;
scanf("%d",&h);
if(h<0) printf("Error");
else printf("%d",h*RATE);
return 0;
}
【解析】RATE 在预处理阶段替换为8,先判断小时数合法性再计算。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$