国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺析C語言教學(xué)問題

2015-12-07 12:14王曉莉黃燕
電腦知識(shí)與技術(shù) 2015年6期
關(guān)鍵詞:編譯器C語言教學(xué)問題

王曉莉 黃燕

摘要:C語言是一種很好的結(jié)構(gòu)化程序設(shè)計(jì)語言,目前是高校計(jì)算機(jī)、信息管理等專業(yè)中一門重要的基礎(chǔ)課程,也是一門實(shí)踐性很強(qiáng)的課程,但就目前教學(xué)過程中,運(yùn)行環(huán)境的多樣化,造成了不同的運(yùn)行結(jié)果致使學(xué)生十分迷惑,因此,在課堂教學(xué)與實(shí)踐中需要重點(diǎn)強(qiáng)調(diào)其結(jié)果的運(yùn)算過程。由此,本文就自加自減不同運(yùn)行結(jié)果的問題加以分析。

關(guān)鍵詞:C語言;編譯器;教學(xué)問題;教學(xué)改革

中圖分類號(hào):G424 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)06-0143-02

On the Teaching of C Language

WANG Xiao-li, HUANG Yan

(Henan Information Engineering College, Zhengzhou 450000, China)

Abstract:C Language is a good structured programming language. At present, it is an important basic and practical course on computer, information management and so on.But now as for the teaching process, the different operating results caused by the diversification of operating environment makes the students very confused. Therefore, we should emphasize the results of the calculation process in classroom teaching and practice. Thus, this paper will analyse from different operating results plus decrement problems.

Key words:C Language; compiler; teaching problem; reform in education

當(dāng)前,電子信息化的時(shí)代,計(jì)算機(jī)的應(yīng)用技術(shù)飛速發(fā)展,程序設(shè)計(jì)技術(shù)也從結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)不斷地向面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)過渡,雖然,對(duì)于規(guī)模較大的應(yīng)用程序,總體框架是由面向?qū)ο蟪绦蛟O(shè)計(jì)而搭建,但在局部實(shí)現(xiàn)過程還有許多仍需采用結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)。C語言是高級(jí)語言中的低級(jí)語言,也是一種很好的結(jié)構(gòu)化程序設(shè)計(jì)語言,因此,在全國各高?!禖語言程序設(shè)計(jì)》依然占據(jù)這重要的地位,也是計(jì)算機(jī)、信息管理相關(guān)專業(yè)必修的一門基礎(chǔ)課程。但其豐富的功能、多樣化的運(yùn)行環(huán)境,給初學(xué)者帶來了很多困惑。本文就C語言教學(xué)過程中具體遇到的問題進(jìn)行分析。

1 C語言的優(yōu)勢與特點(diǎn)

C語言是目前使用最廣泛的一種計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語言,具有數(shù)據(jù)類型豐富,概念簡潔,通用性好,表達(dá)能力強(qiáng)等特點(diǎn),而且用法靈活,可讀性好,有利于讀者培養(yǎng)其良好的編程習(xí)慣,是一種既適合系統(tǒng)程序設(shè)計(jì),又適合應(yīng)用程序設(shè)計(jì)。因此,贏得了廣大編程人員的喜愛,得以廣泛應(yīng)用。由此,也成為高校中計(jì)算機(jī)及相關(guān)專業(yè)的必修課。

每一種事物得以存在和發(fā)展,都有其自身不可忽略的特點(diǎn),語言也不例外,當(dāng)然,C語言的發(fā)展也有著不同于甚至優(yōu)于其他語言的特點(diǎn)。具體特征包括:

1) C語言是一種結(jié)構(gòu)化語言

結(jié)構(gòu)化語言就是將自然語言加上程序設(shè)計(jì)語言的控制結(jié)構(gòu)就成了結(jié)構(gòu)化語言,它顯著特點(diǎn)就是代碼和數(shù)據(jù)的分隔化,換言之,程序各部分除必要信息交流外彼此互不影響。

2) 簡潔、緊湊、靈活

