zoukankan      html  css  js  c++  java
  • 实验七——函数定义及调用总结

    一、本次课学习到的知识点:

    1、函数的定义:函数是一个完成特定工作的独立程序模块,包括函数和自定义函数两种。

    2、以计算圆柱体体积为例,通过定义体积计算功能的函数和主函数调用的例子,引出函数定义的一般形式:函数首部加函数体,且在函数结尾处通过return 语句返回结果。

    函数类型    函数名(形式参数表)   /*函数首部*/

      {

              函数实现过程                    /*函数体*/

       }

    return  表达式;

    3、函数首部由函数类型,函数名和形式参数表组成,位于函数定义第一行。函数类型指函数结果返回的类型,一般与return语句中表达式的类型一致。形参表中给出函数计算所要用到的相关已知条件,以类似变量定义的形式给出。形参表中各个形参之间用逗号分隔,每个形参前面的类型必须分别写明。函数的形参的数量可以是一个,也可以是多个,或者没有形参。

    4、形参、实参及参数传递。形参只能用变量表示,在函数中起作用;实参可以是变量、常量或表达式,在主调函数中。实参与形参要个数一致,类型一致。参数传递时,实参把变量、常量的值或者表达式结果值传递给形参。

    5、函数定义首部与声明。二者形式相似,函数声明的目的主要是说明函数的类型和参数的情况,以保证程序编译时对函数调用是否正确做出判断,声明位置通常在主函数前面。而函数定义首部位于函数定义的第一行,与函数体连续书写组成函数定义。

    6、函数声明是一条c语句,而函数定义时的函数首部不是语句,后面不能跟分号。如果在调用函数前,既不定义,也不声明,程序编译时会出错。

    二、实验过程中遇到的问题及解决方法:

    1、会发现程序编译正确,结果却不正确,却不能发现问题在哪。

    2、在练习5-1中,虽然老师讲了正确做法,但我不知道自己编写的哪里出现了问题。

    题目:使用函数求1到n之和:输入一个正整数n,输出1~n之和。要求定义和调用函数sum(n)求1~n之和。

    #include<stdio.h>
    #include<math.h>
    int sum(int n);
    int main(void)
    {
       int n,sum;
       printf("请输入一个正整数n:");
       scanf("%d",&n);
       printf("sum=%.0f
    ");
       return 0;    
    } 
    int sum(int n)
    {
        int i,sum; 
        for(i=1;i<=n;i++)
            sum=sum+i;
        return n;
    }

    三、实验心得体会及本章学习总结

    函数是c语言程序的基本组成单元,编写每一个程序都需要用到函数,如main()函数和priintf()、scanf()等函数。

    本章介绍了函数的定义和使用,讨论了变量与函数的关系。

    函数首部三要素:函数类型,函数名,形式参数表。

    函数的调用:任何c程序执行,首先从主函数main()开始,如果遇到某个函数调用,主函数被暂停执行,转而执行相应的函数,该函数执行完后将返回主函数,然后再从原先暂停的位置继续执行。

    形参和实参必须一一对应,实参的值依次传给形参。

    函数声明:c语言要求函数先定义后调用。如果自定义函数被放在主调函数的后面,就需要在函数调用前,加上函数原型声明。

    四、预习

    1、在例题5-5中,pyramid()函数的功能是在屏幕上输出数字金字塔,不做任何运算,也没有运算结果,也不需要返回值。函数定义时,形参n决定了需要输出的数字金字塔的层数。

    2、区别:前面介绍的函数都是起计算或判断作用,最终有一个函数结果返回。在例题5-5中,调用函数的作用就是在屏幕上输出数字金字塔,不是为了得到某个运算结果,而是要让它产生某些作用。

    3、不返回结果的函数定义:

    void 函数名(形参表)

    {

       函数实现过程

    }

    函数类型为void,表示不返回结果,函数体中可以使用没有表达式的return语句,也可以省略return。void类型的函数虽然不直接返回一个值,但它的作用通常以屏幕输出等方式体现。

    在不返回结果的函数定义中,void不能省略,否则,函数类型被默认定义为int。

    4、例5-5定义pyramid()函数时,省略了return语句,并不意味着函数不能返回。对于void类型的函数,如果省略了return语句,当函数中所用语句都执行完后,遇到最后的大括号即自动返回主调函数。

    5、不返回结果的函数在定义、调用、参数传递、函数声明上,思路完全与以前相同,只是函数类型变为void。它适用的场合主要是把一些确定的、相对独立的程序功能封装成函数。

  • 相关阅读:
    计算机工程-作图(可编辑)
    伪代码规范
    重启随机游走算法(RWR:Random Walk with Restart)
    二分图匹配——通俗易懂
    com.panie 项目开发随笔_爬虫初识(2017.2.7)
    Java获取随机数的3种方法
    我收藏的开源项目
    根据单击当前行的按钮时,获取 该行的其他列 的值
    js中的json对象和字符串之间的转化
    com.panie 项目开发随笔(NoF)_环境搭建(2016.12.29)
  • 原文地址:https://www.cnblogs.com/hesong/p/6011153.html
Copyright © 2011-2022 走看看