实验七——函数定义及调用总结
1. 本次课学习到的知识点:
(1)函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数两种。例如scanf()、printf()等为库函数,由c语言系统提供定义,编程时只要直接调用即可;像fact()函数,需要自己定义,属于自定义函数。
(2)函数首部由函数类型,函数名和形式参数表组成,位于函数定义第一行。函数首部中,函数名是函数整体的称谓,需要一个合法的标识符表示。函数类型指函数结果返回的类型,一般与return语句中表达式的类型一致。形参表中给出函数计算所要用到的相关已知条件,以类似变量定义的形式给出,其格式为:
类型1 形参1,类型2 形参2,....,类型n 形参n
形参表中各个形参之间用逗号分隔,每个形参前面的类型必须分别写明。函数的形参的数量可以是一个,也可以是多个,或者没有形参。
(3)形参、实参及参数传递。形参只能用变量表示,在函数中起作用;实参可以是变量、常量或表达式,在主调函数中。实参与形参要个数一致,类型一致。参数传递时,实参把变量、常量的值或者表达式结果值传递给形参。
2. 实验过程中遇到的问题及解决方法:
问题:编程时出现错误但不知道哪里错误
解决方法:通过看书上的例题或在网上找解决办法
3. 实验心得体会及本章学习总结;
通过本章学习我了解了函数首部三要素:函数类型,函数名,形式参数表。以及函数的调用:任何c程序执行,首先从主函数main()开始,如果遇到某个函数调用,主函数被暂停执行,转而执行相应的函数,该函数执行完后将返回主函数,然后再从原先暂停的位置继续执行。并明白了形参和实参必须一一对应,实参的值依次传给形参。如果不对应程序不会再进行。本章还学习了函数声明(c语言要求函数先定义后调用。如果自定义函数被放在主调函数的后面,就需要在函数调用前,加上函数原型声明。)这是跟以前不一样的地方。
4.预习 书p103-p105
(1)在例题5-5中,跟以往最不相同的就是多了一个pyramid(n)函数,经过我的预习,我发现金字塔的层数与这个函数括号里的数字有关,我判断形参n决定了需要输出的数字金字塔的层数。
(2)不返回结果的函数定义:
void 函数名(形参表)
{
函数实现过程
}
函数类型为void,表示不返回结果,函数体中可以使用没有表达式的return语句,也可以省略return。void类型的函数虽然不直接返回一个值,但它的作用通常以屏幕输出等方式体现。在不返回结果的函数定义中,void不能省略,否则,函数类型被默认定义为int。