您的位置:首页 > 其它

对于函数的认识

2018-03-25 10:28 295 查看
      经过了一个学期的学习,我对c++也有了初步的了解,我相信在费老师的帮助下,我一定能学好它。下面我就来谈一谈我对函数的认识。
      C语言是国内外广泛使用的一种计算机语言,是我们计算机专业的新生首先要掌握的一种程序设计语言。程序中的模块化在C语言中通常用函数来实现,因此对于我们来讲,熟练掌握函数是学好C语言的关键一步。它有几个特点
       模块化 在程序设计中常采用模块设计的方法,尤其是当程序比较复杂时,更有必要。在遇到一个大任务时,一般把它分为若干个小的子任务,每一个子任务就相对简单了。这些子任务就可以看作模块,每个模块完成特定的功能,按照一定的顺序执行这些模块,这个大任务就能顺利完成。在C语言中,可用函数来实现模块的功能。一个C程序可由一个主函数和若干个函数构成,由主函数调用其他函数,其他函数之间也可互相调用,同一个函数也可被一个或多个函数调用任意次。 要想掌握函数,必须掌握函数的三大操作:定义、声明和调用。 
          函数定义的一般形式: 类型标识符 函数名(形式参数表列) { 声明部分 语句 } 函数的类型标识符是函数要返回的数据的类型,函数的形式参数是函数要进行数据处理时,需要从主调函数里获取的值。例:用函数实现计算两个整数的和。 因为函数的功能是计算两个整数的和,首先要涉及到两个整数,而这两个整数不是固定的,要把这两个整数作为函数的形式参数;而最后得到的结果是这两个整数的和,要返回到主调函数,所以函数的类型标识符也应该是整型;而函数的功能则是把这两个整数相加,利用return语句返回两个整数的和。 
     比如函数就是
       int add(int x,int y)
     {
            int z; 
            z=x+y; 
             return z; 
     }
      (1)函数的名字是add,函数起名时也要遵循C语言标识符的规定;
      (2)函数的形式参数(简称“形参”)是x和y两个整数;
      (3)函数的功能是计算x+y的值,并把它的值赋给z,然后将z值返回;
      (4)因为z值是整数,所以函数的类型设置为int;
      在主调函数中一般要写上被调用函数的声明,除非被调用函数在主调函数前被定义。
      函数的声明是把函数的名字、函数的类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时系统按照此进行对照检查。上面函数例子的声明就是:int add(int x,int y); 有时在函数声明中可以不写形参名,只写形参的类型,称为函数的原型:int add(int,int);
      对函数的调用也是函数功能的实现。函数调用的一般形式为:函数名(实参表列); 函数的实参是真正进行计算的数据,一般都有具体的数据。实参可以没有,但括弧不能省略。各实参之间用逗号间隔,实参与形参按顺序对应,一一传递数据。
      例:对上述函数的调用
      void main()
      {
      int a,b,c;
      scanf(“%d,%d”,&a,&b);
      c=add(a,b);
      printf(“%d”,c);
      }
      在这个程序中a和b为实参,从键盘上输入,有固定的值,调用add(a,b)函数时,把实参的值按照顺序对应一一传递给形参,即有x=a,y=b,函数add通过形参得到实参的值后,进行运算z=x+y; 得到两个整数的和,再通过return语句将z的值返回到主调函数,主调函数通过调用add(a,b)得到z的值,并将它赋值给c,得到了两个整数a,b的和。
      编写函数时最主要的是函数的定义,因为函数的定义决定了函数声明和函数调用的格式,而函数的定义主要掌握函数的输入、输出和处理。
      函数的输入,一般指函数的形参,即希望函数对哪些数据进行处理,这些数据大都要作为函数的形参而参与计算,函数的输出,一般指函数的返回值,即希望函数调用后得到的数值,函数的处理,一般函数内部所实现的功能,即通过何种算法利用形参的值得到返回值。
      在编写函数时,一般要确定好函数的输入、输出和处理。
      再举一个例子
      long jiancheng(int n)
      {
      long nn; //因此返回值为长整型数,首先定义一个长整型变量nn,来存储n!的值
      //然后在程序的最后一条语句中写上return nn语句,再写中间的语句
      int i;
      nn=1;
      for(i=2;i<=n;i++) //利用for循环计算n!
      nn=nn*i;
      return nn; //返回n!
      }
      函数定义好以后,就可以在其他函数中任意次地进行调用。
      void main()
      {
      int j;
      for(j=1;j<=10;j++)
      { printf(“%ld\n”,jiancheng(j)); }
      }
      这基本上就是我对于初次学习c++函数的心得了。c++确实很难,但我一定会加倍努力的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: