首页 → 名言 → 格言演讲
c語言函數教學方法有哪些 c語言函數教學方法有哪幾種
日期:2023-03-16 20:50:51    编辑:网络投稿    来源:网络资源
C語言函數教學方法  導語:針對C語言中函數的重要性及我校學生在學習過程中對函數的掌握情況,總結出一套實用的c語言函數教學方法。下面就由小編為大家介紹一下C語言函數教學
为你推荐:
  • 好聽又傷感的文案_
  • C語言函數教學方法

      導語:針對C語言中函數的重要性及我校學生在學習過程中對函數的掌握情況,總結出一套實用的c語言函數教學方法。下面就由小編為大家介紹一下C語言函數教學方法,歡迎大家閱讀!

    C語言函數教學方法

      1序言

      《C程序設計基礎》是我校工科非計算機專業的一門必修課程,目的是使學生掌握程序設計的基本方法,并形成正確的程序設計思想,培養學生用計算機解決本專業問題的能力,為后續課程的學習打下良好的基礎。

      但在教學過程中發現,學生在學習函數這部分的知識時非常吃力,很多學生對此掌握的并不好,不能靈活的運用函數進行程序設計,主要的原因是所用教學方法效果較差。針對此問題,筆者在深入研究C語言函數教學方法的基礎上,通過詳細分析教學過程中學生的表現,并積極與學生溝通,總結出適合我校學生的函數教學方法,首先通過生活中常見的例子介紹函數的概念,并精心設計函數的引入問題,以此來闡述函數編程思想,然后重點講解函數的定義和調用方法,并通過實例強化學生函數設計的方法,最后對函數的設計方法進行總結。

      2函數思想的引入

      數學中的函數與C語言中的函數有什么區別?數學中的函數側重于自變量和因變量之間的映射關系,而C語言中的函數主要側重于功能的實現。

      以計算13!為例,通常的計算方法是13×12×……×4×3×2×1=6227020800,但也會發現計算量非常大。熟悉計算器的學生也知道,計算器上有一個“n!”按鈕,我們只需按“13”,再按“n!”,就可以得到結果6227020800。兩種計算方法中筆者更喜歡后者,因為計算器中“n!”按鈕可以協助完成階乘計算,換言之,“n!”按鈕可以完成計算階乘的功能,與c語言中函數的概念非常接近,因此“n!”按鈕就是將求階乘的函數封裝起來了,我們甚至可以說計算器就是將若干個函數封裝起來的一個設備。所以通過計算器來理解C語言中函數的概念就比較容易了。有了函數,就可以多次使用它,就如同有了“n!”,不僅可以計算13!,也可以15!,17!等等。C語言中的函數就是功能獨立的一段代碼,能夠避免重復代碼,降低出錯率,提高程序的可讀性。函數機制的出現,也使多人共同開發大規模的程序成為可能。

      進而引導學生回顧教學中以前學過的主函數和C語言中的一些常見的庫函數(如sqrt()),總結這些函數的共同點,標識符后面都有一個括號,并以一到兩個子函數為例,講解、編譯、運行,幫助學生更好地認識函數。

      在學生對函數有了基本的認識之后,給學生說明并非所有的函數都是現成的,有很多是需要用戶自定義編寫的――用戶自定義函數。在教學中,筆者認為函數的分類最重要的標準就是函數的使用方式,根據函數的使用方式可以將函數分為數值計算函數(有返回值,類型不是void)和任務執行函數(無返回值,類型為void),數值計算函數因為有結果,使用時一般當做表達式的一部分或者函數參數,任務執行函數由于沒有結果,使用時一般獨立成一條語句。

      3函數的定義和調用

      3.1采用要素提取法完成函數定義

      C語言函數設計主要圍繞函數類型,函數名,函數形式參數,函數返回值四個要素展開。

      對于函數要素的教學部分,重點講解函數的定義與調用。函數定義的一般形式為:

      類型說明符函數名(形式參數表)

      {聲明部分;

      語句部分;

      return(返回值);}

      對函數定義部分還需要掌握的是:(1)類型標識符:函數返回值類型,即結果類型。(2)函數名:合法標識符是函數的唯一標識。(3)形式參數表:由類型和變量名組成。(4)return(返回值):返回結果。

      函數定義中的四個要素的提取方法可以參照用計算器求13!來說明,(1)類型說明符。13!的結果是6227020800,類型說明符就是根據結果的類型來確定,為int。(2)函數名。函數名是函數的.唯一標識,在用計算器求13!的過程中,函數名就相當于“n!”按鈕,這里用factorial來表示。(3)形式參數表。當計算13!時,形式參數表就是用來接收13的,假如求17!,那形式參數表就用來接收17,這里可以得出參數數量為一個,類型為int,因此用int x來定義形式參數。(4)返回值。13!的結果是6227020800,返回值就是6227020800。

      以求階乘為例,定義函數:

      intfactorial(int x)

      {int s=1,i;

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

      {s=s*i;}

      return s;}

      3.2函數調用及虛實結合的過程

      由上述函數定義可以看出,函數定義并沒有具體的結果,原因在于x的值未定,就如同在計算器上只按下“n!”沒有任何意義一樣。因此,函數的定義只是實現了函數的功能,而最終的目的在于使用函數,即函數的調用。

      在函數的調用過程中,還需要重點講解實際參數和形式參數的區別,以及整個虛實結合的過程。在使用函數時后面括號中是具體的值,即實際參數。函數定義中括號中的參數是形式參數,沒有具體的值。在發生函數調用的時候,形式參數用來接收實際參數的值。如:

      voidmain()

      {int a=13,c;

      c=factorial(a);

      printf(“%d的階乘為:%d/n”,a,c);}

      實際參數是a,有確定的值為13,形式參數為x,用來接收a的值。參數傳遞過程如圖2所示:

      在函數定義和調用中需要重點強調的地方:

      1)函數名是函數的唯一標識。2)函數必須先定義后使用。3)如果函數為非void類型,函數中必須有return語句。4)普通變量傳遞時為單向傳遞,即由實際參數傳向形式參數。

    【C語言函數教學方法】相關文章:

    C語言中遞歸函數的教學方法11-16

    C語言函數 atoi()10-28

    淺談C語言函數10-22

    關于C語言對函數11-20

    C語言函數的含義10-04

    C語言文件操作函數11-04

    C語言函數的聲明以及函數原型10-05

    C語言指針函數和函數指針詳解06-10

    c語言數學函數的介紹11-18

    这里有更多你想看的
  • 清晨唯美句子早安(溫
    • 本类最新
    • 精品图文
    • 时尚
    • 新闻
    • 生活
    • 视觉
    • 微爱
      栏目ID=88的表不存在(操作类型=0)

    头条推荐

    热门推荐

    特别推荐

    返回顶部