vc++画线段的函数_C++入门到精通(十九),函数

在前几篇,已经学习了过程化语句。使用这些语句能够让我们完成一些工作,然而,仅仅靠这些语句依然无法解决比较复杂的问题,这个时候就需要一些"工具"来帮助我们解决问题。接下来我们将学习如何使用工具以及如何自己动手造一个"工具"。

一,简单的工具(函数)

在日常生活中经常会用到工具,比如,我们画一个表格需要用到直尺,他可以帮我们观察线段的长度:我们开瓶盖子的时候需要用开瓶器,它可以把瓶子打开;我们在做计算题的时候需要用到计算器,它能帮我们快速计算出结果。

使用工具有许多的好处。首先,如果这个工具是现成的,我们就可以不必亲自去做一个这样的工具,直接拿来就能用(如开瓶器,计算器)。其次,不管是现成的工具,还是自己做的工具(如自己做的直尺),一定是能够多次反复使用的,而且是能够在各种合适的情况下使用的,如直尺在量程范围内能量一条线段的长度,也能量另一条线段的长度。

在程序设计中,我们也会有各种各样的"工具",如当用比较数值大小的"工具"时,这个“工具”能告诉我们哪个数大;当用求证弦值的“工具”计算一个弧度的正弦值时,一个"工具"能够求出这个弧度对应的正弦值等,这些工具在C++中称之为函数(Function)。要注意程序设计中的函数和数学中的函数有相似的地方,但是它们完全是两码事,请不要将两者等同起来。

函数和工具的性质是一样的。如果有一个现成的求正弦值函数,我们就不必自己“造”一个这样的函数。求正弦值的函数是可以多次使用的,并且可以求出任意实数的正弦值(合适的情况下),但是它却无法求出一个虚数的正弦值。

二,工具(函数)的说明书

有时候我们知道一个工具有什么功能,但是却因为对其陌生而不会用。这时候要使用它可能会发生困难。除了自己去摸索一下以外,最有效的方法就是去看工具的说明书。说明书会告诉你什么东西放在什么位置上,使用后会产生什么效果等信息。

同工具一样,每个函数也有自己的说明书,告诉用户如何去调用(使用的意思)这个函数,这份说明书就称为这个函数的原型,他的格式为:

生产结果类型 函数名 (参数1,参数2,参数n);

函数名相当于工具的名字,比如直尺,计算器等。产生效果类型相当于使用该工具产生的效果,比如直尺能量出一个长度的值,计算器能够计算并显示一个数值的结果等。而参数(parameter)则表示合适的使用情况,比如直尺应该用于测量长度而不能用于测量角度,计算器能计算数值而不能去画图等。那么,如何来阅读“说明书”呢?我们来举个例子。

(1) int max( int a, int b);

这个函数名为max,即输出最大值,括号中的字母则表示该函数的参数,运行该函数后,产生的结果是一个整数。在数学中,会有一元函数,也会有多元函数,如g( x, y)= x/4+y在使用g( x, y)的时候,括号中的数字的位置必须和自己变量的字母对应,例如g(4,1)=4/4+1=2,此时x=4并且y=1。我们概不能将其颠倒,也不能写成g(4)或者g(4,2,1,5)之类的表达式,否则就是错误的。程序设计中参数是作用和自变量x,y的作用是类似的。在函数"说明书"里也交代了哪个位置应该放什么类型的参数,在调用函数的时候要注意参数,顺序,个数都要一一对应。

f7a56598d28fc74b20645d6cf2c7e606.png

对于上面这段程序,有两点完说明。首先,调用函数时放入括号内的变量名r和s与函数原型里a,b的名字是可以不一样的。就像我们可以用直尺量各种各样的纸。但是它们的数据类型必须要相同。如果把一个其他类型的变量放在这个位置上,就如同用尺量角度一样,是无法成功的。其次,调用函数后的结果可以认为是一个表达式的值,我们可以把这个值赋值给一个变量或者将其输出。当然,也可以不保存不输出这个结果,但是那样的话,就像是用直尺量了长度却没有把结果几记录下来。

(2) void output(char c);

3cf27509ce50673418b48ff482b4fa28.png

这个函数名称output,即输出,void表示空类型,它同整型,实型一样,也是一种数据类型,它表示调用后,不会产生任何数值。这是什么意思呢?我们都知道,榔头这种工具,它只能产生某种效果,如果把钉子砸进木头里,它不会给使用者一个定量的结果。不过我们大可不用担心它是否完成了我们要它完成的工作,如果榔头没把钉子砸进木头里,要么是榔头本身的质量有问题,要么使用者就没按照要求去用。

虽然函数没有产生什么定量结果,但是其在屏幕上输出的功能还是实现了,对于产生void的函数,我们就不必保存结果了。

(以上两张图中的代码不够完善,如果仅用这些代码去编译,会被告知函数未定义,是无法通过的,由于涉及到更多知识,这些代码我们在后面来完善它)。

本篇完!喜欢这篇的朋友可以转发与收藏,欢迎大家在下方评论留言。下一篇《如何使用系统造好的"工具"》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值