单选题以下关于宏的叙述错误的是(  )。A 宏替换不具有计算功能B 宏是一种预处理指令C 宏名必须用大写字母构成D 宏替换不占用运行时间

题目
单选题
以下关于宏的叙述错误的是(  )。
A

宏替换不具有计算功能

B

宏是一种预处理指令

C

宏名必须用大写字母构成

D

宏替换不占用运行时间

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

第1题:

以下叙述中正确的是( )。

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

B.在源文件的一行上可以有多条预处理命令

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

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


正确答案:D
解析:本题的考点是C语言的预处理。预处理命令行可以出现在源程序的任何位置上,因此选项A的说法是错误的。源程序的一行上只能出现一条预处理命令,因此选项B的说法也是错误的。宏名只要是符合要求的标识符都可以,没有规定一定要大写,因此选项C的说法也是错误的。宏替换在程序编译时,就由编译程序对出现的宏名进行了相应的宏替换,因此宏替换不占用程序的运行时间。选项D的说法是正确的。

第2题:

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

A.宏替换占用运行时间

B.宏替换只是字符替换

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

D.宏名有类型


正确答案:ACD

第3题:

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

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

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

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

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


正确答案:C

第4题:

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

A.宏定义不做语法检查

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

C.宏名无类型

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


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

第5题:

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

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

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

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

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


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

第6题:

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

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

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

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

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


正确答案:ABD

第7题:

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

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

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

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

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


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

第8题:

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

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

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

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

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


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

第9题:

以下叙述中正确的是

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

B.在源文件的一行上可以有多条预处理命令

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

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


正确答案:D
解析:本题考查的是编译预处理的一些基本概念。在C语言中,凡是以“#”号开头的行,都称为“编译预处理”命令行。它们可以根据需要出现在程序的任何一行的开始部位,选项A是错误的。一条预处理命令至少得占一行,选项B是错误的。宏名可以是任何合法的C语言标识符,只不过通常习惯用大写字母,因此选项C是错误的。宏定义是“编译预处理”命令,它们的替换过程在编译时期就已经完成了,因此不会占有程序运行的时间,选项D是正确的。

第10题:

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

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

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

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

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


正确答案:C

更多相关问题