- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章函数和程序结构
Chapter 3 函数和程序结构 3.1 函数的组织 3.2 局部变量和全局变量、命名空间std 3.3 形参与实参 3.4 引用和const 3.5 缺省参数值 3.6 函数重载 3.7 内联函数 3.8 编译预处理 3.1 函数的组织 ●结构化程序设计方法 使用结构化程序设计方法解决复杂的问题: 分解 大问题-小问题-更小问题 求解(调用) main() -函数-函数 程序示例-计算(12+10)!/(12!+10!) for example:ch3/3-1-1.cpp for example:ch3/3-1-2.cpp 2层结构,2个函数,降低程序的构思、编写、调试的复杂度,可读性好 没有返回值的函数、没有参数的函数,用关键字void修饰。 void f(void) { cout “aaaa” endl; } 3.2 局部变量和全局变量 变量作用范围(作用域) 在函数内定义的变量 (包括形参) 局部变量 作用范围:本函数内部 定义在复合语句内的变量 作用范围:复合语句内部 全局变量 在函数以外定义的变量,不从属于任一函数 作用范围:从定义处到源文件结束 变量作用范围示例 int x=1; void main( ) { int a=2; …….. { int b=3; ….. } f( ); ……….. } int t=4; void f( ) { int x=5, b=6; ……. } int a=7; 变量作用范围示例 int x=1; int f(int x) { return(x++); } main( ) { int y; y=f(2) ; x=f(x) ; printf(“%d%d”, y, x); } 变量作用范围 如果局部变量与全局变量同名,局部变量优先。 不要滥用全局变量 有副作用 3.3 形参与实参 3.4 引用和const 3.5 缺省参数值 3.6 函数重载 3.7 内联函数 3.8 编译预处理 Lab and Exercise Lab: 实验五 二义性错误 Outline: ▲要确保不同的参数类型确实不同。 例如: typedef float real; float abs(float) {//……} real abs(real) {//……} ▲ 函数的返回类型不能区分重载函数 例如: int process(int) //× {//……} float process(int) {//……} ▲用修饰符(long/short等)而使类型有所 不同,则不能区分。 例如: float abs(long) //× {//……} double abs(int) {//……} ▲仅仅用了const而使参数类型有所不同,则不能区分。 例如: int process(int) //× {//……} float process(const int) {//……} Void Complex() { apart=0.0; ipart=0.0; } Void Complex(double d) { apart=d; ipart=0.0;} Void Complex(double a,double b) { apart=a; ipart=b; } Void Complex(double a=0.0,double b=0.0) { apart=a; ipart = b; } When: Complex(); //be equal to Complex(0.0,0.0) Complex(2);//Complex(2,0.0) function call need costs : involved from pushing arguments, making an a
您可能关注的文档
最近下载
- GB50209-2010建筑地面工程施工质量验收规范(新).pdf VIP
- 新苏教版六年级科学上册 第一单元《物质的变化》测试卷(A卷).docx VIP
- 2025年中国便利店发展报告.pptx VIP
- 新苏教版六年级科学上册第一单元《物质的变化》测试卷及答案.pdf VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 住院患者跌倒护理风险评估与护理指导意见.pdf VIP
- 煤矿用防爆电气设备防爆检查标准-培训课件.pptx
- 半导体物理学(第8版)刘恩科课后习题答案解析.pdf
- 新媒体背景下信息技术的发展及其应用分析.pdf VIP
- 一种大吨位玄武岩纤维锚索整体张拉试验系统及试验方法.pdf VIP
文档评论(0)