欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語言

C語言函數(shù)教學(xué)方法

時間:2025-05-29 03:51:14 C語言 我要投稿

C語言函數(shù)教學(xué)方法

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

C語言函數(shù)教學(xué)方法

  1序言

  《C程序設(shè)計基礎(chǔ)》是我校工科非計算機(jī)專業(yè)的一門必修課程,目的是使學(xué)生掌握程序設(shè)計的基本方法,并形成正確的程序設(shè)計思想,培養(yǎng)學(xué)生用計算機(jī)解決本專業(yè)問題的能力,為后續(xù)課程的學(xué)習(xí)打下良好的基礎(chǔ)。

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

  2函數(shù)思想的引入

  數(shù)學(xué)中的函數(shù)與C語言中的函數(shù)有什么區(qū)別?數(shù)學(xué)中的函數(shù)側(cè)重于自變量和因變量之間的映射關(guān)系,而C語言中的函數(shù)主要側(cè)重于功能的實(shí)現(xiàn)。

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

  進(jìn)而引導(dǎo)學(xué)生回顧教學(xué)中以前學(xué)過的主函數(shù)和C語言中的一些常見的庫函數(shù)(如sqrt()),總結(jié)這些函數(shù)的共同點(diǎn),標(biāo)識符后面都有一個括號,并以一到兩個子函數(shù)為例,講解、編譯、運(yùn)行,幫助學(xué)生更好地認(rèn)識函數(shù)。

  在學(xué)生對函數(shù)有了基本的認(rèn)識之后,給學(xué)生說明并非所有的函數(shù)都是現(xiàn)成的,有很多是需要用戶自定義編寫的――用戶自定義函數(shù)。在教學(xué)中,筆者認(rèn)為函數(shù)的分類最重要的標(biāo)準(zhǔn)就是函數(shù)的使用方式,根據(jù)函數(shù)的使用方式可以將函數(shù)分為數(shù)值計算函數(shù)(有返回值,類型不是void)和任務(wù)執(zhí)行函數(shù)(無返回值,類型為void),數(shù)值計算函數(shù)因?yàn)橛薪Y(jié)果,使用時一般當(dāng)做表達(dá)式的一部分或者函數(shù)參數(shù),任務(wù)執(zhí)行函數(shù)由于沒有結(jié)果,使用時一般獨(dú)立成一條語句。

  3函數(shù)的定義和調(diào)用

  3.1采用要素提取法完成函數(shù)定義

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

  對于函數(shù)要素的教學(xué)部分,重點(diǎn)講解函數(shù)的定義與調(diào)用。函數(shù)定義的一般形式為:

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

  {聲明部分;

  語句部分;

  return(返回值);}

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

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

  以求階乘為例,定義函數(shù):

  intfactorial(int x)

  {int s=1,i;

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

  {s=s*i;}

  return s;}

  3.2函數(shù)調(diào)用及虛實(shí)結(jié)合的過程

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

  在函數(shù)的調(diào)用過程中,還需要重點(diǎn)講解實(shí)際參數(shù)和形式參數(shù)的區(qū)別,以及整個虛實(shí)結(jié)合的過程。在使用函數(shù)時后面括號中是具體的值,即實(shí)際參數(shù)。函數(shù)定義中括號中的參數(shù)是形式參數(shù),沒有具體的值。在發(fā)生函數(shù)調(diào)用的時候,形式參數(shù)用來接收實(shí)際參數(shù)的值。如:

  voidmain()

  {int a=13,c;

  c=factorial(a);

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

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

  在函數(shù)定義和調(diào)用中需要重點(diǎn)強(qiáng)調(diào)的地方:

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


【C語言函數(shù)教學(xué)方法】相關(guān)文章:

C語言中遞歸函數(shù)的教學(xué)方法05-31

淺談C語言函數(shù)03-28

C語言函數(shù) atoi()03-23

C語言函數(shù)的含義06-15

什么是C語言函數(shù)01-22

C語言函數(shù)的定義07-13

C語言的數(shù)組與函數(shù)02-28

C語言函數(shù)的聲明以及函數(shù)原型04-20

C語言的指針型函數(shù)02-20