C語(yǔ)言范文10篇
時(shí)間:2024-01-15 14:11:42
導(dǎo)語(yǔ):這里是公文云根據(jù)多年的文秘經(jīng)驗(yàn),為你推薦的十篇C語(yǔ)言范文,還可以咨詢(xún)客服老師獲取更多原創(chuàng)文章,歡迎參考。

C語(yǔ)言變量理解
一、變量的概念
程序設(shè)計(jì)就是讓計(jì)算機(jī)按照一定的指令來(lái)進(jìn)行工作,可以說(shuō)數(shù)據(jù)的處理是程序設(shè)計(jì)的主要任務(wù)。那么數(shù)據(jù)是怎么加入到計(jì)算機(jī)的內(nèi)存中呢?計(jì)算機(jī)最初的功能就是能夠存儲(chǔ)數(shù)據(jù)并處理數(shù)據(jù)的機(jī)器。那么數(shù)據(jù)是怎么加入到計(jì)算機(jī)的內(nèi)存中呢?在學(xué)習(xí)程序設(shè)計(jì)之前,很多學(xué)生對(duì)計(jì)算機(jī)的硬件設(shè)施都大概已經(jīng)很熟悉了。計(jì)算機(jī)的硬件設(shè)施中有一個(gè)區(qū)域是用來(lái)存儲(chǔ)數(shù)據(jù)的,計(jì)算機(jī)在工作的過(guò)程中會(huì)頻繁的從這個(gè)區(qū)域讀入和讀出數(shù)據(jù)。要想讓計(jì)算機(jī)按照某些指令(程序)自動(dòng)工作,首先必須把數(shù)據(jù)存儲(chǔ)到計(jì)算機(jī)的存儲(chǔ)空間中。在某種計(jì)算機(jī)語(yǔ)言中實(shí)現(xiàn)這種數(shù)據(jù)存儲(chǔ)功能的就是變量。變量就是計(jì)算機(jī)內(nèi)存中的某一個(gè)存儲(chǔ)單元。
二、變量的定義
C語(yǔ)言中變量在使用之前必須先對(duì)其進(jìn)行定義,變量的定義的一般形式如下:【存儲(chǔ)類(lèi)別】數(shù)據(jù)類(lèi)型變量名;其中存儲(chǔ)類(lèi)別是可以省略的。
1、存儲(chǔ)類(lèi)別計(jì)算機(jī)的內(nèi)存一般分為三個(gè)部分:1)程序區(qū);2)靜態(tài)存儲(chǔ)區(qū);3)動(dòng)態(tài)存儲(chǔ)區(qū);為了高效的發(fā)揮計(jì)算機(jī)的功能,不同類(lèi)型的變量存放在不同的內(nèi)存區(qū)域。變量的存儲(chǔ)類(lèi)別決定了變量中的數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中的存儲(chǔ)位置。C語(yǔ)言中局部變量存放在動(dòng)態(tài)存儲(chǔ)區(qū),全局變量或者靜態(tài)變量存放在靜態(tài)存儲(chǔ)區(qū)。
2、數(shù)據(jù)類(lèi)型在用程序處理問(wèn)題之前,首先必須確定用何種方式描述問(wèn)題中所涉及到的數(shù)據(jù)。這個(gè)問(wèn)題在C語(yǔ)言中是由數(shù)據(jù)類(lèi)型來(lái)決定的。變量的本質(zhì)表現(xiàn)為在計(jì)算機(jī)中的存在時(shí)間和存儲(chǔ)空間。變量的數(shù)據(jù)類(lèi)型是用來(lái)決定變量在計(jì)算機(jī)中占用內(nèi)存空間的大小。比如:整型數(shù)據(jù)在TC編譯系統(tǒng)中占用兩個(gè)字節(jié)的存儲(chǔ)空間。C語(yǔ)言變量的類(lèi)型不僅確定了數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中的存儲(chǔ)區(qū)域的大小,同時(shí)確定了該數(shù)據(jù)能夠參與的各種運(yùn)算。任何一個(gè)C語(yǔ)言的變量必須有確定的數(shù)據(jù)類(lèi)型,不管這個(gè)變量如何變化,變量的值都必須符合該變量數(shù)據(jù)類(lèi)型的規(guī)定。
C語(yǔ)言教學(xué)對(duì)策
1引言
在目前的程序設(shè)計(jì)課程教學(xué)中如何突出對(duì)學(xué)生編程能力的培養(yǎng),是一個(gè)亟待解決的問(wèn)題。對(duì)于計(jì)算機(jī)專(zhuān)業(yè)學(xué)生來(lái)說(shuō),C語(yǔ)言程序設(shè)計(jì)是一門(mén)專(zhuān)業(yè)基礎(chǔ)課,對(duì)后續(xù)專(zhuān)業(yè)課程至關(guān)重要。然而,國(guó)內(nèi)中職學(xué)校該類(lèi)課程的教學(xué)模式仍停留在傳統(tǒng)的模式上,過(guò)于注重語(yǔ)句、語(yǔ)法和一些細(xì)節(jié),基本上是以高級(jí)語(yǔ)言自身的體系為脈絡(luò)展開(kāi)的,沒(méi)有把邏輯與編程解題思路放在主體地位上。這些問(wèn)題是否能夠被很好地解決已成為中職學(xué)校計(jì)算機(jī)教學(xué)成敗的關(guān)鍵。作為教師,在計(jì)算機(jī)教學(xué)中,應(yīng)不斷地改變教育觀念,以學(xué)生為主體,創(chuàng)造性地組織教學(xué)內(nèi)容,設(shè)計(jì)教學(xué)結(jié)構(gòu),注重挖掘?qū)W生的潛力,從而使學(xué)生的計(jì)算機(jī)學(xué)習(xí)成為一種自覺(jué)自愿的活動(dòng),進(jìn)而使計(jì)算機(jī)教育的改革不斷推向深入,最終使計(jì)算機(jī)學(xué)習(xí)超越課堂空間。為達(dá)到這一目的,C語(yǔ)言程序設(shè)計(jì)應(yīng)采用如下教學(xué)方法。
2強(qiáng)調(diào)學(xué)習(xí)C語(yǔ)言的重要性,激發(fā)學(xué)生的學(xué)習(xí)主動(dòng)性
C語(yǔ)言是目前世界上使用最為廣泛的計(jì)算機(jī)語(yǔ)言之一,它是一種介于匯編語(yǔ)言與高級(jí)語(yǔ)言之間的編程語(yǔ)言。教師可以在第一節(jié)C語(yǔ)言課中就讓學(xué)生看一下在圖形模式下用C語(yǔ)言繪制出來(lái)的、類(lèi)似WINDOWS的窗口,讓學(xué)生感受和體會(huì)一下圖形模式下C語(yǔ)言的編程;使他們知道,C語(yǔ)言作為一種計(jì)算機(jī)編程語(yǔ)言,它是可以在任何一種平臺(tái)上編程的,只是接口不同而已。只要找到適合該平臺(tái)的編程工具,C語(yǔ)言在WINDOWS下同樣也能充分發(fā)揮其特長(zhǎng),從而激發(fā)學(xué)生的學(xué)習(xí)積極性和主動(dòng)性。
3采取粗講和細(xì)講的方法
中職學(xué)校計(jì)算機(jī)教學(xué)的特點(diǎn)是:知識(shí)更新快、內(nèi)容范圍廣、應(yīng)用要求高,由此帶來(lái)的問(wèn)題之一就是課時(shí)的相對(duì)減少。在實(shí)際教學(xué)工作中,我體會(huì)到,要緩解課程內(nèi)容多和學(xué)時(shí)相對(duì)少的矛盾,就是要將“粗講”和“細(xì)講”結(jié)合起來(lái),例如:在“C語(yǔ)言程序設(shè)計(jì)”課的教學(xué)中,前面的幾章是一系列規(guī)則性、語(yǔ)言的語(yǔ)法要求很強(qiáng)且很瑣碎的內(nèi)容,如果一開(kāi)始就按部就班地一條條給學(xué)生講解這些規(guī)則,常常使學(xué)生產(chǎn)生“只見(jiàn)樹(shù)木,不見(jiàn)森林”、茫然不知所措的感覺(jué)。所以應(yīng)該先通過(guò)一個(gè)簡(jiǎn)單的C語(yǔ)言程序?qū)嵗凹?xì)講”為什么要制定這些規(guī)則,使學(xué)生清楚這些規(guī)則在程序中的用途,然后對(duì)于這些規(guī)則“是什么”就可有代表性“粗講”,甚至有些部分可以不講,讓學(xué)生邊用邊學(xué)。
C語(yǔ)言循環(huán)命令運(yùn)用
1.C語(yǔ)言的應(yīng)用
隨著計(jì)算機(jī)的普及用,越來(lái)越多的人感覺(jué)到現(xiàn)有的計(jì)算機(jī)的應(yīng)用不能滿(mǎn)足越來(lái)越多、越來(lái)越復(fù)雜的事物處理,所以希望自己能夠根據(jù)所遇到不同的情況來(lái)設(shè)計(jì)、制作、開(kāi)發(fā)相對(duì)靈活的控制程序。這樣既可以滿(mǎn)足個(gè)人的需要,又能滿(mǎn)足其它不同的使用用途。C語(yǔ)言是高級(jí)語(yǔ)言的基礎(chǔ),學(xué)習(xí)計(jì)算機(jī)語(yǔ)言要從C語(yǔ)言入手,C是面向過(guò)程編程的,這樣會(huì)把所有的功能包含在幾個(gè)(通常是一個(gè))代碼模塊中。便于以后可以通過(guò)不同的用途來(lái)進(jìn)行移植,可以對(duì)不同的控制項(xiàng)目產(chǎn)生相同的效果。C語(yǔ)言的優(yōu)點(diǎn)很多,但是現(xiàn)對(duì)于其他語(yǔ)言的優(yōu)點(diǎn)就是可以在多種操作系統(tǒng)下運(yùn)行。
2.C語(yǔ)言中的循環(huán)語(yǔ)句
C語(yǔ)言中的循環(huán)語(yǔ)句的作用是為了使同一個(gè)事物具有相同的操作,這可以大大減少程序的復(fù)雜性,能夠提高程序的運(yùn)行效率。在日常使用中的問(wèn)題中有許多具有相同規(guī)律的重復(fù)動(dòng)作,因此在程序設(shè)計(jì)中就要對(duì)這些相同的動(dòng)作,重復(fù)使用這些語(yǔ)句。一組被不斷重復(fù)使用的語(yǔ)句稱(chēng)之為循環(huán)語(yǔ)句,如果循環(huán)的終止條件被觸發(fā),那么就要終止循環(huán)。循環(huán)語(yǔ)句由兩部分組成,即循環(huán)體及循環(huán)的終止條件。在C語(yǔ)言中,包含以下循環(huán)語(yǔ)句:for、while和doWhile。
分別介紹如下:
1、for循環(huán)for語(yǔ)句格式為:for(a;b;c){……}.該語(yǔ)句執(zhí)行流程如下:①先對(duì)a賦初值;②判別b是否滿(mǎn)足給定條件,若其值為真,滿(mǎn)足循環(huán)條件,則執(zhí)行循環(huán)體內(nèi)語(yǔ)句,然后執(zhí)行c,進(jìn)入第二次循環(huán),再判別b……;否則判斷b的值為假,不滿(mǎn)足條件,就終止for循環(huán),執(zhí)行循環(huán)體外語(yǔ)句。如例子for(n=1;n<=200;n++){......}:在程序中,for語(yǔ)句括號(hào)內(nèi)的三個(gè)值分別為:n=1;n<=200;n++。位置a,n=1是給n賦初值,b是關(guān)系表達(dá)式,n小于等于200時(shí),a、b、c都為真,則執(zhí)行{}內(nèi)的語(yǔ)句,進(jìn)入下一循環(huán);若n大于200時(shí),b為假,則終止循環(huán)。for語(yǔ)句的特殊用法:(1)for判斷語(yǔ)句內(nèi)三個(gè)表達(dá)式為空。例for(;;)printf("null");在()內(nèi)只有兩個(gè)分號(hào),無(wú)表達(dá)式。表示無(wú)限循環(huán)。這種無(wú)限循環(huán)適用于菜單選擇程序制作中。(2)沒(méi)有{……}的for語(yǔ)句,例:for(;str=='''''''';str++);這種()內(nèi)的語(yǔ)句只是一個(gè)分號(hào),這個(gè)for循環(huán)是指針str所指流中的前導(dǎo)空格刪除。例:for(t=1;t;)此例在程序中起延長(zhǎng)時(shí)間作用。通過(guò)以上for循環(huán)的例子可以看出,不同的for應(yīng)用對(duì)應(yīng)的是不同的結(jié)果。這就需要根據(jù)不同的要求來(lái)詳細(xì)的設(shè)計(jì)。
C語(yǔ)言函數(shù)教學(xué)
C語(yǔ)言的學(xué)習(xí)在整個(gè)計(jì)算機(jī)專(zhuān)業(yè)甚至非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)習(xí)中都有舉足輕重的作用。函數(shù)的學(xué)習(xí)在C語(yǔ)言的學(xué)習(xí)中是具有靈魂作用的一章。根據(jù)筆者多年的C語(yǔ)言教學(xué)經(jīng)驗(yàn),發(fā)現(xiàn)很多學(xué)生在進(jìn)行函數(shù)的學(xué)習(xí)時(shí),遇到很大的困難。很多學(xué)生因?yàn)楹瘮?shù)沒(méi)搞清楚,導(dǎo)致整個(gè)C語(yǔ)言的水平永遠(yuǎn)只停留在入門(mén)的階段。分析原因,一是大多課本函數(shù)知識(shí)的安排很靠后,這樣函數(shù)在整個(gè)C語(yǔ)言的學(xué)習(xí)中課時(shí)較少;二是我認(rèn)為大多是教學(xué)方法不合理,很多教師過(guò)分注重C語(yǔ)言語(yǔ)法知識(shí)的學(xué)習(xí),沒(méi)有注重編程思想的培養(yǎng)。
一、函數(shù)的概念函數(shù)是一組語(yǔ)句,這組語(yǔ)句可以完成一個(gè)獨(dú)立的操作,這組語(yǔ)句有一個(gè)簡(jiǎn)短的名字,程序員可以?xún)H僅利用這個(gè)名字完成某個(gè)操作。函數(shù)的使用,使復(fù)雜的程序變得簡(jiǎn)單化、條理化、清晰化。在C語(yǔ)言中函數(shù)分為兩大類(lèi):庫(kù)函數(shù)、用戶(hù)自定義函數(shù)。
1、庫(kù)函數(shù)在編寫(xiě)程序的過(guò)程中往往有一些操作需要頻繁的使用,并且這些操作的代碼實(shí)現(xiàn)又有一定的難度。比如數(shù)據(jù)的輸入、輸出。在C語(yǔ)言中是沒(méi)有輸入輸出語(yǔ)句的,由于輸入輸出涉及到多計(jì)算機(jī)硬件的直接操作,對(duì)用戶(hù)來(lái)說(shuō)較困難。這些操作往往由編譯系統(tǒng)的開(kāi)發(fā)商提供給用戶(hù)。它們都是以獨(dú)立程序塊的模式出現(xiàn),并且存在于編譯系統(tǒng)的某個(gè)文件中,這就是庫(kù)函數(shù)。比如printf(),scanf()。它們是由編譯程序根據(jù)一般用戶(hù)的需要編制并提供給用戶(hù)使用的一組程序代碼。C語(yǔ)言的庫(kù)函數(shù)極大地方便了用戶(hù),同時(shí)也補(bǔ)充了C語(yǔ)言本身的不足。事實(shí)上,在編寫(xiě)C語(yǔ)言程序時(shí),應(yīng)當(dāng)盡可能多地使用庫(kù)函數(shù),這樣既可以提高程序的運(yùn)行效率,又可以提高編程的質(zhì)量。
2、用戶(hù)自定義函數(shù)用戶(hù)自定義函數(shù)顧名思義就是用戶(hù)自己定義的函數(shù)。程序的編寫(xiě)過(guò)程其實(shí)就是一個(gè)個(gè)函數(shù)的定義過(guò)程。很多情況下,C語(yǔ)言的編譯系統(tǒng)提供給我們的函數(shù)并不能滿(mǎn)足用戶(hù)的要求,這就要求用戶(hù)自己編寫(xiě)函數(shù)。函數(shù)是由一組語(yǔ)句組成,并給定一個(gè)名字。相應(yīng)的函數(shù)的定義一般可分為兩大部分:函數(shù)頭部的定義、函數(shù)體的定義。形式如下:函數(shù)的類(lèi)型函數(shù)名(函數(shù)的參數(shù)){函數(shù)體;}上面大括號(hào)上邊的一行成為函數(shù)的頭部(首部),它給出了函數(shù)的表面信息:函數(shù)返回值的類(lèi)型,函數(shù)的名字,函數(shù)要處理的數(shù)據(jù);大括號(hào)內(nèi)的語(yǔ)句描述了函數(shù)的內(nèi)在構(gòu)造,這組語(yǔ)句完成一個(gè)獨(dú)立的操作,是對(duì)函數(shù)能夠完成功能的具體描述。
3、函數(shù)的調(diào)用函數(shù)是由一組語(yǔ)句組成,并給定一個(gè)名字。執(zhí)行與函數(shù)相關(guān)的一組語(yǔ)句的行為稱(chēng)為函數(shù)的調(diào)用。應(yīng)該說(shuō)函數(shù)定義好之后調(diào)用之前是沒(méi)有什么意義的。函數(shù)就像某個(gè)具有特殊功能的機(jī)器工具。這些機(jī)器只有在開(kāi)關(guān)打開(kāi)之后才能發(fā)揮作用。在程序編寫(xiě)過(guò)程中,完成“開(kāi)關(guān)機(jī)器”這個(gè)操作的就是函數(shù)調(diào)用。函數(shù)調(diào)用的一般形式:函數(shù)名(實(shí)際參數(shù));
二、函數(shù)的教學(xué)C語(yǔ)言函數(shù)的教學(xué)主要是學(xué)習(xí)自定義函數(shù)以及庫(kù)函數(shù)的使用。
C語(yǔ)言形象比喻應(yīng)用
1比喻貼近生活,變抽象為直觀比喻使用的例子要源于生活,盡量選用學(xué)生熟知的、感興趣的,或是與他們生活密切相關(guān)的事物,借以說(shuō)明抽象的C語(yǔ)言問(wèn)題,進(jìn)而使學(xué)生理解和掌握知識(shí)點(diǎn)。案例:“指針概念”的講解。指針的概念一直是C語(yǔ)言教學(xué)中的難點(diǎn),“指針是一個(gè)存放另一變量地址的變量,由于這個(gè)變量指向的是地址,故稱(chēng)它為指針?!睂W(xué)生單從字面上很難理解,可以通過(guò)下面的例子幫助學(xué)生理解指針的概念:新生要去教務(wù)處,但不認(rèn)識(shí)路。有老師告訴他:你去101。新生到了101,發(fā)現(xiàn)這里并不是教務(wù)處??勺郎嫌袕埣垪l“教務(wù)處在105”。學(xué)生根據(jù)紙條內(nèi)容,在105找到了教務(wù)處(表1)。通過(guò)這樣一個(gè)圖示,學(xué)生明白了:有一種變量,是用來(lái)存放另一個(gè)變量地址的,這種變量稱(chēng)為指針。對(duì)初學(xué)者而言,任何標(biāo)準(zhǔn)化的定義都是抽象的,甚至不知所云。此時(shí),形象比喻顯得十分重要,可以把抽象轉(zhuǎn)為直觀,學(xué)生增強(qiáng)學(xué)習(xí)信心的同時(shí),也加深了對(duì)知識(shí)點(diǎn)理解。
2比喻通俗易懂,具有延伸性列舉實(shí)例要通俗易懂,引用生活中的簡(jiǎn)單事物闡述C語(yǔ)言復(fù)雜的知識(shí)點(diǎn),同時(shí),考慮到知識(shí)點(diǎn)的連貫性,比喻對(duì)象也需要具有延伸性,方便學(xué)生在已有知識(shí)的基礎(chǔ)上接受新內(nèi)容。案例:“數(shù)組概念”的講解?!霸诔绦蛟O(shè)計(jì)中,為了處理方便,把具有相同類(lèi)型的若干變量按有序的形式組織起來(lái),這些按序排列的同類(lèi)數(shù)據(jù)元素的集合稱(chēng)為數(shù)組?!闭Э雌饋?lái)很抽象,但是如果通過(guò)形象比喻,學(xué)生就會(huì)很清楚。用“客棧房間”作比:當(dāng)定義了intarray,表示在內(nèi)存中開(kāi)辟了10個(gè)連續(xù)空間,下標(biāo)從0~9;只能存放int數(shù)值。就好比在客棧定下了10個(gè)房間,門(mén)牌號(hào)從0開(kāi)始一直到9,然后客人依次入住;客人的身份也有一定的要求,只能是int型的客人才能入住。由此,學(xué)生掌握了使用數(shù)組需要注意的細(xì)節(jié)。當(dāng)教師提出array元素是否存在時(shí),學(xué)生能夠迅速聯(lián)想到號(hào)碼為10的房間不存在,由此順利延伸出“越界”的概念。同時(shí)通過(guò)這個(gè)事例,學(xué)生對(duì)一維數(shù)組的理解直觀清晰,在此基礎(chǔ)上加以延伸,使得二維數(shù)組講解也取得了比較好的教學(xué)效果。
3比喻生動(dòng)有趣,寓教于樂(lè)利用學(xué)生感興趣的話(huà)題,生動(dòng)形象地打比方,用幽默的語(yǔ)言,形象的比喻,激發(fā)學(xué)生學(xué)習(xí)興趣,讓抽象的代碼變成生動(dòng)的故事情節(jié),從而達(dá)到讓學(xué)生熟練編寫(xiě)代碼的目的。案例:“在有序數(shù)組中插入元素”的講解。轉(zhuǎn)化為陳述《武林外傳》中一個(gè)故事情節(jié):同??蜅Y≌乒褚?guī)定,伙計(jì)需按年齡由小到大的順序,依次安排房間入住。老白、郭芙蓉、李大嘴、呂秀才已按要求住下多日,現(xiàn)有年齡為20歲的祝無(wú)雙到來(lái),要插入其中,想保持原來(lái)順序不變,該如何操作?(表2)故事講完了,令學(xué)生困擾的代碼結(jié)構(gòu)也搭建完畢,在此基礎(chǔ)上稍加完善,完整的代碼就誕生了。學(xué)生在課堂上體現(xiàn)了極大的熱情,以重現(xiàn)故事過(guò)程的形式,完成了代碼的編寫(xiě),在輕松愉悅的氣氛中掌握了數(shù)組的實(shí)際應(yīng)用。
4比喻對(duì)象擬人化,突破知識(shí)難點(diǎn)C語(yǔ)言編程有很多固定格式和要求,諸多規(guī)范貫穿在這門(mén)課程當(dāng)中,顯然死記硬背只會(huì)削弱學(xué)生的學(xué)習(xí)熱情。此時(shí),可以把基本規(guī)范擬人化,讓每一個(gè)規(guī)范都變得生動(dòng),讓每一段代碼都富有生命。案例:“主函數(shù)與非主函數(shù)間調(diào)用關(guān)系”的講解。
5以“公司老板和員工的關(guān)系”作比(公司老板—主函數(shù)、員工—非主函數(shù)):(1)公司的運(yùn)行,應(yīng)由老板下達(dá)命令;(2)老板可以吩咐員工做事,反之不行;(3)員工之間可以相互幫忙。轉(zhuǎn)化為函數(shù)的概念,即:(1)程序需從main函數(shù)開(kāi)始執(zhí)行;(2)主函數(shù)可以調(diào)用非主函數(shù),非主函數(shù)不能調(diào)用主函數(shù);(3)非主函數(shù)之間可以相互調(diào)用。利用擬人比喻,學(xué)生再也不會(huì)把相關(guān)概念記混淆,擁有清晰的思路,就能夠編寫(xiě)出正確的代碼。5比喻深入到應(yīng)用,激發(fā)學(xué)習(xí)動(dòng)力通過(guò)形象的比喻,把C語(yǔ)言在工作生活中的重要性、實(shí)用價(jià)值闡述給學(xué)生,培養(yǎng)學(xué)生學(xué)習(xí)的主觀能動(dòng)性。
比如學(xué)生經(jīng)常愛(ài)玩的“五子棋”、“貪吃蛇”、“心理測(cè)試”等等,他們雖然無(wú)法寫(xiě)出游戲?qū)?yīng)的復(fù)雜程序,但從中可以感受到誘人的動(dòng)畫(huà)效果,計(jì)算機(jī)語(yǔ)言的強(qiáng)大功能。學(xué)生學(xué)好C語(yǔ)言,可以設(shè)計(jì)“個(gè)性計(jì)算器”,給朋友編寫(xiě)“猜數(shù)字”等等互動(dòng)小游戲。通過(guò)形象切實(shí)的比喻,讓學(xué)生知道C語(yǔ)言在現(xiàn)實(shí)生活中非常實(shí)用,認(rèn)識(shí)到C語(yǔ)言是一門(mén)很有趣的課程,這樣才能激發(fā)他們更強(qiáng)大的學(xué)習(xí)動(dòng)力,往課程更深處探究。
C語(yǔ)言課程教學(xué)綜述
1、引言
現(xiàn)在高等學(xué)校,一般也都根據(jù)不同的需要選用不同的程序設(shè)計(jì)入門(mén)課程。其中C語(yǔ)言作為一門(mén)程序語(yǔ)言基礎(chǔ)課,由于其功能強(qiáng)、使用靈活等優(yōu)點(diǎn)受到廣泛的歡迎,也就是說(shuō)C語(yǔ)言已經(jīng)成為了學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言的一個(gè)必要的基礎(chǔ)。在學(xué)時(shí)相對(duì)較少的情況下,學(xué)生要學(xué)好這門(mén)課有一定的難度.但依然要提高教學(xué)的質(zhì)量和效果是廣大教學(xué)工作者正在思考和探索的問(wèn)題.
2、教學(xué)過(guò)程中的改進(jìn)
2.1教學(xué)方法的改進(jìn)C語(yǔ)言作為DOS時(shí)代的一種主流程序設(shè)計(jì)語(yǔ)言,已逐漸演變成為一種程序設(shè)計(jì)的入門(mén)級(jí)語(yǔ)言——重在使學(xué)生熟悉計(jì)算機(jī)處理事務(wù)的過(guò)程,掌握程序設(shè)計(jì)的思想,完成學(xué)生從中學(xué)生到大學(xué)生學(xué)習(xí)思想的轉(zhuǎn)變。因而C語(yǔ)言程序設(shè)計(jì)課程這門(mén)課大多高校開(kāi)設(shè)在一年級(jí)的第一學(xué)期,要從只要求計(jì)算機(jī)基本操作的中學(xué)時(shí)代迅速轉(zhuǎn)換到大學(xué)時(shí)代的程序設(shè)計(jì)員,對(duì)于學(xué)生是一個(gè)逐步轉(zhuǎn)變、逐步學(xué)習(xí)的過(guò)程。而對(duì)于我們教育者來(lái)說(shuō),如何去改進(jìn)現(xiàn)有的教學(xué)方法,正確的引導(dǎo)學(xué)生學(xué)習(xí)思路、學(xué)習(xí)方法的轉(zhuǎn)變,以提高課堂教學(xué)的質(zhì)量.筆者在以下幾方面進(jìn)行了嘗試:
2.1.1教師角色的轉(zhuǎn)變中學(xué)時(shí)代的教學(xué)多以升學(xué)為基本任務(wù)和目標(biāo),所以中學(xué)教師的教學(xué)多以灌輸式為主,在教學(xué)過(guò)程中教師始終是主體,而學(xué)生總是被動(dòng)的接受和消化。而大學(xué)時(shí)代的教學(xué)是以培養(yǎng)學(xué)生的基本素養(yǎng)和能力為目標(biāo),因而要求教學(xué)的過(guò)程要以學(xué)生為主體,教師要做正確的引路人,而不是知識(shí)的灌輸者。因而教師角色的轉(zhuǎn)變實(shí)際上更多的還是在學(xué)生心目中中學(xué)教師角色到大學(xué)教師角色的轉(zhuǎn)變,要在教學(xué)的第一堂課向?qū)W生宣布這個(gè)事情,使學(xué)生從教師角色的轉(zhuǎn)變到學(xué)生自己明白他們已經(jīng)跨入了人生的有一個(gè)新的階段:自己的學(xué)習(xí)、思想都要有更大的轉(zhuǎn)變,從以前被動(dòng)的接受學(xué)習(xí),到大學(xué)時(shí)期的主動(dòng)自覺(jué)的學(xué)習(xí),從而培養(yǎng)和更大的提高他們的學(xué)習(xí)能力和其他方面的能力。
2.1.2課堂實(shí)施的轉(zhuǎn)變C語(yǔ)言作為一門(mén)程序設(shè)計(jì)語(yǔ)言自然有它自身的特點(diǎn),但是作為一門(mén)言語(yǔ)課,他又脫不開(kāi)與學(xué)生很熟悉語(yǔ)文、英語(yǔ)這些語(yǔ)言課學(xué)習(xí)的共同之處。根據(jù)筆者的學(xué)習(xí)和教學(xué)經(jīng)驗(yàn):得知更多的學(xué)生在學(xué)習(xí)C語(yǔ)言的過(guò)程中,甚至在學(xué)習(xí)完這門(mén)課后也不知道C語(yǔ)言的作用是什么,它學(xué)習(xí)的重點(diǎn)內(nèi)容是什么。所以C語(yǔ)言教學(xué)的課堂實(shí)施的轉(zhuǎn)變更是教學(xué)的重中之重:要使學(xué)生從中學(xué)時(shí)期純粹的數(shù)理化的學(xué)習(xí)轉(zhuǎn)變到大學(xué)時(shí)期專(zhuān)業(yè)能力和自身適應(yīng)能力的學(xué)習(xí)。根據(jù)筆者多年的教學(xué),我們引用用了一個(gè)全新的教學(xué)方法—“3W1H”教學(xué)法。在講C語(yǔ)言前和所講的每一節(jié)課都要使學(xué)生明白正門(mén)課或者所講的每個(gè)知識(shí)點(diǎn)是什么(WHAT),在哪里能用(WHERE),為什么要這樣用(WHY)和怎么去用(HOW)。從總體的結(jié)構(gòu):程序設(shè)計(jì)語(yǔ)言的3W1H到?jīng)]一點(diǎn)的3W1H,我們?cè)诿恳还?jié)課的過(guò)程中都要去給學(xué)生分析、實(shí)踐。另外我們又結(jié)合語(yǔ)言課的特點(diǎn)教會(huì)學(xué)生從C語(yǔ)言的字(字符)、詞(數(shù)據(jù)類(lèi)型、變量常量)、句(語(yǔ)句)和章(函數(shù)、程序)入手去總結(jié),打亂教材的原有章節(jié),去分析總結(jié),從而大大提高了學(xué)生學(xué)習(xí)的效率。
C語(yǔ)言—指針計(jì)算方式
1C語(yǔ)言是目前世界上使用最為廣泛的計(jì)算機(jī)語(yǔ)言之一,目前已經(jīng)成為各大高校主要的計(jì)算機(jī)教學(xué)語(yǔ)言。指針?biāo)惴ㄊ荂語(yǔ)言中的一個(gè)非常重要的概念,由于指針?biāo)惴ǜ拍畋容^復(fù)雜,運(yùn)用非常靈活,比較難掌握,尤其是對(duì)初次涉及計(jì)算機(jī)語(yǔ)言的學(xué)生來(lái)說(shuō)更是如此。本文重點(diǎn)分析C語(yǔ)言指針?biāo)惴▎卧虒W(xué)中的幾個(gè)關(guān)鍵點(diǎn),并探討C語(yǔ)言教學(xué)中應(yīng)該注意的一些問(wèn)題。指針?biāo)惴ㄖR(shí)單元構(gòu)成
1.1指針?biāo)惴ǘx在計(jì)算機(jī)內(nèi)存中,每一個(gè)存儲(chǔ)單元(通常為1字節(jié))都有一個(gè)固定的編號(hào),就像酒店中的房間號(hào)碼一樣,這個(gè)編號(hào)就稱(chēng)為地址,相當(dāng)于房間號(hào)。在地址所標(biāo)識(shí)的內(nèi)存單元中存放數(shù)據(jù),這就相當(dāng)于酒店中各個(gè)房間里居住的旅客一樣。
1.2引用指針?biāo)惴ㄗ兞?amp;和*是C語(yǔ)言有關(guān)指針?biāo)惴ǖ膬蓚€(gè)重要運(yùn)算符,分別是取地址運(yùn)算符和指針?biāo)惴ㄟ\(yùn)算符。例如:&x為變量x的地址,*p為指針?biāo)惴ㄗ兞縫所指向的存儲(chǔ)單元。應(yīng)該注意的是在定義時(shí)*只起說(shuō)明作用,不是運(yùn)算符。比如下面的語(yǔ)句中:floatx=1.5float*P=&xfloat*P=x很多同學(xué)在這里有些迷惑,到底是第2條語(yǔ)句正確還是第3條語(yǔ)句正確呢?根據(jù)指針?biāo)惴ǖ亩x很顯然第2條語(yǔ)句是正確的。迷惑的原因就在把*當(dāng)成了運(yùn)算符。其實(shí),這里的float*共同來(lái)修飾P,定義一個(gè)指向浮點(diǎn)型的指針?biāo)惴ㄗ兞?,同時(shí)要將一個(gè)指針?biāo)惴?amp;x賦值給P。為了方便對(duì)存儲(chǔ)單元進(jìn)行控制,我們可以設(shè)置某些變量專(zhuān)門(mén)存放指針?biāo)惴?這樣的變量稱(chēng)為指針?biāo)惴ㄗ兞?。在課堂教學(xué)中,應(yīng)注意使學(xué)生明白內(nèi)存單元地址與內(nèi)存單元內(nèi)容這兩個(gè)概念的區(qū)別,很多初學(xué)者在這個(gè)概念問(wèn)題上常常弄混淆。
1.3指針?biāo)惴ㄅc數(shù)組
1.3.1指針?biāo)惴ㄅc數(shù)組區(qū)別。在C語(yǔ)言中數(shù)組與指針?biāo)惴ǖ年P(guān)系非常密切,但它們還是有著本質(zhì)上的區(qū)別。指針?biāo)惴梢噪S時(shí)指向任意類(lèi)型的內(nèi)存單元,它的特征是可變。所以我們常用指針?biāo)惴▉?lái)操作動(dòng)態(tài)內(nèi)存。當(dāng)數(shù)組作為函數(shù)的參數(shù)進(jìn)行傳遞時(shí),該數(shù)組自動(dòng)退化為同類(lèi)型的指針?biāo)惴?。例?charx[]=chinachar*p=china上述兩個(gè)變量的內(nèi)存布局情況是:數(shù)組x需要在內(nèi)存中占用6個(gè)字節(jié)的空間。這段內(nèi)存區(qū)通過(guò)數(shù)組名x來(lái)標(biāo)志。指針?biāo)惴≒則需要4個(gè)字節(jié)的空間來(lái)存放地址,這4個(gè)字節(jié)用P來(lái)標(biāo)志。其中存放的地址幾乎可以指向任何地方,也可以哪里都不指。目前這個(gè)P指向某地連續(xù)的6個(gè)字節(jié)即字符串china。在教學(xué)過(guò)程中應(yīng)該注意使學(xué)生能夠正確認(rèn)識(shí)數(shù)組與指針?biāo)惴ǖ膮^(qū)別,并正確運(yùn)用它們。
1.3.2數(shù)組指針?biāo)惴ā?shù)組指針?biāo)惴ǖ膶?shí)質(zhì)是指針?biāo)惴?其定義為:int(*p)[n]表示P為指向由n個(gè)元素組成的一維數(shù)組的指針?biāo)惴ㄗ兞?。假設(shè)對(duì)于一個(gè)二維數(shù)組a[2][3],定義一個(gè)指向它的數(shù)組指針?biāo)惴≒,程序如下:inta[2][3]={{l,2,3},{4,5,6}}int(*p)[3]P=aprintf(%d,(*p)[1])p++printf(%d,(*p)[1])在該程序中,初始化數(shù)組指針?biāo)惴≒指向數(shù)組a的首地址,即指向二維數(shù)組的首行,此時(shí),輸出這一行的第1個(gè)元素,即(*p)[1]=2接著,P往下移動(dòng)一個(gè)數(shù)組的寬度,即指向二維數(shù)組的第二行,輸出這一行的第1個(gè)元素,即(*p)[1]=5。
高職C語(yǔ)言教學(xué)
隨著人類(lèi)社會(huì)從工業(yè)化轉(zhuǎn)向工業(yè)信息轉(zhuǎn)型的速度越來(lái)越快,人們對(duì)信息在這個(gè)轉(zhuǎn)型過(guò)程中所起到的作用越來(lái)越重視,對(duì)開(kāi)發(fā)和使用信息資源越來(lái)越迫切。現(xiàn)在社會(huì)的競(jìng)爭(zhēng)說(shuō)到底是人才、信息等綜合實(shí)力的競(jìng)爭(zhēng),所以各個(gè)用人單位無(wú)一例外幾乎都把是否會(huì)使用計(jì)算機(jī)處理信息作為一項(xiàng)非常重要的指標(biāo)。為了適應(yīng)社會(huì)的發(fā)展,提高高職學(xué)生的綜合競(jìng)爭(zhēng)力,很多高職院校本來(lái)在理科專(zhuān)業(yè)中開(kāi)設(shè)的C語(yǔ)言課程,現(xiàn)在在很多文科專(zhuān)業(yè)也開(kāi)設(shè)這門(mén)課程,本身理科生C語(yǔ)言課程學(xué)習(xí)就有困難,而邏輯思維并不適應(yīng)這門(mén)課程的文科生也來(lái)學(xué)習(xí)它,其難度可想而知。因此筆者通過(guò)多年在C語(yǔ)言教學(xué)過(guò)程中所總結(jié)的經(jīng)驗(yàn),具有針對(duì)性的分析了高職文科生C語(yǔ)言教學(xué)的現(xiàn)狀,提出了改進(jìn)教學(xué)效果的相關(guān)措施。
一、文科生學(xué)習(xí)C語(yǔ)言的難度
C語(yǔ)言是計(jì)算機(jī)專(zhuān)業(yè)及相關(guān)專(zhuān)業(yè)的一門(mén)很重要的專(zhuān)業(yè)基礎(chǔ)課程,其處理能力和表現(xiàn)能力極強(qiáng)、使用靈活方便、目標(biāo)程序效率高、可移植性好,但有著復(fù)雜的語(yǔ)法結(jié)構(gòu),且程序設(shè)計(jì)本身枯燥、嚴(yán)謹(jǐn),難以理解,學(xué)生缺乏相關(guān)的知識(shí),對(duì)于文科生來(lái)說(shuō)有一定的難度。
表現(xiàn)如下:
1、有心理障礙一聽(tīng)說(shuō)編程,有的學(xué)生就覺(jué)得很難。首先有心理障礙,而一般老師也強(qiáng)調(diào)學(xué)好語(yǔ)言類(lèi)的課程,首先必須英語(yǔ)和數(shù)學(xué)要好,而大部分文科生的數(shù)學(xué)都不太好,C語(yǔ)言在他們看來(lái),這是一門(mén)比數(shù)學(xué)還詭異的課程。學(xué)習(xí)過(guò)程順暢還好,一旦遇到難理解的知識(shí)點(diǎn),就懷疑自己。難理解的知識(shí)點(diǎn)積累到一定程度后,開(kāi)始慢慢放棄,直到跟不上課,破罐破摔。
2、缺乏邏輯思維訓(xùn)練長(zhǎng)期以來(lái),文科生主要是形象思維的訓(xùn)練,而C語(yǔ)言是一門(mén)理論性較強(qiáng)的計(jì)算機(jī)課程。它要求學(xué)生側(cè)重于理解,并具有一定的邏輯思維能力,要在這兩者的基礎(chǔ)上加以應(yīng)用才能學(xué)好??上攵?,要讓文科生編寫(xiě)這樣一個(gè)要求有慎密思維的程序,再加上C語(yǔ)言中的幾個(gè)知識(shí)點(diǎn),如指針等都是理解的瓶頸,必然對(duì)他們的學(xué)習(xí)造成一定的困難。
C語(yǔ)言實(shí)踐體會(huì)感言
在科技高度發(fā)展的今天,計(jì)算機(jī)在人們之中的作用越來(lái)越突出。而c語(yǔ)言作為一種計(jì)算機(jī)的語(yǔ)言,我們學(xué)習(xí)它,有助于我們更好的了解計(jì)算機(jī),與計(jì)算機(jī)進(jìn)行交流,因此,c語(yǔ)言的學(xué)習(xí)對(duì)我們尤其重要。
在這個(gè)星期里,我們專(zhuān)業(yè)的學(xué)生在專(zhuān)業(yè)老師的帶領(lǐng)下進(jìn)行了c語(yǔ)言程序?qū)嵺`學(xué)習(xí)。在這之前,我們已經(jīng)對(duì)c語(yǔ)言這門(mén)課程學(xué)習(xí)了一個(gè)學(xué)期,對(duì)其有了一定的了解,但是也僅僅是停留在了解的范圍,對(duì)里面的好多東西還是很陌生,更多的在運(yùn)用起來(lái)的時(shí)候還是感到很棘手,畢竟,萬(wàn)事開(kāi)頭難嘛。
由于時(shí)間的關(guān)系,我們的這次實(shí)踐課程老師并沒(méi)有給我們?cè)敿?xì)的介紹,只是給我們簡(jiǎn)單的介紹了幾個(gè)比較重要的實(shí)際操作。包括了程序模塊處理。簡(jiǎn)單界面程序。高級(jí)界面程序。程序的添加修改。用程序做一元線(xiàn)性回歸處理以及用c語(yǔ)言程序來(lái)畫(huà)粒度分布圖等這幾樣比較重要的時(shí)間操作。
上機(jī)實(shí)驗(yàn)是學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言必不可少的實(shí)踐環(huán)節(jié),特別是c語(yǔ)言靈活、簡(jiǎn)潔,更需要通過(guò)編程的實(shí)踐來(lái)真正掌握它。對(duì)于程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語(yǔ)法規(guī)定、掌握程序設(shè)計(jì)方法、提高程序開(kāi)發(fā)能力,這些都必須通過(guò)充分的實(shí)際上機(jī)操作才能完成。
學(xué)習(xí)c程序設(shè)計(jì)語(yǔ)言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時(shí)的上機(jī)時(shí)間。因?yàn)閷W(xué)時(shí)所限,課程不能安排過(guò)多的統(tǒng)一上機(jī)實(shí)驗(yàn),所以希望學(xué)生有效地利用課程上機(jī)實(shí)驗(yàn)的機(jī)會(huì),盡快掌握用c語(yǔ)言開(kāi)發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)。為此,我們結(jié)合課堂講授的內(nèi)容和進(jìn)度,安排了12次上機(jī)實(shí)驗(yàn)。課程上機(jī)實(shí)驗(yàn)的目的,不僅僅是驗(yàn)證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機(jī)實(shí)驗(yàn)的目的可以概括為如下幾個(gè)方面:
1.加深對(duì)課堂講授內(nèi)容的理解
C語(yǔ)言課程設(shè)計(jì)教學(xué)探究
一、傳統(tǒng)C語(yǔ)言課程設(shè)計(jì)教學(xué)模式
C語(yǔ)言是最基本的計(jì)算機(jī)編程,是計(jì)算機(jī)、電子信息類(lèi)等相關(guān)專(zhuān)業(yè)學(xué)生的專(zhuān)業(yè)入門(mén)課,在其學(xué)習(xí)過(guò)程中,要求必須掌握編程的技能。但是C語(yǔ)言的學(xué)習(xí)有其特點(diǎn),規(guī)則比較多、知識(shí)點(diǎn)多,涉及到的編程程序等也比較難懂,在運(yùn)行上代碼的要求較高,程序執(zhí)行效率高,因此更講究教學(xué)和學(xué)習(xí)的方式方法,但是在我們的教學(xué)中,目前教學(xué)方法比較單一,隨著信息化的發(fā)展,傳統(tǒng)的教學(xué)模式已經(jīng)無(wú)法適應(yīng),亟需改革。
1、傳統(tǒng)型
這種教學(xué)模式,也是最常用的,課堂上以老師為主,學(xué)生只能被動(dòng)的接受知識(shí)的傳授。通過(guò)最直接“填鴨”式照本宣科,不管學(xué)生接受與否,最后的考核也是以知識(shí)點(diǎn)的記住與否,造成學(xué)生死記硬背,不能真正掌握知識(shí)。其基本模式為:學(xué)習(xí)——回答——糾錯(cuò)——總結(jié)。這種模式下,使得教師在教材以外的發(fā)揮余地極小,基本是“照本宣科”,強(qiáng)行灌輸C語(yǔ)言的概念、特點(diǎn)、編程程序、基本的方法等,整個(gè)教學(xué)過(guò)程缺乏靈活機(jī)動(dòng)、具有啟發(fā)性的內(nèi)容,學(xué)生被動(dòng)的接受知識(shí)、被動(dòng)的記憶、被檢查、被考試、被批評(píng)等,日復(fù)一日的教條式訓(xùn)練,不能有效地激發(fā)學(xué)生的主觀能動(dòng)性與創(chuàng)造熱情。
2、任務(wù)型
C語(yǔ)言教學(xué)區(qū)別于其他學(xué)科,在理論知識(shí)的傳授之外,還需要培養(yǎng)學(xué)生的實(shí)際動(dòng)手能力,因此,很多學(xué)校也采用“任務(wù)型”教學(xué)模式,基本模式為:根據(jù)具體要求提出任務(wù)—鼓勵(lì)學(xué)生設(shè)計(jì)方案—實(shí)際操作—解決任務(wù)。在日常的教學(xué)中,學(xué)校大多會(huì)利用電腦等鍛煉學(xué)生的實(shí)際動(dòng)手能力,利用實(shí)際操作,鍛煉編程、邏輯等能力,從而掌握C語(yǔ)言的基本知識(shí)。例如翻轉(zhuǎn)課堂模式,教師將知識(shí)傳授環(huán)節(jié)制作成教學(xué)微課,課前提供給學(xué)生預(yù)習(xí),通過(guò)預(yù)習(xí)使課堂的實(shí)踐性練習(xí)目的性更明確,教師隨堂對(duì)學(xué)生遇到問(wèn)題進(jìn)行指導(dǎo)分析,從而培養(yǎng)學(xué)生獨(dú)立思考能力和實(shí)際操作能力。這種模式的采用,相對(duì)于傳統(tǒng)模式,有其進(jìn)步性,這也是C語(yǔ)言等專(zhuān)業(yè)性、操作性學(xué)科區(qū)別于其他學(xué)科的特點(diǎn)決定的,在這種模式下更取決于教師自身的素質(zhì)、知識(shí)、能力等,是整個(gè)課程的掌控者、引導(dǎo)者,他們的能力直接關(guān)系著教學(xué)成果。