第9单元编译预处理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9单元编译预处理

第9单元?? 编译预处理 一、单项选择题 1.以下说法中正确的是????????? ?。 A. #define是属于语句的范畴????? ?????? B. #define不属于语句的范畴 C. #define是 C 语句,但是作用范围是全局? D. #define不是 C 语句,但是它可以加分号(;)做结束标志 2.编译预处理是以__________符号开头。 A. {???? ?????B. #??? ???????????C. ?!?????????? ?D. 3.在宏定义#define ABC? 12.34567中,用宏名代表????????? ?。 A. 常量 ??????B. 单精度数???? ???C. 双精度数 ??????D. 字符串 4.下面程序执行和输出结果是????????? ?。 #define FAN(a) ?a*a+1 main() { ??int m=2,n=3; printf(%d\n,FAN(1+m+n));? } A. 37 ????????B. 42???? ?????????C. 12 ????????????D. 49 5.以下叙述中不正确的是????????? ?。 A. 预处理的内容都在执行过程中要复制到该文件处;? B. 预处理可有可无; C. 预处理的内容不需要放到该位置处;??? D. 预处理的位置可以在程序前,可以在程序后; 6.下面程序的输出结果是????????? ?。 ? ?????#define? SQR(X) ??X*X ? ?????main() {?? int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf(%d\n,a);?? } ???? A. 16??????????? B. 2????????? C. 9??????????????? D. 1 7. 用宏替换计算多项式4*x*x+3*x+2之值的函数,正确的宏定义是????? ?????。 A. # define f(x)? 4*x*x+3*x+2??????? B. # define f? 4*x*x+3*x+2 C. # define f(a)? (4*a*a+3*a+2)????? D. # define? 4*a*a+3*a+2? f(a) 8. 对于程序段,正确的判断是????????? ?。 # define A? 3 # define B(a)? ((A+1)*a) x=3*(A+B(7)) A. 程序错误???? B. x=93???? C. x=21?? D. 宏定义不允许有参数 9.有下面的程序,执行语句后sum的结果是????????? ?。 # define ADD(x)? x+x sum=ADD(1+2)*3 A. 9??????? B. 10??????? C. 12???????? D. 18 二、填空题1.设有以下宏定义: # define? A? 20 # define? B?? A+30 则执行赋值语句:v=B*2 ;后,假设v为整型,则v的值为:????? 。 2.以下程序的输出结果是_____________。 #define MAX(x,y) (x)(y)?(x):(y) main() { ???int a=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10; printf(%d\n,t); ?????} 3. 设有如下宏定义:#define MYSWAP(z,x,y)? ?{z=x; x=y; y=z;} 以下程序段通过宏调用实现变量a、b内容交换,请填空。 float a=5,b=16,c;? MYSWAP(? ???????,a,b); 4. 以下程序的输出结果是?????????? ??。 ?? #define? MCRA(m)? 2*m ?? #define? MCRB(n,m)?? 2*MCRA(n)+m ?? main() ?? { ?int? i=2,j=3;? printf(%d\n,MCRB(j,MCRA(i)));? ?} 三、读下列程序,写出结果 1.#define SSSV(s1,s2,s3,v)? ?s1=l*w;s2=l*h;s3=w*h;v=w*l*h; main() {?? int l=3,w=4,h=5,sa,sb,sc,vv; SSSV(sa,sb,sc,vv); printf(sa=%d\nsb=%d\nsc=%d\nvv=%d\n,sa,sb,sc,vv); } 该程序的运行结果是____________________________________ 2. # include stdio.h # define BOT (-2)

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档