C++函数和编译预处理1选编.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章  函数和编译预处理                     分析程序结果 {int a(5),b(7),c(10); couta\tb\tcendl; couta\tb\tcendl; { int b(8);double c(8.8);  couta\tb\tcendl; a=b; { int c;c=b; couta\tb\tcendl; } couta\tb\tcendl; } couta\tb\tcendl;} 编译预处理时,将文件file2.cpp中的所用内容复制到文件file1.cpp中;然后进行正式编译时,要编译的程序如同下面的程序: #include iostream.h float fun(float r) { return 3.14159*r*r;} void main( ) { coutthe result is :fun(3)endl;} 即file1.cpp中的正式编译内容就是将#include file2.cpp语句替换成file2.cpp文件的内容(即上面代码中的红色部分)。 一般情况下,源程序中所有的行都应参加正式编译。但有时候希望在一定条件下编译某些行,在其它情况不编译这些行。这时候就需要在预处理阶段作条件编译处理。 1.格式一 #ifdef 标识符 程序段1 #else 程序段2 #endif 或: #ifdef 标识符 程序段1 #endif 其中,ifdef、else和endif都是关键字。 3.7.3 条件编译 #include iostream.h //*****ex3_24.cpp***** #define M 10 void main(){ #ifdef M coutM is definedendl; #else coutM is not definedendl; #endif} 程序运行结果如下: M is defined 注意:带#号的语句左边开头不能出现其他非空格字符。 【例3.24】 如果M被声明过,编译coutM is definedendl,否则编译coutM is not definedendl。 2.格式二 #ifndef 标识符 程序段1 #else 程序段2 #endif 或: #ifndef 标识符 程序段1 #endif 其中,ifndef、else和endif都是关键字。 3.格式三 #if 常量表达式1 程序段1 #elif 常量表达式2 程序段2 #elif 常量表达式3 程序段3 …… #else 程序段n+1 #endif 其中,if、elif和else是关键字。 当第i个常量表达式的值为真,则编译相应的“程序段i”;如果没有为真的常量表达式则编译“程序段n+1”。 【例3.25】 M为1编译输出M is 1,M为2编译输出M is 2,否则编译输出M is other。 #include iostream.h //*****ex3_25.cpp***** #define M 10 void main(){ #if M==1 coutM is 1endl; #elif M==2 coutM is 2endl; #else coutM is otherendl; #endif } 程序运行结果如下:M is other 此为封面页,需列出课程编码、课程名称和课程开发室名称。 要求:每个子课程(6位编码的课程)要求做一个这样的胶片,胶片文件命名为“课程编码 课程名称.ppt”。 此页胶片仅在授课时使用,胶片+注释中不使用。 封面页按产品分为4个,各产品使用自己的封面,把其他封面直接删除即可。 嵌套调用 函数的嵌套调用是指在执行被调用函数时,被调用函数又调用了其它函数。其关系可表示如图所示: [例4.15] 计算s=1k+2k+3k+……+N k #include iostream.h const int k=4; const int n=6; //符号常量定义 int power(int,int); //求幂的函数说明 int sum(int,int);      //求和的函数说明 void main( ) { coutSum of 1k+2k+3k+……+N k = ; coutsum(k,n)endl; //调用sum函数

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档