第六章 预处理命令 ·1 · 第六章 预处理命令 6 .1 选择题 1. 下面叙述中正确的是( )
带参数的宏定义中参数是没有类型的 B
宏展开将占用程序的运行时间 C
宏定义命令是 C语言中的一种特殊语句 D
使用#include命令包含的头文件必须以“
h”为后缀 2. 下面叙述中正确的是( )
宏定义是 C语句,所以要在行末加分号 B
可以使用#undef命令来终止宏定义的作用域 C
在进行宏定义时,宏定义不能层层嵌套 D
对程序中用双引号括起来的字符串内的字符,与宏名相同的要进行置换 3. 在“文件包含”预处理语句中,当#include后面的文件名用双引号括起时,寻找被包含文件的方式为( )
直接按系统设定的标准方式搜索目录 B
先在源程序所在目录搜索,若找不到,再按系统设定的标准方式搜索 C
仅仅搜索源程序所在目录 D
仅仅搜索当前目录 4. 下面叙述中不正确的是( )
函数调用时,先求出实参表达式,然后带入形参
而使用带参的宏只是进行简单的字符替换 B
函数调用是在程序运行时处理的,分配临时的内存单元
而宏展开则是在编译时进行的,在展开时也要分配内存单元,进行值传递 C
对于函数中的实参和形参都要定义类型,二者的类型要求一致,而宏不存在类型问题,宏没有类型 D
调用函数只可得到一个返回值,而用宏可以设法得到几个结果 5. 下面叙述中不正确的是( )
使用宏的次数较多时,宏展开后源程序长度增长
而函数调用不会使源程序变长 B
函数调用是在程序运行时处理的,分配临时的内存单元
而宏展开则是在编译时进行的,在展开时不分配内存单元,不进行值传递 C
宏替换占用编译时间 D
函数调用占用编译时间 6. 下面叙述中正确的是( )
可以把 define和 if定义为用户标识符 B
可以把 defi