C函数和编译预处理1概要
第三章 函数和编译预处理 分析程序结果 {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函数
您可能关注的文档
- B类人员考试题2016概要.doc
- B第10章串行接口技术概要.ppt
- B组链球菌感染概要.ppt
- B群链球菌筛查的临床应用概要.doc
- B超--正常胎儿测量-PPT课件概要.ppt
- B淋巴细胞概要.ppt
- BOTOX注射技术完整版概要.ppt
- C++习题2概要.ppt
- c++10概要.ppt
- B海洋石油污染环境化学(污染化学)概要.ppt
- 2025年新能源汽车铝合金型材表面处理报告.docx
- 2025_2026学年新教材高中历史第四单元资本主义制度的确立9资产阶级革命与资本主义制度的确立课时作业含解析新人教版必修中外历史纲要下.doc
- 2026版高考历史一轮训练课后限时集训10近代西方民主政治的确立与发展含解析人民版.doc
- 2025年光伏支架轻量化研发趋势与材料创新报告.docx
- 2025_2026学年新教材高中英语UNIT3SPORTSANDFITNESS预习新知早知道学案含解析新人教版必修第一册.doc
- 初中道德与法治八年级上册《爱我中华》单元教学设计(1).docx
- Unit9IlikemusicthatIcandancetoSectionA(3a3c)(教学课件)人教版(0)九年级英语全册().pptx
- 四年级下册《我的“自画像”》习作指导课教学设计——基于例文支架的精准表达训练.docx
- 星火燎原:新中国“两弹一星”伟业的奠基与精神传承.docx
- 中考英语一轮复习:解锁单项选择的逻辑与策略(第一讲).docx
原创力文档

文档评论(0)