知识点总结
1 函数定义的语法形式为 数据类型 函数名(形式参数表)
{函数体}
2函数的数据类型是函数的返回值类型。
3函数不可以嵌套定义。但是可以嵌套调用。
4函数名的返回值类型默认为Int.
5形参间用逗号隔开,不管有无参数,函数名后的圆括号都必须有。
6全局变量是在函数外部定义的,可以在文件中任意一个函数使用。
7实参列表中应给出与函数原型形参个数相同,类型相同的实参。
8函数的传值调用只是将实参的数据传递给形参,调用函数并不影响实参值,在交换数值等问题中,可以用传址调用将地址值传给形参,通过引用变量来改变实参变量。
学习完了函数,对函数有了初步的了解,通过对函数的调用,可以将一个繁琐的程序进行简化,使之运算更加简洁。一个完整的程序通常需要一个主程序和若干个子程序,而子程序便是通过自己来自定义函数来实现主程序的运行。
在写一个函数之前,首先根据题意,声明函数类型,然后在括号中写出对变量进行处理的程序。求出来的结果若和主调函数有关,利用return将其直接带回主调函数,在接下来的使用中,直接调用函数即可,不用在进行额外的说明。一般的,若所求目标为将符合要求的数字罗列出来,或者将不同的变量进行计数,如将一个整数因子按顺序排列或者约分多个数字时,不需要返回语句,在主函数中直接调用定义函数即可,又如在求两个数的最大公约数和最小公倍数时,当两个变量已定,得到的结果就是确定的,此时需要return语句将所求带回主调函数中。还有一种灵活的方法,如在题目求一个整数中有几个奇数几个偶数的题目中,所求的变量有两个,如何用一个函数就能求解呢,我们可以让它在函数中有两个不同的返回值,如1和2,然后对实参变量中的各个值与返回值是否相同进行判断并逐次累加,输出累加和即可。于此原理相同的还有定义布尔变量,通过对TRUE和FALSE的累加计算两个变量的值。
以上是简单的传值调用,还有传址调用,被调用函数本身只对形参作用,而不会对实参的值产生影响,所以如果涉及到对实参的值进行调换时,需要把地址传递,当形参和实参指同一个地址时,才能实质转变实参的值。即在形参前加上引用变量&,它的作用是说明引用并取变量的地址,与之相对应的是符号*,如果说定义数组元素a【i】,p+i只表示a【i】的地址,而*p+i才可以表示一个值,即指针变量所指向的目标变量的内容。