- 8
- 0
- 约2.52万字
- 约 76页
- 2017-07-12 发布于广东
- 举报
第5章 函数与预处理 5.1 函数的定义 5.2 函数的调用 5.3 指针与函数 5.4 函数的嵌套调用 5.5 函数的递归调用 5.6 内联函数和重载函数 5.7 默认参数的函数 5.8 作用域与生命期 5.9 编译预处理 §5.1 函数的定义 在C++中,程序可由一个主函数main和若干个函数构成。主函数是程序执行的起始点,而且程序中必须有且只能有一个主函数。程序的执行从main函数开始,在main的执行过程中可以调用其它函数,这些函数执行完毕后再返回到main中继续执行,直到main执行结束,则整个程序的执行结束。 在C++中的一个调用关系中,调用其它函数的函数称为主调函数,被其它函数调用的函数称为被调函数。一个函数有可能既是主调函数也是被调函数,但是,主函数main只能是主调函数,主函数可以调用其它函数,但是不能被其它任何函数调用。 5.1.1 函数概念的引入 #include iostream.h void main() { static int a[20]={8,12,19,23,33,39,42,55,62,69,76,85}; int n=12,i,x; coutThe numbers are :\n; for (i=0;in;i++) couta[i]\t; cout*****************\n; coutinsert number is: ; cinx; for (i=n-1;i=0;i--) if (a[i]x) a[i+1]=a[i]; else break; a[i+1]=x; n++; coutThe numbers are :\n; for (i=0;in;i++) couta[i]\t; cout****************\n; } 函数的引入 #include iostream.h void main() { static int a[20]={8,12,19,23, 33,39,42,55,62,69,76,85}; int n=12,i,x; arrayprint(a,n); coutinsert number is: ; cinx; for (i=n-1;i=0;i--) if (a[i]x) a[i+1]=a[i]; else break; a[i+1]=x; n++; arrayprint(a,n); } 5.1.2 函数的定义 函数说明 函数体 N! 三角形面积 double power(int n) { int i; double l=1; for (i=1;i=n;i++) l*=i; return l; } 5.1.3 return语句 语句格式: return ; //无值void return 表达式;//有值 return (表达式);//有值 函数体中的流程控制语句。先计算表达式的值,然后从被调函数返回到主调函数,表达式的值作为函数的返回值。( 注意:只能返回一个值) 函数值的类型:以函数定义的类型为准,若不同,需将return语句表达式的值转换类型。 无返回值void时,可无return语句,执行到函数体}时返回。 return语句 在一个函数中可有多个return语句,但每次被调用只能执行一个return语句。例,判断素数(或求三角形面积) 5.1.4 函数声明 example1:求三角形面积 #includeiostream.h #include math.h double area(double x,double y,double z) { double s; if (x+yz||x+zy||y+zx) return 0; s=(x+y+z)/2; return sqrt(s*(s-x)*(s-y)*(s-z)); } void main() /*不需声明*/ { double a,b,c,s; cout\nPlease input a,b,c=; cinabc; s=area(a,b,c); cout“area=“s“\n”; } 实参表可包含多个参数,用逗号分开;可为常量、变量、函数调用、表达式(先求值,再将值传递给形参)。 要求实参的类型和个数要与形参一致。 可以没有参数,但圆括号一定要有,不能省略。 函数调用一般用来构成表达式。 5.2.2 函数调用过程 1.在主调函数中通过函数调用转到被调函数从而开始执行被调函数。 2.执行被调函数时,遇到return语句或函数体的右大括号},则返回主调函数继续执行下面的语句。 3.函
您可能关注的文档
- 新Visual C# 2008程序设计 电子教案+习题答案+源代码 曹静 第8章 程序的生成、异常处理和调试.ppt
- 新Visual C# 2008程序设计 电子教案+习题答案+源代码 曹静 第9章.ppt
- 新Visual C# 2008程序设计 电子教案+习题答案+源代码 曹静 第10章.ppt
- 新Visual C# 2008程序设计案例教程 电子教案 源代码 3.ppt
- 新Visual C# 2008程序设计案例教程 电子教案 源代码 5.ppt
- 新Visual C# 2008程序设计案例教程 电子教案 源代码 6.ppt
- 新Visual C# 2008程序设计案例教程 电子教案 源代码 7.ppt
- 新Visual C# 2008程序设计案例教程 电子教案 源代码 8.ppt
- 新Visual C#.NET 应用程序设计 第0章.ppt
- 新Visual C#.NET 应用程序设计 第1章.ppt
最近下载
- 《GB_T 18802.331-2024低压电涌保护器元件 第331部分:金属氧化物压敏电阻(MOV)的性能要求和试验方法》专题研究报告.pptx
- 2015-2021年全国体育单招数学真题汇编.pdf VIP
- 2025军队文职公共知识法律部分讲义.pdf VIP
- 大学生职业生涯规划与就业指导教学教案(共10课).docx VIP
- 《民法典之债权法》课件.ppt VIP
- 无线局域网技术与实践课程标准教学教案.docx
- 2002年上海市第十六届初中物理竞赛(大同中学杯)初赛试题.doc VIP
- 2023年四川信息职业技术学院单招职业技能考试题库及答案解析word版.docx VIP
- 大学生职业生涯规划与就业指导课标教案.docx VIP
- 2025年统招专升本云南省医学综合考试试题及答案.docx VIP
原创力文档

文档评论(0)