c语言第8章-编译预处理及位运算习题答案(6页).doc





《c语言第8章-编译预处理及位运算习题答案(6页).doc》由会员分享,可在线阅读,更多相关《c语言第8章-编译预处理及位运算习题答案(6页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-c语言第8章-编译预处理及位运算习题答案-第 6 页编译预处理习题一 单项选择题1. 在宏定义#define A 3.897678中,宏名A代替一个( )。A) 单精度数 B) 双精度数 C) 常量 D) 字符串2. 以下叙述中正确的是 A)预处理命令行必须位于源文件的开头 B)在源文件的一行上可以有多条预处理命令C)宏名必须用大写字母表示 D)宏替换不占用程序的运行时间3. C语言的编译系统对宏命令的处理( )。A) 在程序运行时进行的 B) 在程序连接时进行的C) 和C程序中的其它语句同时进行的D) 在对源程序中其它语句正式编译之前进行的4. 在文件包含预处理语句的中,被包含文件名用“”
2、括起时,寻找被包含文件的方式是( )。A) 直接按系统设定的标准方式搜索目录B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索C) 仅仅在源程序所在目录搜索D) 仅仅搜索当前目录5. 以下说法中正确的是A)#define和printf都是C语句 B)#define是C语句,而printf不是C)printf是C语句,但#define不是 D)#define和printf都不是C语句6. #define A 3.897678#include main( ) printf(“A=%f ”,A);程序运行结果为( )。A) 3.897678=3.897678 B) 3.897678=A C)
3、A=3.897678 D) 无结果7. 有宏定义:#define LI(a,b) a*b #define LJ(a,b) (a)*(b)在后面的程序中有宏引用:x=LI(3+2,5+8); y=LJ(3+2,5+8);则x、y的值是( )。A) x=65,y=65 B) x=21,y=65 C) x=65,y=21 D)x=21,y=218. 有以下程序# define f(x) (x*x)main() int i1, i2;i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ;printf(%d, %dn,i1,i2);程序运行后的输出结果是A)64, 28 B)4, 4 C)4
4、, 3 D)64, 649. 以下程序的输出结果是#define M(x,y,z) x*y+zmain() int a=1,b=2, c=3;printf(“%dn”, M(a+b,b+c, c+a);A) 19 B) 17 C) 15 D) 1210. 有以下程序#define N 5#define M1 N*3#define M2 N*2main() int i;i=M1+M2; printf(“%dn”,i);程序编译后运行的输出结果是:A) 10 B) 20 C) 25 D) 3011. 有如下程序#define N 2#define M N+1#define NUM 2*M+1#ma
5、in() int i;for(i=1;i2)/(b1)的值是_。A) 0 B) 2 C) 4 D) 815. 若定义unsigned int a=3,b=10;printf(%dn,a2b=1);则运行结果为_。A)13 B)12 C)8 D)14二填空题1. C提供的预处理功能主要有_宏定义_、_文件包含_、_条件编译_等三种。2. C规定预处理命令必须以_#_开头。3. 在预编译时将宏名替换成_宏定义中的“字符串”_的过程称为宏展开。4. 预处理命令不是C语句,不必在行末加_;_。5. 以头文件stdio.h为例,文件包含的两种格式为:_ # includestdio.h_,_# incl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编译 预处理 运算 习题 答案

限制150内