更多“以下有关宏替换的叙述不正确的是()。A、宏替换不占用运行时间B、宏名无类型C、宏替换只是字符串替换D、宏替换是在运行时进行的”相关问题
  • 第1题:

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

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

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

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

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


    正确答案:ABD

  • 第2题:

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

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


    参考答案:错误

  • 第3题:

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

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

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

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

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


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

  • 第4题:

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

    A.使用宏定义可以嵌套

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

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

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


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

  • 第5题:

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

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

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

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

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


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

  • 第6题:

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

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

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

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

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


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

  • 第7题:

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

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

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

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

    D.在运行时用100替换标志符N


    正确答案:B

  • 第8题:

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

    A)宏定义不做语法检查

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

    C)宏名无类型

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


    正确答案:D

  • 第9题:

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

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

    正确答案:D

  • 第10题:

    宏替换函数的作用是()。


    正确答案:用宏替换函数中字符串变量的值替换宏替换函数

  • 第11题:

    单选题
    若程序中有宏定义行:#define N 100则以下叙述中正确的是(  )。
    A

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

    B

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

    C

    上述宏定义行实现将100赋给标识符N

    D

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


    正确答案: D
    解析:
    D项正确,预处理程序对源程序中所有使用宏名的地方进行直接替换。A项错误,宏定义没有类型限制;B项错误,预处理程序进行宏替换,而非编译程序;C项错误,宏定义不是赋值操作,而是进行在预编译时进行替换。答案选择D选项。

  • 第12题:

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

    宏替换不具有计算功能

    B

    宏是一种预处理指令

    C

    宏名必须用大写字母构成

    D

    宏替换不占用运行时间


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

  • 第13题:

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

    A.宏替换占用运行时间

    B.宏替换只是字符替换

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

    D.宏名有类型


    正确答案:ACD

  • 第14题:

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

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

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

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

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


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

  • 第15题:

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

    A.宏定义不做语法检查

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

    C.宏名无类型

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


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

  • 第16题:

    以下说法正确的是( )。

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

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

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

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


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

  • 第17题:

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

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

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

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

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


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

  • 第18题:

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

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

    B.宏替换具有计算功能

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

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


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

  • 第19题:

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

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

    B)使用宏定义可以嵌套

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

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


    正确答案:D

  • 第20题:

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

    A)使用宏定义可以嵌套

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

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

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


    正确答案:D

  • 第21题:

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


    正确答案:错误

  • 第22题:

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

    宏名必须用大写字母表示

    B

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

    C

    宏替换没有数据类型限制

    D

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


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

  • 第23题:

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

    宏替换不占用运行时间

    B

    宏名无类型

    C

    宏替换只是字符串替换

    D

    宏替换是在运行时进行的


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