C語言一共有43個(gè)關(guān)鍵字,包括通用關(guān)鍵字32個(gè),擴(kuò)充關(guān)鍵字11個(gè);9種控制語句。程序書寫形式自由,主要用小寫字母表示。

運(yùn)算符豐富。C的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理,從而使C的運(yùn)算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其他高級(jí)語言中難以實(shí)現(xiàn)的運(yùn)算。

3) 語法限制不嚴(yán)格

C語言語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度比較大,例如對(duì)數(shù)組邊界不作檢查,整型、字符型數(shù)據(jù)可以通用等等,這些都需要由程序編寫者自行確保程序的正確性。

4) 運(yùn)算符豐富

C語言共有44種運(yùn)算符。C語言中把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等等都作為了運(yùn)算符處理,即可以實(shí)現(xiàn)其他高級(jí)語言中難以實(shí)現(xiàn)的運(yùn)算。此外,C語言數(shù)據(jù)結(jié)構(gòu)也非常豐富,基本涵蓋了各種數(shù)據(jù)類型。主要包括基本類型(字符型、整型、實(shí)型、枚舉型)、空類型(void)、構(gòu)造類型(數(shù)組、結(jié)構(gòu)體、共用體)和指針類型等。從而可以實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹、棧等)的運(yùn)算。

5) 功能強(qiáng)大

C語言有著豐富的庫函數(shù),強(qiáng)大的圖形功能及其預(yù)處理能力,與其他語言容易接口,可直接對(duì)硬件進(jìn)行操作。比如PASCAL語言、匯編語言、數(shù)據(jù)庫語言等。而且,C語言還可以直接調(diào)用DOS命令。由此,當(dāng)前工業(yè)計(jì)算機(jī)控制系統(tǒng)開發(fā)過程中,C語言成為了越來越多編程人員編寫控制軟件的首選。

由此,有人把C語言稱為“高級(jí)語言中的低級(jí)語言” ,也有人稱它為“中級(jí)語言”。它具有很多只有像匯編語言才具備的功能,比如直接訪問物理地址等。但它又具有高級(jí)語言的編寫容易,較高的可讀性特點(diǎn),這就使程序員不僅減輕負(fù)擔(dān),而且效率提高,同時(shí),C語言編寫的程序具有更好的可移植性。

2 C語言教學(xué)問題

目前,結(jié)合C語言的特點(diǎn),C語言的教學(xué)方法也越來越多樣化,而隨著教學(xué)改革,在教學(xué)過程中采用的編譯運(yùn)行環(huán)境也多樣化,方便C程序的實(shí)現(xiàn)的同時(shí)也給教學(xué)過程帶來了相應(yīng)的問題。

在某些運(yùn)行問題中不同的運(yùn)行環(huán)境造成的結(jié)果是截然不同的。目前常用的C語言的編譯運(yùn)行環(huán)境包括Turbo C、Visual C++、Vs2008、Win-TC、C-free等,在教學(xué)過程中,運(yùn)用比較多的就是Turbo C、Visual C++、C-free。但是就在這些編譯運(yùn)行環(huán)境講解時(shí)問題也應(yīng)然而生,尤其在自加自減運(yùn)算過程中,所得結(jié)果是截然不同的,主要原因是自加自減自身運(yùn)算規(guī)律和編譯過程中運(yùn)算順序不同而造成,例如,現(xiàn)有程序:

#include

main( )

{

int i=5,j=4,p,q;

p=(i++)+(i++)+(i++); /*后置形式。*/

q=(--j)+ (--j)+(--j); /*前置形式。*/

printf(“i=%d,p=%d\n”,i,p); /*輸出i,p運(yùn)行結(jié)果*/

printf(“j=%d,q=%d\n”,j,q); /*輸出j,q運(yùn)行結(jié)果*/

}

針對(duì)于編譯器Turbo C而言,運(yùn)行結(jié)果:

i=8,p=15

j=1,q=3

針對(duì)于VC++6.0而言,運(yùn)行結(jié)果:

