韓國英,吳小玉,程玉景
(石家莊工程職業(yè)學(xué)院,河北 石家莊 050061)
信息化
淺談C語言程序設(shè)計(jì)能力的養(yǎng)成方法
韓國英,吳小玉,程玉景
(石家莊工程職業(yè)學(xué)院,河北石家莊050061)
介紹了什么是C語言程序設(shè)計(jì)、為什么要學(xué)習(xí)C語言程序設(shè)計(jì),分析了學(xué)習(xí)過程中遇到的現(xiàn)象并剖析了原因,提出了解決辦法,指出重在學(xué)習(xí)者綜合能力的提高。
C語言程序設(shè)計(jì);編程;調(diào)試能力
在新科技和互聯(lián)網(wǎng)高度發(fā)展的今天,計(jì)算機(jī)的應(yīng)用也非常普遍,它的作用在人們的生活中和工作中體現(xiàn)的越來越突出。C語言作為一種計(jì)算機(jī)的應(yīng)用型語言,會幫助我們與計(jì)算機(jī)進(jìn)行人機(jī)的對話交流,因此,對于我們使用計(jì)算機(jī)的人來說學(xué)習(xí)C語言尤其重要。
C語言的設(shè)計(jì)功能十分強(qiáng)大,不僅可以編寫應(yīng)用軟件,又可用于系統(tǒng)軟件的設(shè)計(jì)制作。它是一種傳統(tǒng)的結(jié)構(gòu)化設(shè)計(jì)語言,低級語言的功能和高級語言的特征在C語言的身上都有體現(xiàn)。除此之外,C語言還是一種非常通用的編程軟件,即使在今天的軟件行業(yè)中的使用仍然是十分的廣泛。由于C語言可以看做是一種計(jì)算機(jī)的底層編程工具之一,因此,由C語言設(shè)計(jì)編寫的程序,它的執(zhí)行效率僅次于匯編語言編寫的程序[1]。C語言的這些特點(diǎn),使得C語言在多個(gè)行業(yè)具有廣闊的應(yīng)用前景。
當(dāng)今社會隨著互聯(lián)網(wǎng)技術(shù)的深入發(fā)展,特別是計(jì)算機(jī)應(yīng)用技術(shù)的普及,越來越多的人開始接觸并學(xué)習(xí)計(jì)算機(jī)技術(shù)應(yīng)用的知識,以便不斷滿足社會發(fā)展的需要和自身的需要。近些年來,C語言不僅被計(jì)算機(jī)專業(yè)人員所使用和喜愛,許多計(jì)算機(jī)應(yīng)用人員也逐漸開始喜愛和使用C語言。眾多的實(shí)踐事實(shí)也證明,C語言是一種非常好的程序設(shè)計(jì)語言[2]。
在大學(xué)中開設(shè)C語言程序設(shè)計(jì)課程的目的就是要使學(xué)生能夠掌握C語言的基本語句、基本控制結(jié)構(gòu)以及自頂向下結(jié)構(gòu)化程序設(shè)計(jì)的基本思想,使學(xué)生認(rèn)識到算法的使用、良好的程序設(shè)計(jì)風(fēng)格以及實(shí)踐在本門課程學(xué)習(xí)中的重要性,培養(yǎng)學(xué)生熟練使用C語言進(jìn)行分析問題和解決實(shí)際問題的能力[3]。
目前在全國各地高等院校各專業(yè)教學(xué)中都開設(shè)了編程語言的基礎(chǔ)課,《C語言程序設(shè)計(jì)》是各高校開設(shè)編程技術(shù)基礎(chǔ)課的首選,在各專業(yè)的教學(xué)計(jì)劃中占有重要地位和作用。
在學(xué)習(xí)C語言的過程中,會遇到以下列舉的一些困惑:
1)老師講授的內(nèi)容都能聽明白,C語言教材上的例題也能理解,但自己親自動手編寫程序語句時(shí),反而卻不知道自己該從何下手。這樣的現(xiàn)象主要是由于我們平時(shí)多數(shù)情況是在聽知識,而當(dāng)我們動手去編寫程序的時(shí)候,則是要根據(jù)實(shí)際情況解決問題而控制程序的流程。如果沒有深刻地理解C語言語句的執(zhí)行過程,那是不會順利編寫出高效的程序解決這些實(shí)際問題的。
2)相關(guān)的擴(kuò)展知識不夠。在用C語言編寫程序語句解決實(shí)際問題時(shí),所需要的不僅是C語言的編程知識,還需要與實(shí)際問題相關(guān)的專業(yè)知識。例如解決數(shù)學(xué)問題,我們要求解一個(gè)圓柱體的體積,若是沒有數(shù)學(xué)基礎(chǔ),即使C語言學(xué)得再好也編不出計(jì)算圓柱體體積的程序來。
3)C語言程序設(shè)計(jì)的實(shí)踐性特點(diǎn)比較突出,啃課本式的只看不練是學(xué)不好C語言的。比如說,一個(gè)只看過但是從來沒有摸過跳繩的人,手里即使拿著再好的跳繩,不要說跳出花樣,可能連續(xù)的跳上幾個(gè)都成問題。
4)能夠編寫出程序,但是缺少實(shí)踐調(diào)試能力。具備基本的編程能力,但是調(diào)試的過程中出現(xiàn)的錯(cuò)誤無法解決的現(xiàn)象也比較多見。由于任何一個(gè)程序員在編寫程序時(shí)也避免不了不出現(xiàn)錯(cuò)誤,甚至都有可能是一些比較低級的語法錯(cuò)誤,也許是敲鍵錯(cuò)誤,也可能是思維忽略,但不同的是他能快速發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤,而對于C語言的初學(xué)者在遇到這些提示時(shí),卻是不知道發(fā)生了什么,怎樣才能解決這種現(xiàn)象,這就是在調(diào)試經(jīng)驗(yàn)上的差距[4]。
對于上述的這些情況,可以試著按如下方法去嘗試:
1)多進(jìn)行驗(yàn)證性的練習(xí)。在學(xué)習(xí)的初期階段可以按照老師給出的程序或者是書本上的例題進(jìn)行照樣輸入,對照程序語句驗(yàn)證運(yùn)行結(jié)果是否一致,逐步熟悉C語言語句的使用習(xí)慣和軟件環(huán)境的使用方法。
2)在一定的基礎(chǔ)上照葫蘆畫瓢。在掌握了的C語言的基本調(diào)試方法后,可以在此基礎(chǔ)上對正確的程序嘗試進(jìn)行試驗(yàn)性的改動,注意運(yùn)行結(jié)果發(fā)生怎么樣的變化,如此多次修改,就能夠掌握C語言程序一些常規(guī)錯(cuò)誤發(fā)生的原因,這樣自然就會加深對所學(xué)知識點(diǎn)的理解。事實(shí)上這也是對驗(yàn)證性學(xué)習(xí)的一個(gè)提高階段,實(shí)現(xiàn)程序相關(guān)知識點(diǎn)的深度理解和記憶。
3)對于初學(xué)者來說一定要注意,在每次修改性調(diào)試時(shí)最保險(xiǎn)的是只改動程序中一個(gè)地方,避免一次改動多個(gè)地方導(dǎo)致出現(xiàn)多個(gè)錯(cuò)誤,而使自己搞不清楚引起錯(cuò)誤的實(shí)際原因在什么地方。
4)上機(jī)調(diào)試程序時(shí)可以隨身帶上一個(gè)調(diào)試記錄本,記下英文錯(cuò)誤提示信息和解決該錯(cuò)誤問題的方法,積累程序調(diào)試經(jīng)驗(yàn),避免再編程時(shí)犯同樣的錯(cuò)誤。
5)在具備一定經(jīng)驗(yàn)的基礎(chǔ)上試著自己編程,嘗試人為制造一些類似的錯(cuò)誤問題,在不看教材和調(diào)試記錄本的情況下進(jìn)行調(diào)試。能夠順利解決設(shè)置的問題后,再嘗試添加程序語句進(jìn)行調(diào)試[5]。
在學(xué)習(xí)并掌握了C語言編程與調(diào)試的基礎(chǔ)和技巧后,開始自己動手編寫一些小程序,逐步從小到大試著編寫功能稍大一些的程序,逐步提高自己的C語言應(yīng)用能力。
想要學(xué)習(xí)語言類的程序設(shè)計(jì)能力,除了多練習(xí)以外,還要多看其他人優(yōu)秀的解題思路與方法,多嘗試自己去動手解決實(shí)際問題。有空的時(shí)候把自己以前寫的程序拿出來改良改良,這樣堅(jiān)持下去的話,每隔一段時(shí)間都會有意想不到的收獲。
[1]譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2010:2-19.
[2]熊錫林,林宗朝.C語言程序設(shè)計(jì)案例教程[M].大連:大連理工大學(xué)出版社,2009:23-32.
[3]程立倩.C語言程序設(shè)計(jì)案例教程[M].北京:北京郵電大學(xué)出版社,2012:85-99.
[4]何強(qiáng).C語言設(shè)計(jì)教程上機(jī)指導(dǎo)及題解[M].大連:大連理工大學(xué)出版社,2012:3-7.
[5]劉瑩.C語言程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2009:89-97.
(編輯:苗運(yùn)平)
On the CLanguage Programm ing Capabilities to Develop Methods
Han Guoying,Wu Xiaoyu,Cheng Yujing
(Shijiazhuang Engineering Vocational College,Shijiazhuang Hebei050061)
This paper introduces what is the C language program design,why learn C language program design,analyzes the phenomena encountered in the learning process and analyze the reasons and put forward solutions,points out that the emphasis on the improvementof learners'comprehensive
C language programming;programming;debugging capabilities
G642
A
2095-0748(2016)11-0089-02
10.16525/j.cnki.14-1362/n.2016.11.37
2016-04-18
韓國英(1980—),男,河北武安人,工程碩士,畢業(yè)于石家莊鐵道大學(xué)計(jì)算機(jī)技術(shù)專業(yè),現(xiàn)就職于石家莊工程職業(yè)學(xué)院,講授C語言程序設(shè)計(jì)等課程。河北省教育廳先進(jìn)德育工作者,學(xué)院先進(jìn)工作者、優(yōu)秀教師、優(yōu)秀黨員。