有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。()

题目

有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。()

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

第1题:

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

A)宏操作对象

B)宏操作参数

C)宏条件表达式

D)宏操作备注


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

第2题:

在下列有关宏替换的叙述中,错误的是()

A.宏替换占用运行时间

B.宏替换只是字符替换

C.带参数的宏替换和函数等价

D.宏名有类型


正确答案:ACD

第3题:

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

A.宏操作对象

B.宏操作参数

C.宏条件表达式

D.宏操作备注


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

第4题:

一个非条件宏,运行时系统会______。

A.执行部分宏操作

B. 执行全部宏操作

C. 执行设置了参数的宏操作

D. 等待用户选择执行每个宏操作


正确答案:B

第5题:

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


正确答案:对

第6题:

以下关于宏的叙述错误的是()

A.宏名必须用大写字母表示

B.宏替换时要进行语法检查

C.宏替换不占用运行时间

D.宏定义中不允许引用已有的宏名


正确答案:ABD

第7题:

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


参考答案:正确

第8题:

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

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

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

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

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


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

第9题:

下面是对宏定义的描述,不正确的是 ______。

A.宏不存在类型问题,宏名无类型,它的参数也无类型

B.宏替换不占用运行时间

C.宏替换时先求出实参表达式的值,然后代入形参运算求值

D.宏替换只不过是字符替代而已


正确答案:C
解析:宏替换实质上就是字符替代,它不可能进行计算,故C错误。带参数的宏与函数相比,宏在程序编译之前已经将代码替换到程序内,执行时不会产生类似于函数调用的问题,可以说不占用运行时间。

第10题:

以下有关宏替换的叙述不正确的是( )。

A.使用宏定义可以嵌套

B.宏定义语句不进行语法检查

C.双引号中出现的宏名不替换

D.宏名必须用大写字母表示


正确答案:D
解析:本题考查宏替换的规则。宏替换有两类:简单的字符替换和带参数的宏替换。使用宏应注意:①宏定义仅仅是符号替换,不是赋值语句,因此不做语法检查:②为了区别程序中其他的标示符,宏名的定义通常用大写字母,但不是必须用大写;③双引号中出现的宏名不替换;④使用宏定义可以嵌套,即后定义的宏中可以使用先定义的宏。

更多相关问题