itgle.com

设有定义:#define STR "12345";,则以下叙述中正确的是( )A.宏名STR代替的是数值常量12345B.宏定义以分号结束,编译时一定会产生错误信息C.宏名STR代替的是字符串"12345";D.宏名STR代替的是字符串常量"12345"

题目

设有定义:#define STR "12345";,则以下叙述中正确的是( )

A.宏名STR代替的是数值常量12345

B.宏定义以分号结束,编译时一定会产生错误信息

C.宏名STR代替的是字符串"12345";

D.宏名STR代替的是字符串常量"12345"


相似考题
更多“设有定义:#defineSTR"12345";,则以下叙述中正确的是()A.宏名STR代替的是数值常量12345B.宏定义以 ”相关问题
  • 第1题:

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

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

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

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

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


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

  • 第2题:

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

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

    B)使用宏定义可以嵌套

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

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


    正确答案:D

  • 第3题:

    【单选题】分析下列叙述是正确的()

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

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

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

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


    尿中浓度高

  • 第4题:

    从下面的选项中选出正确的答案在宏定义:#define MAXINT 324 中,宏名 MAXINT代替的是(37)。

    A.实型数

    B.整型数

    C.常量

    D.一串字符


    正确答案:D
    解析:本题考查的是一个简单的宏定义,简单宏定义的一般形式如下:#define宏名>字符串>其中,define是宏定义命令的关键字,宏名>是一个标识符,字符串>可以是常数、表达式、格式串等。在程序被编译的时侯,如果遇到宏名,先将宏名用指定的字符串替换,然后再进行编译。

  • 第5题:

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

    A)使用宏定义可以嵌套

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

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

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


    正确答案:D