i=8,p=15

j=1,q=5

分析在此程序中對(duì)于Turbo C和VC++6.0兩種編譯器運(yùn)行結(jié)果,可以看出,對(duì)于后置“先用后變”的規(guī)律是指在下一條語句執(zhí)行前統(tǒng)一改變,而不是剛用完就變,相當(dāng)于p=i+i+i;i=i+1, i=i+1, i=i+1; 對(duì)于前置“先變后用”的規(guī)律,執(zhí)行結(jié)果就會(huì)與所用編譯器有關(guān),針對(duì)C語言自身的編譯器Turbo C而言,先進(jìn)行三次自減運(yùn)算后再取j的值相加,相當(dāng)于j=j-1, j=j-1, j=j-1;q=j+j+j;針對(duì)目前各類考試而使用的VC++6.0環(huán)境分析,先進(jìn)行兩次自減運(yùn)算,取其相加后,再進(jìn)行第三次自減,取其相加得q值,等價(jià)于j=j-1, j=j-1;q=j+j; j=j-1;q=q+j;由此,學(xué)生第一時(shí)間看到課本的結(jié)果和上機(jī)實(shí)踐運(yùn)行的結(jié)果就有了出入,造成了學(xué)生的困惑。此時(shí),就應(yīng)該在上課時(shí)具體分析后再讓學(xué)生進(jìn)行上機(jī)實(shí)踐。

在實(shí)踐過程中要強(qiáng)調(diào)的是讓學(xué)生有目的地摒棄課本上已經(jīng)過時(shí)的知識(shí)點(diǎn),而找到目前正在盛用的知識(shí)。因此,在教學(xué)中不論是解決自加自減問題,還是空間分配問題,運(yùn)行結(jié)果與編譯器有關(guān)的,我們都應(yīng)該強(qiáng)調(diào)的是目前各類考試和實(shí)際操作所涉及的VC++6.0的運(yùn)行規(guī)律及結(jié)果,而非課本中給出的Turbo C運(yùn)行的規(guī)律和結(jié)果。

3 C語言教學(xué)改革

針對(duì)于C語言教學(xué)過程中出現(xiàn)的編譯器的差異而造成了結(jié)果不同,我們在教學(xué)過程中就不可以單一的針對(duì)課本講解,需要結(jié)合目前實(shí)際應(yīng)用著手,因此,團(tuán)隊(duì)合作項(xiàng)目驅(qū)動(dòng)式實(shí)踐教學(xué)有效地改善了教學(xué)問題。

德國教育學(xué)家第斯多惠曾說:“教學(xué)的藝術(shù)不在于傳授本領(lǐng),而在于激勵(lì)、呼喚?!眻F(tuán)隊(duì)合作項(xiàng)目驅(qū)動(dòng)式實(shí)踐教學(xué)主要是以現(xiàn)實(shí)問題為出發(fā)點(diǎn),結(jié)合教學(xué)內(nèi)容和進(jìn)度選擇合適的項(xiàng)目,以教師為引導(dǎo),由團(tuán)隊(duì)合作完成具體任務(wù)。由此,學(xué)生可以從簡單的小程序的編寫開始了解程序基本語法和結(jié)構(gòu),并且以團(tuán)隊(duì)合作形式可以互補(bǔ)每個(gè)學(xué)生的特點(diǎn)和知識(shí)點(diǎn),逐漸加深知識(shí)點(diǎn)并達(dá)到靈活運(yùn)用語言編程解決一定難度的實(shí)際問題。從而改變以教材實(shí)例為主體,減少學(xué)生死記課本知識(shí),不會(huì)靈活應(yīng)用的現(xiàn)象,而且激發(fā)了學(xué)生的思維和合作。并且還可以摒棄C語言講解過程中出現(xiàn)大量不同編譯器出現(xiàn)不同結(jié)果的情況出現(xiàn)。更實(shí)際地讓學(xué)生學(xué)以致用,利用目前最為超前的編譯器實(shí)現(xiàn)程序的運(yùn)行。而非純理論的研究程序的運(yùn)行過程。

