C语言程序设计课程与考试辅导 作者 王晓丹 1-8 第8章.pptVIP

C语言程序设计课程与考试辅导 作者 王晓丹 1-8 第8章.ppt

  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文档。上传文档
查看更多
第八章  编 译 预 处 理       8.1 学 习 要 求   一、基本内容   (1) 宏定义:不带参数的宏定义;带参数的宏定义。   (2) “文件包含”处理。   二、学习要求   掌握宏、文件包含和条件编译的概念;掌握带参数的宏和文件包含的定义和使用。        8.2 内 容 要 点   C语言为了改进程序设计环境,提高编程效率,加入了一些“预处理命令”。它们不是C语言本身的组成部分,不能直接进行编译,必须对它们进行预处理后,编译程序才对预处理后的源程序进行通常的编译处理。   C语言提供的预处理功能主要有以下三种:宏定义、文件包含处理和条件编译。   一、不带参数的宏定义   不带参数的宏定义一般形式为   #define 标识符 字符串   二、带参数的宏定义   带参数的宏定义一般形式为   #define 宏名(参数表) 字符串   三、文件包含处理   文件包含处理是指一个源文件可以将另外一个源文件的全部包含进来,即将另外的文件包含到本文件之中。C语言提供了#include命令用来实现文件包含。   文件包含处理的一般形式为     #include “文件名” 或     #include 文件名        8.3 典型例题及解答   一、选择题   (1) 有以下程序     #include stdio.h     #define F(X,Y) X*Y     main( )     {int a=3, b=4;     ?printf(“%d\n”, F(a++, b++));     } 程序运行后的输出结果是______。   A) ?12 B) ?15 C) ?16 D) ?20   解答:A)   (2) 以下程序的输出结果是______。     #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   解答:A)   (3) 以下程序的输出结果是______。     #define M(x,y,z) x*y+z     main( )     {int a=1,b=2, c=3;     ?printf(“%d\n”, M(a+b,b+c, c+a));     }     A) ?19 B) ?17     C) ?15 D) ?12   解答:A)   二、填空题   (1) 设有如下宏定义:     #define MYSWAP(z,x,y) {z=x; x=y; y=z;} 以下程序段通过宏调用实现变量a、b内容交换,请填空。     float a=5,b=16,c;     MYSWAP(______,a,b);   解答:c   (2) 下面程序的运行结果是______。     #define N 10     #define s(x) x*x     #define f(x) (x*x)     main( )     {int i1,i2;     ?i1=1000/s(N);i2=1000/f(N);     ?printf(“%d %d\n”,i1,i2);     }   解答:1000 10   (3) 以下程序的输出结果是______。     #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)));     }   解答:16 8.1 学习要求 8.2 内容要点 8.3 典型例题及解答 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址:

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档