- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C第2讲循环结构和函数
主要内容 第四章 过程化程序设计 第五章 函数 语句 if if-else else-if switch while do-while for break continue 例题:狐狸抓兔子 1、总共20个洞,每次查看洞号的间隔数加一; 2、求出不安全洞号; 3、使用循环,不使用数组; 大牛生小牛的例题: 第二讲 完 5、重载函数 重载的重要性 C语言中求一个数的绝对值,不同类型需要不同名字的函数: int abs(int); long labs(long); double fabs(double); 若给出相同的函数名字,就方便了。 * C++ 程序设计 第2讲 函数 选择 循环 注意: 1、switch的语法; 2、if的嵌套和else-if的区别; 3、循环语句之间的区别; 4、while与do-while的区别; 1 2 3 4 5 6 7 有点小问题。 补充:goto语句 goto语句将控制从它所在的地方转移到标识符所标识的语句处。 #include iostream.h int main() { goto OUT; coutnihaoendl; OUT: coutout hereendl; } 第5章 函数 1、函数概述:定义,原型(声明),调用 2、函数调用机制 3、递归函数 4、内联函数 5、重载函数 6、默认参数的函数 1、函数概述 什么是函数? 函数的作用? 基本概念:定义,原型,调用 ⑴ 编译是以文件为单位进行的。链接是以程序为单位进行的。 ⑵ 所有函数都是独立的。主函数可以调用其它函数,其它函数可以相互调用。 … … C++程序 源程序文件n 函数1 函数m … … 源程序文件1 函数1 函数n 函数类型 函数名(类型名 形式参数1,… ) { 说明语句 执行语句 } 函数定义的一般形式 标准库函数和用户自定义函数 void swap(int x, int y) { int z; z=x; x=y; y=z; printf(\nx=%d,y=%d,x ,y); } main( ) { int a=10,b=20; swap(a,b); printf(\na=%d,b=%d\n,a,b); } 1、用户自定义函数。需要用户自己进行定义 2、标准函数(库函数)是由系统提供的。如:getchar( )、sin(x)等。在程序中可以直接调用它们。 在C++中,函数声明就是函数原型。 函数原型的作用 编译器遇到一个函数调用时,需要判断该函数调用是否正确,该机制即函数原型。 函数原型 函数声明(原型) 函数定义 函数调用 * 函数的几种调用方式 printstar( ); print_mess(); c = div1(a,b); 1.函数调用作为语句 2.表达式中的函数调用 3.函数调用作为实参 printf(%f\n,power(2,3.0)); 2、函数调用机制 代码区 Code area 全局数据区 Data area 堆区 heap area 栈区 stack area 动态数据 局部数据 全局数据和 静态数据 内存 2、函数调用机制 栈 栈是一种数据结构,它的工作原理就像子弹匣中压子弹 函数调用的整个过程就是栈空间操作的过程,具体过程如下: 1、建立被调函数的栈空间 2、保护调用函数的运行状态和返回地址 3、传递参数 4、将控制转交被调函数 void funcB(int s) { int x; //... } void funcA(int aa, int bb) { int n = 5; //... funcB(n); } int main() { int a = 6, b = 12; funcA(a, b); } b=12 a=6 参数 返回地址 操作系统运行状态 n=5 bb=12 aa=6 main返回地址 main运行状态 x s=5 funcA返回地址 funcA运行状态 栈区 3、递归函数 什么是递归函数? 递归调用的形式:直接递归,间接递归 #include iostream.h void f(int n) { coutnendl; if(n0) f(n-1); } main() { int a = 6; f(a); } int f1(int a) { int b; b = f2(a+1); } int f2(int s) { int c; c = f1(s-1); } 消去递归 递归的评价 大多数递归函数都能用非递归函数来代替。 1、递归的目的是简化程序设计,使程序易读。
您可能关注的文档
最近下载
- 庭院设计课件 第五章 功能布局与平面设计.pptx VIP
- 2021年Fall AMC 10B真题含答案.pdf VIP
- 2025年辽宁省地矿集团面向校园招聘80人考试备考试题【含答案解析】.pdf VIP
- 九一八事变(课件)小学生主题班会通用版(共22张PPT).pptx VIP
- 屋顶分布式光伏发电施工组织设计.docx VIP
- 小学三年级班主任工作计划安排.doc VIP
- 广州某1200吨超低温金枪鱼冷库制冷系统设计.docx VIP
- 2025年美丽中国全国国家版图知识竞赛题库(附答案).docx VIP
- 中医辩证施护课件.ppt VIP
- Mysql数据库及应用 广东开放大学考试题库答案.doc VIP
文档评论(0)