当前位置:网站首页>分享一道关于#define的选择题(内含#define在预编译时的替换规则,程序环境和预处理相关知识)
分享一道关于#define的选择题(内含#define在预编译时的替换规则,程序环境和预处理相关知识)
2022-07-27 05:03:00 【vpurple__】
题目名称
目录
推荐阅读顺序:
1.题目->3.答案->2.题目分析->4.题目知识点
1.题目
1、执行下面程序,正确的输出是( )
设有以下宏定义:
#define N 3+1
#define Y(n) ((N+1)*n)则执行语句 z=2*(N+Y(5+1))后,z 的值为()
A、60 B、190 C、248 D、上述答案都不对
2.题目分析
这是一道很典型的#define的替换规则的题目。

3.题目答案
正确答案: A、60
4.题目知识点
4.1define 替换规则
在程序中扩展#define定义符号和宏时,需要涉及几个步骤。
1. 在调用宏时,首先对参数进行检查,看看是否包含任何由#define定义的符号。如果是,它们首先被替换。
2. 替换文本随后被插入到程序中原来文本的位置。对于宏,参数名被他们的值所替换。
3. 最后,再次对结果文件进行扫描,看看它是否包含任何由#define定义的符号。如果是,就重复上 述处理过程。

请注意:
宏的参数不是计算之后进入而是直接替换进入的。

更多相关知识点请看我整理的这篇博客:
(1条消息) 程序环境和预处理(下):#define、#undef、命令行编译、条件编译、文件包含(超全整理,建议收藏!!!_vpurple__的博客-CSDN博客
————————————————
大家好,这里是媛仔!欢迎来到媛仔的题目分享栏目,这里在之后应该会作为媛仔的错题本,将易错或者经典的题目记录下来分享给大家。感谢你阅读到最后,如果有什么错误或者遗漏欢迎私信我。
这道题目的来源是我c语言结课的测试题,稍微感慨一下,如果我之前上课不昏睡过去的话,认真听课的话,我在测评的时候这道题就不会错了。不过还好有录播,亡羊补牢为时不晚。
希望接下来能够更加努力,和大家共同进步!!

边栏推荐
猜你喜欢

redis集群

李宏毅机器学习组队学习打卡活动day06---卷积神经网络

pytorch 数据类型 和 numpy 数据 相互转化

JVM part I: memory and garbage collection part II -- class loading subsystem

Database connection pool & Druid usage

torch中乘法整理,*&torch.mul()&torch.mv()&torch.mm()&torch.dot()&@&torch.mutmal()

Rolling Division

接收方设置并发量和限流

B1021 single digit statistics

李宏毅机器学习组队学习打卡活动day04---深度学习介绍和反向传播机制
随机推荐
初识C语言——初识指针
C语言字符串介绍以及相关操作函数
初始C语言——关键字static的作用
Localdatetime and zoneddatetime
redis持久化
MQ set expiration time, priority, dead letter queue, delay queue
Multiplication sorting in torch, * & torch. Mul () & torch. MV () & torch. Mm () & torch. Dot () & @ & torch. Mutmal ()
Li Hongyi machine learning team learning punch in activity day01 --- introduction to machine learning
初识C语言——什么是C语言
Source code of document type full-text retrieval knowledge base management system
用户管理-分页
事务,订单系统添加事务
SQL database → constraint → design → multi table query → transaction
The concept of cloud native application and 15 characteristics of cloud native application
初识C语言——字符串+转义字符+注释
JWT认证及登录功能实现,退出登录
Graph cuts learning
elment-ui使用方法
消息可靠性处理
B1025 reverse linked list*******