C++及Windows可视化程序设计第4章.pptVIP

  • 3
  • 0
  • 约3.07万字
  • 约 134页
  • 2018-02-11 发布于江西
  • 举报
C及Windows可视化程序设计第4章

第4章 函数 4.1 函数基础知识 4.2 函数参数的传递方式 4.3 深入讨论函数返回值 4.4 函数指针 4.5 内联函数 4.6 函数重载 4.7 函数模板 4.8 解题算法知识 实验 习题 C++语言的模块设计离不开函数,函数设计更离不开参数。 掌握函数设计和调用的正确方法,是程序设计的基本功。 正确设计函数原型和参数类型,不仅能保证函数的正确性,而且能提高程序设计的效率。 本章除介绍函数调用、递归调用以及函数调用中的参数替换和返回值等问题之外,还将结合软件编程技术的发展,讨论函数指针、内联函数、函数重载、函数模板及算法知识等。 4.1 函数基础知识 在提出结构化程序设计之前,对软件发展影响最大的是子程序。结构化程序设计要求将任务细化到具体的模块中去,并保证各个模块任务独立,这一般借助子程序实现。 在C++语言中,子程序相当于函数。一般来讲,面向过程的C++源程序是由若干个函数组成的。运行时,程序从主函数main()开始执行,到main()的终止行结束。其他函数由main()或别的函数或自身调用后组成可执行程序。 在面向对象程序设计中,成员函数也是函数,只是它们的类型及其返回值更复杂些。 4.1.1 函数基本要素 1. 函数值和return语句 一般情况下,函数必须返回与函数声明相一致的值作为函数的值。 函数返回使用如下形式实现: return (表达式); 称return为返回语句。这里的表达式的值就是要返回的函数值。表达式两边的圆括号可有可无。 return语句在一个函数里可以多次使用,但返回值的类型必须一致且与函数的类型说明一致。 当函数不需要带值返回时,将函数直接定义为void类型,最为方便。这样就不必在函数体内使用return语句。实际上,最后一个大括号“}”有return语句的作用(函数末尾隐含有一个return语句)。 若函数不带值返回,实际上并不是不返回什么值,而是返回一个不定值。因为不考虑使用,所以尽管返回的是不定值,也就没有多大关系了。 也可以在函数体内使用不带表达式的return语句,即 return; 【例4.1】 作为认识返回值的练习,写一个具有两个参数的函数max,比较这两个参数的大小,并把大者作为函数的返回值。 下面的主函数调用max函数,执行该程序,x的值就等于a、b中大的一个。为了分析方便,使用注释为程序语句编号。 #includeiostream //1 using namespace std; //2 double max(double,double); //3 void main(){ //4 double a=2.5,b=3.39,x; //5 x=max(a,b); //6 cout″x=″xendl; //7 } //8 double max(double m1,double m2) { //9 if(m1m2)return m1; //10 else return m2; //11 } //12 2. 函数原型声明 第3行是函数max的原型声明,编译系统在编译到第6行时,会检查max的参数及返回值类型是否与函数声明一致。编译到函数的定义语句第9行时,还将检查max的定义是否与事先声明的一致。如果发生不一致的情况,编译系统就要给出警告。 应养成将所有函数集中进行函数原型声明的习惯。一般可以声明在头文件中,或者在主函数之前。 3. 工作过程说明 ① 这个程序是由两个函数,即主函数main和函数max组成的,并且main函数调用max函数(见第6行)。 ② 被调用函数max里的参数m1和m2是形参(见第9行)。在调用max函数时,形参要被实参替换,如第6行所示,形参m1和m2被实参a和b替换。实参不能变化,如第5行所示,a、b分别被赋值为2.5和3.39。 ③ 在main函数中调用max函数(即执行第6行)时,实际是执行9~12行的内

文档评论(0)

1亿VIP精品文档

相关文档