宏定义行中定义了标识符N的值为整数100
在编译程序对C源程序进行预处理时用100替换标识符N
上述宏定义行实现将100赋给标识符N
在运行时用100替换标识符N
第1题:
以下关于宏的叙述错误的是()
A.宏名必须用大写字母表示
B.宏替换时要进行语法检查
C.宏替换不占用运行时间
D.宏定义中不允许引用已有的宏名
第2题:
当源程序被汇编时,汇编程序将对每个宏调用作宏展开。宏展开就是用宏定义体取代源程序中的宏指令名,并且用实元取代宏定义中的哑元,对应关系是一一对应。( )
第3题:
若程序中有宏定义行 :#define N 100 则以下叙述中正确的是
A) 宏定义行中定义了标识符 N 的值为整数100
B) 在编译程序对C 源程序进行预处理时用100 替换标识符N
C) 对 C 源程序进行编译时用 100 替换标识符N
D) 在运行时用 100 替换标识符N
第4题:
以下关于宏的叙述中正确的是( )
A.宏名必须用大写字母表示
B.宏替换时要进行语法检查
C.宏替换不占用运行时间
D.宏定义中不允许引用已有的宏名
第5题:
以下叙述正确的是______。
A.可以把define和if定义为用户标识符
B.可以把define定义为用户标识符,但不能把if定义为用户标识符
C.可以把if定义为用户标识符,但不能把define定义为用户标识符
D.define和if都不能定义为用户标识符
第6题:
在下列有关宏替换的叙述中,错误的是()
A.宏替换占用运行时间
B.宏替换只是字符替换
C.带参数的宏替换和函数等价
D.宏名有类型
第7题:
若程序有宏定义:#define N l00,则以下叙述中正确的是( )。
A.宏定义中定义了标识符N的值为整数100
B.在编译程序对C源程序进行预处理时用l00替换标识符N
C.对C源程序进行编译时用100替换标识符N
D.在运行时用100替换标识符N
第8题:
若有以下宏定义:
#define N 2
#define Y(n)((N+1)*n)
则执行语句z=2*(N+Y(5));后的结果是( )。
A.语句有错误
B.z=34
C.z=70
D.z无定值
本题考查宏定义的功能,可以把它看成一个函数,直接代人参数,可计算出结果为34, 故选B。
第9题:
若程序中有宏定义行:#define N 100 则以下叙述中正确的是
A.宏定义行中定义了标识符N的值为整数100
B.在编译程序对C源程序进行预处理时用100替换标识符N
C.对C源程序进行编译时用100替换标识符N
D.在运行时用100替换标识符N
第10题:
在下列关于宏定义命令# define的叙述中,正确的一条是 ( )
A.用一个指定的标识符(宏名)来代替一个长整型数
B.用一个指定的标识符(宏名)来代替一个双精度数
C.用一个指定的标识符(宏名)来代替一个字符串
D.用一个指定的标识符(宏名)来代替一个单精度实数