欢迎来到天天文库
浏览记录
ID:50308004
大小:1.30 MB
页数:43页
时间:2020-03-07
《Visual_C++程序设计案例教程 教学课件 作者 谭建辉第4章 函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章 函数4.1经典案例引入(二进制与十进制相互转换)本章是C++程序设计中的一个基础而又重要的章节,其主要内容包括函数的基本概念、函数的定义和使用、函数的参数传递、函数的嵌套和递归调用、函数重载等多方面的重要知识。为了让读者能更好地、更容易地了解和认识到函数的概念、作用和使用方法,下面我们一起来看看一个简单而又实用的案例。该案例的主要功能是实现二进制数与十进制数之间的相互转换,即当用户输入一个待转换的十进制数时,系统可以将其自动转换为等值的二进制数,并显示出来;相反地,当用户输入一个待转换的二进制数时,系统可以将其自动转换为
2、等值的十进制数,并显示出来。该案例运行的具体过程和结果如下所示。步骤1:经编译无误后,执行程序,运行结果如下图所示,此时系统等待用户输入想要进行的转换。步骤2:用户输入选择键,如2键,按回车,运行结果如下图所示,等待用户输入一个待转换的十进制正整数。步骤3:用户输入一个待转换的十进制数,如33,按回车,系统进行转换操作,转换之后的结果被显示在屏幕上,为10001,如下图所示。同样地,如果用户想要将一个二进制正整数转换为一个等值的十进制正整数,则可选择按键1,然后输入一个待转换的二进制正整数,按回车,运行结果如下图所示,很显然,转
3、换所得的结果也是正确的。需要注意的是该案例只能实现二进制正整数与十进制正整数之间的相互转换,读者如果还想实现小数部分之间的相互转换,那么只要认真学好本章有关函数的主要内容,相信读者一定可以自行独立地编写出实现小数部分转换的代码来,学完本章内容后,读者可以大胆地尝试一下。4.1.1案例分析经过仔细观察上述案例的执行过程,读者是否已经想到实现该案例所需用到的知识和方法呢?下面我们来具体分析一下上述案例的设计过程。首先,从案例运行的界面来看,这里用到了一个菜单界面,系统根据用户的选择,作出不同的反应,即分别调用不同的转换函数。其次,从
4、案例实现的功能来看,当用户输入一个待转换的十进制数或待转换的二进制数后,系统要自动将其转换为二进制或十进制并输出。这里存在两种不同的转换,一种是从十进制转换为二进制,另一种是从二进制转换为十进制,而且这两种转换的方法和步骤完全不一样(根据以前所学知识可知,从十进制转换为二进制,要用除以2取余法;从二进制转换为十进制,则要用按位权展开法),所以我们需要将它们分开设计成两个不同的转换函数,一个用于将十进制转换为二进制,另一个用于将二进制转换为十进制。当然,不分开设计也可以,但是设计过程会比较复杂,需要进行分支判断。4.1.2解决案例
5、知识有了前面的分析作基础,接下来我们只要正确设计好两个转换函数就可以了。(1)设计一个将十进制转换为二进制的函数(trans_10to2()函数)。该函数应该有一个输入参数,用于接收从键盘输入的待转换的十进制数。接下来,函数体中具体实现转换操作的那部分,应该用到除以2取余数的方法(即对2求模)来取得每一个余数,即每一个二进制位。最后再将所有取得的二进制位按从高到低的顺序输出即为转换之后所得的二进制数。(2)设计一个将二进制转换为十进制的函数(trans_2to10()函数)。该函数也应该有一个输入参数,用于接收从键盘输入的待转换
6、的二进制字符串。接下来,函数体中具体实现转换操作的那部分,应该用到按位权展开的方法(即将每一位上的数字乘以它所对应的位权)来取得每一个二进制位转换为十进制的值。最后再将所有取得的十进制数相加即可得到转换之后的十进制数。具体怎样设计和书写函数,以及怎样调用和执行函数,这是本章接下来的重点内容。4.2函数的定义与使用函数是程序内部为完成某个特定的功能而设计的一段独立的程序块。一个复杂的程序一般应划分为若干个独立的程序块,每一个程序块都可以用来实现某个特定的功能,这种功能一般是一种通用的功能,通过在不同的程序中或同一程序的不同地方来调
7、用这些程序块,可以反复使用它们所能实现的功能。这种独立性和可反复使用的优点,有利于代码的重用和开发者间的分工合作,从而提高开发效率。一个C++程序通常可由一个主函数和若干个其他函数构成。主函数是程序执行的起始点,由主函数调用其他函数,其他函数之间也可以相互调用。调用其他函数的函数称为主调函数,被其他函数调用的函数称为被调函数。1、函数的定义函数用函数名进行标识,函数可以有0个或多个运算元,即参数,它们以逗号隔开形成参数表,并用括号括起来紧跟在函数名后面。每个函数都可以有一个返回值类型,函数执行完后将产生一个指定类型的返回值;也可
8、以将函数的返回值类型定义为void型(空型或无返回值型),表示该函数不返回任何值。函数名、参数表、返回值类型和用花括号括起来的函数体构成一个完整的函数。函数必须先定义,后使用。函数定义的语法结构如下所示:<函数类型名><函数名>([<形式参数表>]){<函数体>
此文档下载收益归作者所有