以下有关宏的描述不正确的是( )。A)宏定义不做语法检查 B)双引号中出现的宏名不进行替换C)宏名无

题目

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

A)宏定义不做语法检查

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

C)宏名无类型

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

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

第1题:

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

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

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

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

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


正确答案:ABD

第2题:

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

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

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

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

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


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

第3题:

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

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

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

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

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


正确答案:C

第4题:

以下说法正确的是( )。

A.宏定义是C语句,要在行末加分号

B.可以使用#undefine提前结束宏名的使用

C.在进行宏定义时,宏定义不能嵌套

D.双引号中出现的宏名也要进行替换


正确答案:B
解析:本题考查宏的使用规则:①字符替换格式:#define标识符字符串,行末不加分号;②双引号中出现的宏名不替换;③如果提前结束宏名的使用,程序中可以使用#ndefine;④在进行宏定义时,宏定义能层层置换,能够嵌套。

第5题:

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

A.使用宏定义可以嵌套

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

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

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


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

第6题:

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

A.宏替换占用运行时间

B.宏替换只是字符替换

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

D.宏名有类型


正确答案:ACD

第7题:

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

A.宏定义不做语法检查

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

C.宏名无类型

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


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

第8题:

如果引用宏组中的宏名,采用的语法是【 】。


正确答案:宏组名.宏名
宏组名.宏名 解析:为了在宏组中执行宏,用户可以使用“宏组名.宏名”的格式调用宏组中的某个宏。宏组是一系列相关宏的集合,如果有许许多多的宏,那么将相关的宏分组到不同的宏组可以有助于方便地对数据库进行管理。宏名是用于标识宏的惟一名称。

第9题:

使用下列方法来引用宏( )。

A.宏名.宏组名

B.宏.宏名

C.宏组名.宏名

D.宏组名.宏


正确答案:C

第10题:

以下叙述中不正确的是______。

A.C程序中的预处理命令行都以#号开始

B.宏定义中的宏名可用大写字母或小写字母

C.宏替换不占用运行时间,只占用编译时间

D.使用带参数的宏时,参数的类型应与宏定义时的一致


正确答案:D
解析:宏替换和函数调用有相似之处,但在替换时,对参数没有类型的要求。

更多相关问题