itgle.com
更多“以下有关宏的描述不正确的是( )。A.宏定义不做语法检查B.双引号中出现的宏名不进行替换C.宏名无类型D.宏名必须用大写字母表示”相关问题
  • 第1题:

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

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

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

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

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


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

  • 第2题:

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

    A.宏名.宏组名

    B.宏.宏名

    C.宏组名.宏名

    D.宏组名.宏


    正确答案:C

  • 第3题:

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

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

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

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

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


    正确答案:C
    解析:宏名一般习惯用大写字母表示,以便与变量名相区别,但这并非规定,也可用小写字母,所以选项A错误;宏命令出现在程序中函数的外面,宏名的有效范围为定义命令之后到本源文件结束,通常,宏命令写在文件开头,函数之前,作为文件的一部分,在此文件范围内有效,而并不必须位于源程序中所有语句之前,所以选项B错误;用宏名代替—个字符串,也就是作简单的置换,宏置换不占运行时间,只占编译时间,而日编译时并不分配内存单元,也不进行值的传递处理。而函数调用则占运行时间(分配单元、保留现场、值传递、返回),所以选项D错误;宏替换可以代替任何数据类型,不受数据类型的限制,所以选项C正确。

  • 第4题:

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

    A.宏展开不占用运行时间,只占用编译时间

    B.宏名无类型

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

    D.预处理命令行都必须以#号开始


    参考答案:C

  • 第5题:

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

    A.宏名必须用大写字母构成

    B.宏替换具有计算功能

    C.宏替换不具有计算功能

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


    正确答案:A
    宏名习惯采用大写字母,以便与一般变量区别,但是并没有规定一定要用大写字母,因此,答案为A选项。

  • 第6题:

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

    A)双引号中出现的宏名不替换

    B)使用宏定义可以嵌套

    C)宏定义仅仅是符号替换

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


    正确答案:D

  • 第7题:

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

    A)使用宏定义可以嵌套

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

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

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


    正确答案:D

  • 第8题:

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

    • A、宏替换不占用运行时间
    • B、宏名无类型
    • C、宏替换只是字符替换
    • D、宏名必须用大写字母表示

    正确答案:D

  • 第9题:

    以下有关宏定义的叙述,正确的是()

    • A、宏名必须用大写字母表示
    • B、带参数的宏就是一个函数
    • C、宏名不具有类型
    • D、宏定义和其它C语句,其末尾要加分号

    正确答案:C

  • 第10题:

    单选题
    在调用宏组中的宏时,指定宏名的语法格式是()
    A

    宏组名.宏名

    B

    宏名

    C

    宏组名!宏名

    D

    [宏组名]![宏名]


    正确答案: C
    解析: 暂无解析

  • 第11题:

    单选题
    以下的叙述中不正确的是()
    A

    宏展开不占用运行时间,只占用编译时间

    B

    宏名无类型

    C

    宏名必须用大写字母表示

    D

    预处理命令行都必须以#号开始


    正确答案: D
    解析: 暂无解析

  • 第12题:

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

    宏替换不具有计算功能

    B

    宏是一种预处理指令

    C

    宏名必须用大写字母构成

    D

    宏替换不占用运行时间


    正确答案: C
    解析:
    宏名习惯采用大写字母,以便与一般变量区别,但是并没有规定一定要用大写字母,答案选择C选项。

  • 第13题:

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

    A.使用宏定义可以嵌套

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

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

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


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

  • 第14题:

    以下说法正确的是( )。

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

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

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

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


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

  • 第15题:

    下面对宏定义的描述中不正确的是

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

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

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

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


    正确答案:C
    解析:本题考察对宏的理解。宏其实就是替换,这种替换不是在运行时进行,而是自编译时就完成的。替换时仅仅将表达式展开.不进行运算求值。

  • 第16题:

    宏组中的宏的调用格式为( )。

    A.宏组名.宏名

    B.宏名称

    C.宏名.宏组名

    D.以上都不对


    正确答案:A
    解析:本题考查运行宏组时对宏的调用。宏调用格式为“宏组名.宏名”,答案为A。

  • 第17题:

    宏组中的宏的调用格式是______。

    A.宏组名.宏名

    B.宏名称

    C.宏名.宏组名

    D.以上都不对


    正确答案:A

  • 第18题:

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

    A)宏定义不做语法检查

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

    C)宏名无类型

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


    正确答案:D

  • 第19题:

    在调用宏组中的宏时,指定宏名的语法格式是()

    • A、宏组名.宏名
    • B、宏名
    • C、宏组名!宏名
    • D、[宏组名]![宏名]

    正确答案:A

  • 第20题:

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

    • A、宏展开不占用运行时间,只占用编译时间
    • B、宏名无类型
    • C、宏名必须用大写字母表示
    • D、预处理命令行都必须以#号开始

    正确答案:C

  • 第21题:

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

    • A、宏替换不占用运行时间
    • B、宏名无类型
    • C、宏替换只是字符串替换
    • D、宏替换是在运行时进行的

    正确答案:D

  • 第22题:

    单选题
    以下关于宏的叙述中正确的是(  )。
    A

    宏名必须用大写字母表示

    B

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

    C

    宏替换没有数据类型限制

    D

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


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

  • 第23题:

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

    宏替换不占用运行时间

    B

    宏名无类型

    C

    宏替换只是字符串替换

    D

    宏替换是在运行时进行的


    正确答案: C
    解析: 暂无解析