在教學(xué)過程中,團(tuán)隊(duì)合作項(xiàng)目驅(qū)動(dòng)式實(shí)踐任務(wù)過程中,以一個(gè)實(shí)際問題為出發(fā),由易向難過渡,貫穿整個(gè)C語言的基本知識(shí)點(diǎn),從而可以使學(xué)生連貫性地掌握每一個(gè)知識(shí)點(diǎn),并且團(tuán)隊(duì)合作過程中每完成一個(gè)階段每個(gè)人都會(huì)體驗(yàn)其中成功的喜悅,可以直接提升學(xué)生的學(xué)習(xí)興趣,并且以實(shí)踐彌補(bǔ)課本中古老的問題。從而全面地培養(yǎng)學(xué)生自主學(xué)習(xí)構(gòu)建知識(shí)的能力,充分地體現(xiàn)了應(yīng)用型教學(xué)“以能力為本位”的價(jià)值取向。

4 結(jié)論

教學(xué)改革的研究和實(shí)踐永遠(yuǎn)是一項(xiàng)值得關(guān)注并且持續(xù)探索的過程,改善傳統(tǒng)教育中過分重視灌輸課本知識(shí)的現(xiàn)象是刻不容緩的,著重于學(xué)生素質(zhì)能力和實(shí)踐能力的培養(yǎng)是目前教學(xué)的重中之重的任務(wù),所以需要快速減少對(duì)于C語言這類課程出現(xiàn)的課本與實(shí)踐結(jié)論沖突的問題。因此,為了迎合目前國家的發(fā)展,滿足國家人才的需要,教師在教學(xué)中就應(yīng)該及時(shí)改變不完善的傳統(tǒng)教學(xué)模式,不斷進(jìn)行自我學(xué)習(xí)、自我探索,及時(shí)調(diào)整符合所帶課程的教學(xué)方案,逐漸提高學(xué)生分析問題、解決問題、駕馭知識(shí)的能力,培養(yǎng)國家真正需要的科技人才,在實(shí)踐中摒棄已經(jīng)過時(shí)的知識(shí),更新現(xiàn)有的知識(shí)體系。

參考文獻(xiàn):

[1] 王窕珊.C語言編程教學(xué)方法探討[J].計(jì)算機(jī)光盤軟件與應(yīng)用, 2011(9).

[2] 曹莎莎. C語言教學(xué)研究與思考[J]. Value Engineering, 2012,31(1).

[3] 鄧維斌,周玉敏.提高C語言實(shí)驗(yàn)教學(xué)效果的探索[J].實(shí)驗(yàn)室研究與探索,2006,25(3).

[4] 張學(xué)林,陳齊超,段珊,胡波.項(xiàng)目教學(xué)法在“C語言課程設(shè)計(jì)”中的研究與應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2011,28(2).

[5] 夏歡慶.C語言在計(jì)算機(jī)中的應(yīng)用[J].電腦知識(shí)與技術(shù), 2011,7(23).

[6] 譚浩強(qiáng).C程序設(shè)計(jì)[M].3版.北京:清華大學(xué)出版社,2005.

[7] 孔娟,曹利培.C語言程序設(shè)計(jì)[M].長春: 吉林大學(xué)出版社,2009.

猜你喜歡
編譯器C語言教學(xué)問題
基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
基于相異編譯器的安全計(jì)算機(jī)平臺(tái)交叉編譯環(huán)境設(shè)計(jì)
基于C語言的計(jì)算機(jī)軟件編程
高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
本科英語專業(yè)翻譯教學(xué)改革與實(shí)用型翻譯人才的培養(yǎng)
淺析給排水工程課程教學(xué)設(shè)計(jì)
論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
通用NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn)
編譯器無關(guān)性編碼在微控制器中的優(yōu)勢
基于ARM嵌入式平臺(tái)的x86譯碼SOC架構(gòu)設(shè)計(jì)