<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    C語言教學中函數的調用問題

    時間:2025-05-20 16:06:04 C語言 我要投稿
    • 相關推薦

    C語言教學中函數的調用問題

      導語:C語言在調用時經常會遇到各種各樣的問題,下面就由小編為大家介紹一下C語言教學中函數的調用問題,歡迎大家閱讀!

    C語言教學中函數的調用問題

      1 函數調用問題的提出

      本人在教學過程中,出現了多次這種問題。在講授函數的概念、函數的定義和函數的調用之后,給學生出一道題目用函數來實現,通常情況下,該問題如果不用函數方法而用其他方法做的話,學生可能會做得出來,但讓他們必須用自定義函數的方法來實現,他們就感覺無從下手,并不是這個問題本身很難,歸根結底,學生對于怎么自定義函數,定義多少個參數,怎么在主調函數中調用自己定義的被調函數不知道如何做。從而導致了用函數解決的問題卻用其他方法實現。在這里,我個人通過自己的反復思量,為了提高講授函數調用的教學效果,自己總結了幾條經驗。

      2 函數調用問題方法討論

      要知道函數怎么調用,首先得知道用戶怎么定義函數。

      2.1 函數定義的一般格式:

      類型標識符[3] 函數名(形式參數列表)

      { 聲明部分

      語句部分

      }

      這個格式定義的函數為有參函數,“形式參數列表”中的參數被稱為形參,有些函數是無參函數,則“形式參數列表”可以沒有,但括弧不能省略,即無參函數。

      函數在使用之前要先聲明、定義,然后才能調用[1]。

      2.2 函數調用的一般形式為:

      函數名(實參表列)

      函數在程序中出現的位置來分,可以有以下三種函數調用方式[2]:

      ①函數語句

      把函數調用作為一個語句,這種方式不要求函數帶回值,如打印圖形、顯示字符串等。只要函數完成一定的操作。

      ②函數表達式

      函數出現在一個表達式中,這種表達式稱為函數表達式。要求函數帶回一個確定的值以參加表達式的運算。如:c=10*max(a,b),其中,函數max就是表達式的一部分。

      ③函數參數

      函數調用作為一個函數的實參,如:printf(“%d”,max(a,b));是把max(a,b)作為printf函數的一個參數。

      2.3 函數問題案例講解

      ①首先從庫函數的調用案例著手講授,學生自然就很輕松上手。

      眾所周知,庫函數中的數學函數學生從高中就經常接觸到,在計算機教學的其他課程里面也會經常出現,如excel里面就有數學函數,學生們已經很熟悉了,如下面一道編程題就需要調用庫函數解決。

      用C語言求14+24+34+……94+104之和。

      #include"math.h"

      main()

      {int n=10,k=4;

      long y=0;

      for(i=1;i<=n;i++)

      y=y+pow(i,k);

      printf("%d",y);

      }

      其中,pow(i,k)就是系統自帶的數學函數,i和k是它自帶的兩個參數,其功能是計算i的k次方。通過這個系統數學函數的調用程序的編寫及調試,學生們很輕松就知道庫函數怎么調用,即函數名加上函數括號里面的參數。

      另外大家使用庫函數的時候,一定要在本文件開頭用#include命令,將調用有關庫函數時所需用到的信息“包含”到本文件中來。該程序開頭用語句# include"math.h",即可將數學庫函數“包含”到主函數中來。

      ②用大家熟悉且簡短的函數編程案例入手講解。

      典型小案例教學具有很強的啟發性,既有利于學生學習,也有利于老師教授。

      用C語言函數實現1+2+3+……+20之和。

      long fnsum(int n)

      {int i;

      long y=0;

      {for(i=1;i<=n;i++)

      y=y+i;}

      return y;

      }

      main()

      {

      int n=20;

      printf("%d",fnsum(n));

      }

      在這個程序代碼中,程序行long fnsum(int n)是自定義函數,fnsum是函數名,n是定義的一個形參,也僅需要一個,表示1+2+……+20共有多少個數求和。由于fnsum函數代碼寫在main()函數之前,可以不進行聲明。反之,若fnsum函數代碼寫在main()函數之后,必須用代碼long fnsum(int n);進行聲明。fnsum函數功能即是題目要完成的功能實現,最后通過main()主函數定義一個實參n并賦值20,在printf函數中通過代碼printf("%d",fnsum(n)),調用了自定義函數fnsum,并將實參n=20傳遞給自定義函數fnsum(int n)中的形參n,最終將結果打印輸出。

      在main()主函數中,fnsum這個函數調用也可以改成如下:

      main()

      {

      int n=20,sum;

      sum=fnsum(n);

      printf("%d",sum);

      }

      這個是通過函數表達式的方法進行函數調用,通過這個自定義函數的簡單案例講解,學生很輕松能夠理解函數怎么自定義并在main()主函數中調用。


    【C語言教學中函數的調用問題】相關文章:

    C語言函數的遞歸調用08-26

    C語言函數的運用及調用10-09

    C語言函數的遞歸和調用08-22

    C語言函數調用與參數傳遞08-05

    C語言中Swift函數調用實例09-25

    c語言調用函數的使用方法11-04

    匯編調用C函數10-29

    關于C語言函數的遞歸和調用09-12

    在C語言中函數調用方式的區別09-01

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人