以下关于#include的说法中,正确的是( )
- AA. #include只能用双引号
- BB. #include可以用双引号或尖括号
- CC. #include只能包含系统头文件
- DD. #include不能嵌套
若有定义:#define PI 3.14159,则PI是( )
- AA. 变量
- BB. 函数
- CC. 常量
- DD. 语句
若有定义:#define S(a,b) a*b,则S(3,4)的值是( )
- AA. 7
- BB. 12
- CC. 3*4
- DD. 34
若有定义:#define MAX(x,y) (x)>(y)?(x):(y),则MAX(3,5)的值是( )
- AA. 5
- BB. 3
- CC. 8
- DD. 2
以下关于条件编译的说法中,正确的是( )
- AA. 条件编译根据条件选择代码
- BB. 条件编译在运行时判断
- CC. 条件编译不需要endif
- DD. 条件编译不能嵌套
若有定义:#define SQ(x) x*x,则SQ(3+1)的值是( )
- AA. 16
- BB. 7
- CC. 10
- DD. 9
若有定义:#define N 100,则以下说法正确的是( )
- AA. N是符号常量
- BB. N是变量
- CC. N占用存储空间
- DD. N有类型
以下关于#define的说法中,错误的是( )
- AA. 宏替换不占用运行时间
- BB. 宏替换没有类型检查
- CC. 宏替换有参数类型检查
- DD. 宏定义通常大写
若有条件编译:#ifdef DEBUG printf("debug"); #endif,若DEBUG未定义,则( )
- AA. 编译错误
- BB. printf语句不会被编译
- CC. printf语句会被编译
- DD. 程序无法运行
若有定义:#define F(x) x+1,则F(F(1))的值是( )
- AA. 2
- BB. 3
- CC. 3
- DD. 4
#include "file.h"和#include 的区别是( )
- AA. 查找路径不同
- BB. 效果完全相同
- CC. 双引号只能用于用户头文件
- DD. 尖括号只能用于系统头文件
以下关于条件编译#else的说法中,正确的是( )
- AA. #else必须有#endif对应
- BB. #else用于提供备选分支
- CC. #else必须单独成行
- DD. #else不能与#ifdef连用
若有定义:#define N 5,则执行int a[N];是正确的(假设N是常量)
- AA. 错误,因为N不是常量
- BB. 取决于C语言标准
- CC. 正确,宏展开后是常量
- DD. 取决于编译器
若有定义:#define PRINT(x) printf("%d",x),则PRINT(a+b)展开为( )
- AA. printf("%d",a+b)
- BB. printf("%d",a)+b
- CC. printf("%d",a),b
- DD. printf("%d",x)
以下关于#undef的说法中,正确的是( )
- AA. #undef用于定义宏
- BB. #undef后宏仍然有效
- CC. #undef用于取消已定义的宏
- DD. #undef必须指定新值
若有定义:#define M(x,y,z) x+y*z,则M(1,2,3)的值是( )
- AA. 7
- BB. 9
- CC. 5
- DD. 6
#if defined(DEBUG)和#ifdef DEBUG的关系是( )
- AA. 完全不同
- BB. 作用相同
- CC. #if defined更严格
- DD. #ifdef更现代
以下关于条件编译嵌套的说法中,正确的是( )
- AA. 条件编译可以嵌套
- BB. 条件编译不能嵌套
- CC. 嵌套深度有限制
- DD. 只能嵌套一层
若有定义:#define SQR(x) ((x)*(x)),则SQR(3+2)的值是( )
- AA. 13
- BB. 17
- CC. 25
- DD. 30
#pragma once的作用是( )
- AA. 定义宏
- BB. 防止头文件重复包含
- CC. 条件编译
- DD. 包含文件
本页仅提供题目与选项供学习参考,不含答案。如需系统练习、自动判分与错题本,欢迎前往主站《NCRE计算机等级考试二级(C语言程序设计)》在线练习。