第七章测试
1.宏展开的本质是( )。
A:用宏体字符串替换源程序中宏定义位置后的所有宏名的出现 B:用宏体字符串替换源程序中宏定义位置后的非字符串内的所有宏名的出现 C:用宏体字符串替换源程序中宏定义位置后的所有宏名常量 D:用宏体字符串替换源程序中宏定义位置后的所有宏名变量
答案:B
2.关于带参宏,以下说法错误的是( )。
A:带参宏的形参和实参也分别称为形参字符串和实参字符串 B:带参宏也称为函数宏 C:带参宏替换的本质是字符串替换 D:带参宏功能与带参函数功能是等价的 3.

对如下代码:
#define SQ(n) n*n
int main(void) {
   int m=1,n=3;
   printf(“%d\n”,SQ(2*m+n));
   return 0;
} /*End of main*/
那么,程序运行结果为( )。


A:9 B:11 C:语法错误 D:25 4.宏的作用范围是( )。
A:可以通过extern扩展到整个文件 B:整个文件 C:从宏定义位置到#undef之间 D:从宏定义位置到整个文件的最后 5.宏的常见应用场景有( )。
A:定义程序代码片段 B:定制代码书写习惯 C:定义公共表达式 D:定义常量 6.预处理是将源程序翻译程二进制目标代码前的准备性工作。( )
A:错 B:对 7.宏替换只是简单的字符串替换,一般不应该对其主观上赋予更多其他意义。( )
A:错 B:对 8.宏调用是可以嵌套的。( )
A:对 B:错 9.带参宏的宏名和形参表之间不能有空格分隔符。( )
A:错 B:对 10.一个#include只能包含一个文件。( )
A:错 B:对

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(12) dxwkbang
返回
顶部