工学

单选题宏定义时,是通过()实现参数传递的。A 哑元和实元B 堆栈C 寄存器D 存储单元

题目
单选题
宏定义时,是通过()实现参数传递的。
A

哑元和实元

B

堆栈

C

寄存器

D

存储单元

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

常量的定义要通过ifndef宏指令来实现。()

此题为判断题(对,错)。


参考答案:错误

第2题:

●下列叙述中正确的是 (34) 。

(34) A.宏替换不占用运行时间

B.在带参的宏定义中,要定义其形式参数的类型

C.在带参的宏定义中,形式参数是变量

D.在带参的宏定义中,形式参数是常量


正确答案:A
【解析】带参的宏定义与函数类似。如果我们把宏定义时出现的参数视为形参,而在程序中引用宏定义时出现的参数视为实参。虽然带参数的宏定义和带参数的函数很相似,但它们还是有本质上的区别:
①在带参的宏定义中,形式参数不是变量,只是一个符号,不分配内存单元,不必定义其形式参数的类型。发生宏"调用"时,只是将实参替换形参。而在函数中,形参和实参是完全独立的变量,它们均有自己的作用域。当调用发生时,实参传递给形参的过程(值传递或引用传递)完全不同于简单的宏替换。
②在宏定义中的形参是标识符,而宏调用中的实参可以是表达式。
③从发生的时间来说,宏"调用"是在编译时发生的,函数调用是在程序运行时发生的;宏"调用"不存在内存单元分配的问题,而函数调用时,会给形参变量分配内存单元,然后复制实参的值,函数调用结束后,形参变量占用的内存单元被释放。

第3题:

80x86汇编中,宏展开就是用宏定义体取代程序中的宏指令名,用实元取代宏定义中的()。

A.哑元

B.参数表

C.变量

D.标号


正确答案:A

第4题:

宏定义中DUMMY PARAMETER LIST称为哑元表,给出宏定义中所用到的形式参数,每个虚参数之间用逗号隔开。( )


正确答案:对

第5题:

宏定义中的形式参数可以多于宏调用的实在参数。()


参考答案:正确

第6题:

要限制宏操作的范围,可以在创建宏时定义( )。

A.宏操作对象

B.宏操作参数

C.宏条件表达式

D.宏操作备注


正确答案:C
解析: 本题考查宏操作的知识。如果只希望满足指定条件执行宏的一个或多个操作也就是限制宏操作的范围,可以在创建宏时定义条件表达式从而形成条件操作宏。

第7题:

要限制宏操作的范围,可以在创建宏时定义( )。

A)宏操作对象

B)宏操作参数

C)宏条件表达式

D)宏操作备注


正确答案:C
本题考查宏操作的知识。如果只希望满足指定条件执行宏的一个或多个操作也就是限制宏操作的范围,可以在创建宏时定义条件表达式从而形成条件操作宏。

第8题:

宏定义可分为带参数的宏定义和不带参数的宏定义两类。()

此题为判断题(对,错)。


参考答案:正确

第9题:

宏调用就是对宏定义按参数表作替换,这实际上就相当于子程序的参数传递过程,这就是宏展开。( )


正确答案:对

第10题:

在标准C语言中,在定义带参数的宏时也要定义参的类型。()

此题为判断题(对,错)。


正确答案:错误

更多相关问题