多选题 2分 以下关于#define的说法正确的有( ) AA. #define是预处理指令 BB. 宏定义通常大写 CC. 宏定义不是语句 DD. 宏定义可以有参数 EE. 宏定义占用运行时间 FF. 宏定义有类型检查 GG. 宏定义必须加分号 HH. 宏定义可以嵌套
多选题 2分 以下关于条件编译的说法正确的有( ) AA. 条件编译可以调试代码 BB. 条件编译可以跨平台 CC. 条件编译影响程序逻辑 DD. 条件编译减少代码体积 EE. 条件编译必须用#endif FF. 条件编译在运行时判断 GG. 条件编译不能有#else HH. #else是必需的
多选题 2分 以下关于#include的说法正确的有( ) AA. #include "file.h"先在当前目录查找 BB. #include <file.h>按系统路径查找 CC. 两种形式效果完全相同 DD. #include只能用一次 EE. #include必须放在程序开头 FF. #include可以有多个 GG. 头文件后缀必须是.h HH. #include不能嵌套
多选题 2分 以下关于宏替换的说法正确的有( ) AA. 宏替换是文本替换 BB. 宏替换有类型检查 CC. 宏参数是文本替换 DD. 宏替换不占用运行时间 EE. 宏替换有调用开销 FF. 宏替换只能替换一次 GG. 宏替换占用运行时间 HH. 宏不能有参数
多选题 2分 以下关于#define和const的说法正确的有( ) AA. #define和const完全相同 BB. const有类型检查 CC. #define有作用域 DD. const定义的是常量 EE. #define不能定义常量 FF. const不占用存储空间 GG. #define有类型检查 HH. const是预处理指令
多选题 2分 以下关于宏定义的说法错误的有( ) AA. #define是预处理指令 BB. 宏定义没有分号 CC. 宏替换在编译前进行 DD. 宏没有调用开销 EE. 宏定义必须加分号 FF. 宏有调用开销 GG. 宏是文本替换 HH. 宏参数是文本替换
多选题 2分 以下关于头文件重复包含的说法正确的有( ) AA. 头文件重复包含浪费编译时间 BB. #ifndef可以防止重复包含 CC. 重复包含不影响编译 DD. #pragma once可以防止重复包含 EE. 头文件不能重复包含 FF. 重复包含不影响运行 GG. #define可以防止重复包含 HH. 重复包含是允许的
多选题 2分 以下关于#undef的说法正确的有( ) AA. #undef取消宏定义 BB. #undef后宏仍有效 CC. #undef必须指定宏名 DD. #undef必须指定新值 EE. #undef不能用于函数宏 FF. #undef可以取消变量 GG. #undef是必需的 HH. #undef不能用于取消宏
多选题 2分 以下关于宏函数定义的说法正确的有( ) AA. 宏函数参数要用括号 BB. 宏函数不需要括号 CC. 整个表达式要用括号 DD. 参数可能多次求值 EE. 宏函数比函数效率低 FF. 宏函数没有副作用 GG. 宏函数有类型检查 HH. 宏函数不能有参数
多选题 2分 以下关于#if、#ifdef、#ifndef的说法正确的有( ) AA. #if后面跟表达式 BB. #ifdef检查宏是否定义 CC. #ifndef检查宏是否未定义 DD. 三者完全等价 EE. #if只能用于宏 FF. #ifdef后面只能是0或1 GG. #ifndef不能与#else连用 HH. 三者不能嵌套
多选题 2分 以下关于预处理指令的说法正确的有( ) AA. 预处理指令以#开头 BB. 预处理指令不是C语句 CC. 预处理指令在运行时执行 DD. 预处理在编译前执行 EE. 预处理指令必须缩进 FF. 预处理指令必须大写 GG. 预处理指令是C语句 HH. 预处理指令在函数内
多选题 2分 以下关于文件包含的说法正确的有( ) AA. 文件包含插入指定文件内容 BB. #include只能包含.h文件 CC. 嵌套包含可能导致重复定义 DD. 使用条件编译可以防止重复包含 EE. #include不能嵌套 FF. #include一次只能包含一个文件 GG. 包含的文件必须存在 HH. #include只能在开头
多选题 2分 以下关于宏的参数的说法正确的有( ) AA. 宏的参数是文本替换 BB. 宏的参数有类型 CC. 宏的参数可能多次求值 DD. 宏的参数不是变量 EE. 宏的参数必须是常量 FF. 宏的参数不能是表达式 GG. 宏的参数只求值一次 HH. 宏的参数是值传递
多选题 2分 以下关于#if defined的说法正确的有( ) AA. defined是预处理运算符 BB. #if defined(MACRO)检查宏是否定义 CC. defined可以用在任何地方 DD. #if defined与#ifdef完全等价 EE. defined必须在#if外面使用 FF. #if defined不能与#else连用 GG. #if defined只能检查变量 HH. defined是C运算符