以下有关宏替换的叙述不正确的是()。A、宏替换不占用运行时间B、宏名无类型C、宏替换只是字符串替换D、宏替换是在运行时进行的

题目

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

  • A、宏替换不占用运行时间
  • B、宏名无类型
  • C、宏替换只是字符串替换
  • D、宏替换是在运行时进行的
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下叙述中错误的是( )。

A.预处理命令行必须位于源文件的开头

B.宏替换可以出现在任何一行的开始部位

C.宏替换的作用一直持续到源文件结尾

D.宏替换不占有程序的运行时间


正确答案:A
C语言中对于预处理命令行的位置没有明确的规定。通常,预处理命令位于源文件的开头,也可以写在函数与函数之间;不能在一行上写多条预处理命令:宏名一般习惯用大写字母表示,以便与变量名相区别,但这并非规定,也可用小写字母。

第2题:

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

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

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

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

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


正确答案:ABD

第3题:

若程序中有宏定义行 :#define N 100 则以下叙述中正确的是

A) 宏定义行中定义了标识符 N 的值为整数100

B) 在编译程序对C 源程序进行预处理时用100 替换标识符N

C) 对 C 源程序进行编译时用 100 替换标识符N

D) 在运行时用 100 替换标识符N


正确答案:B

第4题:

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

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

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

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

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


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

第5题:

宏替换不占编译时间,只占运行时间。()

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


参考答案:错误

第6题:

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

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

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

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

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


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

第7题:

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

A.宏替换占用运行时间

B.宏替换只是字符替换

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

D.宏名有类型


正确答案:ACD

第8题:

以下关于宏的叙述中正确的是

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

B) 宏定义必须位于源程序中所有语句之前

C) 宏替换没有数据类型限制

D) 宏调用比函数调用耗费时间


正确答案:C

第9题:

下列关于宏的叙述中正确的是( )。

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

B.宏定义必须位于源程序中所有语句之前

C.宏替换没有数据类型限制

D.宏调用比函数调用耗费时间


正确答案:C
C。【解析】本题考查宏的相关知识点。宏名没有大小写限制;宏定义可以放在程序中的任何位置,其有效范围是从定义开始到文件结束;宏替换可以代替任何数据类型,不受数据类型的限制;函数影响运行时间,宏调用影响编译时间。

第10题:

以下有关宏的描述不正确的是( )。

A.宏定义不做语法检查

B.双引号中出现的宏名不进行替换

C.宏名无类型

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


正确答案:D
解析:本题考查宏的使用规则:①字符替换格式:#define标识符字符串.标识符称为宏名,无类型;②双引号中出现的宏名不替换;③宏名的定义通常用大写字母,但不是必须用大写;④宏定义不是赋值语句,不做语法检查。

更多相关问题