<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

            C語言函數教學方法

            時間:2025-05-29 03:51:14 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語言中遞歸函數的教學方法05-31

            淺談C語言函數03-28

            C語言函數 atoi()03-23

            C語言函數的含義06-15

            什么是C語言函數01-22

            C語言函數的定義07-13

            C語言的數組與函數02-28

            C語言函數的聲明以及函數原型04-20

            C語言的指針型函數02-20

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看