编译预处理习题与答案

编译预处理习题与答案

ID:33598176

大小:378.00 KB

页数:13页

时间:2019-02-27

编译预处理习题与答案_第1页
编译预处理习题与答案_第2页
编译预处理习题与答案_第3页
编译预处理习题与答案_第4页
编译预处理习题与答案_第5页
资源描述:

《编译预处理习题与答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第九章 编译预处理9.1 选择题【题9.1】以下叙述中不正确的是    。A)预处理命令行都必须以#号开始B)在程序中凡是以#号开始的语句行都是预处理命令行C)C程序在执行过程中对预处理命令行进行处理D)以下是正确的宏定义#defineIBM_PC【题9.2】以下叙述中正确的是    。A)在程序的一行上可以出现多个有效的预处理命令行B)使用带参的宏时,参数的类型应与宏定义时的一致C)宏替换不占用运行时间,只占编译时间D)在以下定义中CR是称为“宏名”的标识符#defineCR045【题9.3】请读程序:#defineADD(x)x+xmain()

2、{intm=1,n=2,k=3;intsum=ADD(m+n)*k;printf(“sum=%d”,sum);}上面程序的运行结果是    。A)sum=9B)sum=10C)sum=12D)sum=18【题9.4】以下程序的运行结果是    。#defineMIN(x,y)(x)<(y)?(x):(y)main(){inti=10,j=15,k;k=10*MIN(i,j);printf(“%d”,k);}A)10B)15C)100D)150【题9.5】在宏定义#definePI3.14159中,用宏名PI代替一个    。A)常量B)单精度数

3、C)双精度数D)字符串【题9.6】以下程序的运行结果是    。#include#defineFUDGE(y)2.84+y#definePR(a)printf(“%d”,(int)(a))#definePRINT1(a)PR(a);putchar(‘’)main(){intx=2;PRINT1(FUDGE(5)*x);}A)11B)12C)13D)15【题9.7】以下有关宏替换的叙述不正确的是    。A)宏替换不占用运行时间B)宏名无类型C)宏替换只是字符替换D)宏名必须用大写字母表示【题9.8】C语言的编译系统对宏命令的处

4、理是    。A)在程序运行时进行的B)在程序连接时进行的C)和C程序中的其它语句同时进行编译的D)在对源程序中其它成份正式编译之前进行的【题9.9】若有宏定义如下:#defineX5#defineYX+1#defineZY*X/2则执行以下printf语句后,输出结果是    。inta;a=Y;printf(“%d”,Z);printf(“%d”,--a);A)7B)12C)12D)76655【题9.10】若有以下宏定义如下:#defineN2#defineY(n)((N+1)*n)则执行语句z=2*(N+Y(5));后的结果是    

5、。A)语句有错误B)z=34C)z=70D)z无定值【题9.11】若有宏定义:#defineMOD(x,y)x%y则执行以下语句后的输出为    。intz,a=15,b=100;z=MOD(b,a);printf(“%d”,z++);A)11B)10C)6D)宏定义不合法【题9.12】以下程序的运行结果是    。#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf(“Y=%dt”,Y)main(){inta=1,b=2,c=3,d=4,t;t=MAX(a+b,c+d);PRINT(t);}

6、A)Y=3B)存在语法错误C)Y=7D)Y=0【题9.13】以下程序段中存在错误的是    。A)#definearray_size100intarray1[array_size];B)#definePI3.14159#defineS(r)PI*(r)*(r)…area=S(3.2);C)#definePI3.14159#defineS(r)PI*(r)*(r)…area=S(a+b);D)#definePI3.14159#defineS(r)PI*(r)*(r)…area=S(a);【题9.14】请读程序:#include#de

7、fineMUL(x,y)(x)*ymain(){inta=3,b=4,c;c=MUL(a++,b++);printf(“%d”,c);}上面程序的输出结果是    。A)12B)15C)20D)16【题9.15】#define能作简单的替代,用宏替代计算多项式4*x*x+3*x+2之值的函数f,正确的宏定义是    。A)#definef(x)4*x*x+3*x+2A)#definef4*x*x+3*x+2B)#definef(a)(4*a*a+3*a+2)C)#define(4*a*a+3*a+2)f(a)【题9.16】对下面程序段:#def

8、ineA3#defineB(a)((A+1)*a)…x=3*(A+B(7));正确的判断是    。A)程序错误,不许嵌套

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。