当前位置:网站首页>分享一道关于#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语言结课的测试题,稍微感慨一下,如果我之前上课不昏睡过去的话,认真听课的话,我在测评的时候这道题就不会错了。不过还好有录播,亡羊补牢为时不晚。
希望接下来能够更加努力,和大家共同进步!!

边栏推荐
猜你喜欢

Li Hongyi machine learning team learning punch in activity day03 --- error and gradient decline

SQL database → constraint → design → multi table query → transaction

用户登录-以及创建、验证短信验证码

如何快速有效解决数据库连接失败问题

消息可靠性处理

Flask的使用

李宏毅机器学习组队学习打卡活动day03---误差和梯度下降

Notes Series docker installation PostgreSQL 14

Database design - relational data theory (ultra detailed)

Day3 ---Flask 状态保持,异常处理与请求钩子
随机推荐
C WPF uses listbox to implement ruler control
内部类与静态内部类区别及举例
初识C语言——为什么每个C程序都有一个main函数
初识C语言——初识指针
B1031 check ID card
flask一对多数据库创建,基础增删改查
Flask的使用
商品图片的管理
pytorch安装新坑
稀疏数组→五子棋的存盘续盘等操作
Graph cuts learning
B1022 a+b in d-ary
Dnsmasq Usage Summary
MQ set expiration time, priority, dead letter queue, delay queue
md5 密码加密
pytorch中几个难理解的方法整理--gather&squeeze&unsqueeze
B1025 reverse linked list*******
Utility gadget: kotlin code snippet
How to view the evaluation of tutors
Numpy data type conversion