C語言范文10篇

時間:2024-01-15 14:11:42

導(dǎo)語:這里是公務(wù)員之家根據(jù)多年的文秘經(jīng)驗,為你推薦的十篇C語言范文,還可以咨詢客服老師獲取更多原創(chuàng)文章,歡迎參考。

C語言

C語言變量理解

一、變量的概念

程序設(shè)計就是讓計算機(jī)按照一定的指令來進(jìn)行工作,可以說數(shù)據(jù)的處理是程序設(shè)計的主要任務(wù)。那么數(shù)據(jù)是怎么加入到計算機(jī)的內(nèi)存中呢?計算機(jī)最初的功能就是能夠存儲數(shù)據(jù)并處理數(shù)據(jù)的機(jī)器。那么數(shù)據(jù)是怎么加入到計算機(jī)的內(nèi)存中呢?在學(xué)習(xí)程序設(shè)計之前,很多學(xué)生對計算機(jī)的硬件設(shè)施都大概已經(jīng)很熟悉了。計算機(jī)的硬件設(shè)施中有一個區(qū)域是用來存儲數(shù)據(jù)的,計算機(jī)在工作的過程中會頻繁的從這個區(qū)域讀入和讀出數(shù)據(jù)。要想讓計算機(jī)按照某些指令(程序)自動工作,首先必須把數(shù)據(jù)存儲到計算機(jī)的存儲空間中。在某種計算機(jī)語言中實現(xiàn)這種數(shù)據(jù)存儲功能的就是變量。變量就是計算機(jī)內(nèi)存中的某一個存儲單元。

二、變量的定義

C語言中變量在使用之前必須先對其進(jìn)行定義,變量的定義的一般形式如下:【存儲類別】數(shù)據(jù)類型變量名;其中存儲類別是可以省略的。

1、存儲類別計算機(jī)的內(nèi)存一般分為三個部分:1)程序區(qū);2)靜態(tài)存儲區(qū);3)動態(tài)存儲區(qū);為了高效的發(fā)揮計算機(jī)的功能,不同類型的變量存放在不同的內(nèi)存區(qū)域。變量的存儲類別決定了變量中的數(shù)據(jù)在計算機(jī)內(nèi)存中的存儲位置。C語言中局部變量存放在動態(tài)存儲區(qū),全局變量或者靜態(tài)變量存放在靜態(tài)存儲區(qū)。

2、數(shù)據(jù)類型在用程序處理問題之前,首先必須確定用何種方式描述問題中所涉及到的數(shù)據(jù)。這個問題在C語言中是由數(shù)據(jù)類型來決定的。變量的本質(zhì)表現(xiàn)為在計算機(jī)中的存在時間和存儲空間。變量的數(shù)據(jù)類型是用來決定變量在計算機(jī)中占用內(nèi)存空間的大小。比如:整型數(shù)據(jù)在TC編譯系統(tǒng)中占用兩個字節(jié)的存儲空間。C語言變量的類型不僅確定了數(shù)據(jù)在計算機(jī)內(nèi)存中的存儲區(qū)域的大小,同時確定了該數(shù)據(jù)能夠參與的各種運算。任何一個C語言的變量必須有確定的數(shù)據(jù)類型,不管這個變量如何變化,變量的值都必須符合該變量數(shù)據(jù)類型的規(guī)定。

查看全文

C語言教學(xué)對策

1引言

在目前的程序設(shè)計課程教學(xué)中如何突出對學(xué)生編程能力的培養(yǎng),是一個亟待解決的問題。對于計算機(jī)專業(yè)學(xué)生來說,C語言程序設(shè)計是一門專業(yè)基礎(chǔ)課,對后續(xù)專業(yè)課程至關(guān)重要。然而,國內(nèi)中職學(xué)校該類課程的教學(xué)模式仍停留在傳統(tǒng)的模式上,過于注重語句、語法和一些細(xì)節(jié),基本上是以高級語言自身的體系為脈絡(luò)展開的,沒有把邏輯與編程解題思路放在主體地位上。這些問題是否能夠被很好地解決已成為中職學(xué)校計算機(jī)教學(xué)成敗的關(guān)鍵。作為教師,在計算機(jī)教學(xué)中,應(yīng)不斷地改變教育觀念,以學(xué)生為主體,創(chuàng)造性地組織教學(xué)內(nèi)容,設(shè)計教學(xué)結(jié)構(gòu),注重挖掘?qū)W生的潛力,從而使學(xué)生的計算機(jī)學(xué)習(xí)成為一種自覺自愿的活動,進(jìn)而使計算機(jī)教育的改革不斷推向深入,最終使計算機(jī)學(xué)習(xí)超越課堂空間。為達(dá)到這一目的,C語言程序設(shè)計應(yīng)采用如下教學(xué)方法。

2強調(diào)學(xué)習(xí)C語言的重要性,激發(fā)學(xué)生的學(xué)習(xí)主動性

C語言是目前世界上使用最為廣泛的計算機(jī)語言之一,它是一種介于匯編語言與高級語言之間的編程語言。教師可以在第一節(jié)C語言課中就讓學(xué)生看一下在圖形模式下用C語言繪制出來的、類似WINDOWS的窗口,讓學(xué)生感受和體會一下圖形模式下C語言的編程;使他們知道,C語言作為一種計算機(jī)編程語言,它是可以在任何一種平臺上編程的,只是接口不同而已。只要找到適合該平臺的編程工具,C語言在WINDOWS下同樣也能充分發(fā)揮其特長,從而激發(fā)學(xué)生的學(xué)習(xí)積極性和主動性。

3采取粗講和細(xì)講的方法

中職學(xué)校計算機(jī)教學(xué)的特點是:知識更新快、內(nèi)容范圍廣、應(yīng)用要求高,由此帶來的問題之一就是課時的相對減少。在實際教學(xué)工作中,我體會到,要緩解課程內(nèi)容多和學(xué)時相對少的矛盾,就是要將“粗講”和“細(xì)講”結(jié)合起來,例如:在“C語言程序設(shè)計”課的教學(xué)中,前面的幾章是一系列規(guī)則性、語言的語法要求很強且很瑣碎的內(nèi)容,如果一開始就按部就班地一條條給學(xué)生講解這些規(guī)則,常常使學(xué)生產(chǎn)生“只見樹木,不見森林”、茫然不知所措的感覺。所以應(yīng)該先通過一個簡單的C語言程序?qū)嵗凹?xì)講”為什么要制定這些規(guī)則,使學(xué)生清楚這些規(guī)則在程序中的用途,然后對于這些規(guī)則“是什么”就可有代表性“粗講”,甚至有些部分可以不講,讓學(xué)生邊用邊學(xué)。

查看全文

C語言循環(huán)命令運用

1.C語言的應(yīng)用

隨著計算機(jī)的普及用,越來越多的人感覺到現(xiàn)有的計算機(jī)的應(yīng)用不能滿足越來越多、越來越復(fù)雜的事物處理,所以希望自己能夠根據(jù)所遇到不同的情況來設(shè)計、制作、開發(fā)相對靈活的控制程序。這樣既可以滿足個人的需要,又能滿足其它不同的使用用途。C語言是高級語言的基礎(chǔ),學(xué)習(xí)計算機(jī)語言要從C語言入手,C是面向過程編程的,這樣會把所有的功能包含在幾個(通常是一個)代碼模塊中。便于以后可以通過不同的用途來進(jìn)行移植,可以對不同的控制項目產(chǎn)生相同的效果。C語言的優(yōu)點很多,但是現(xiàn)對于其他語言的優(yōu)點就是可以在多種操作系統(tǒng)下運行。

2.C語言中的循環(huán)語句

C語言中的循環(huán)語句的作用是為了使同一個事物具有相同的操作,這可以大大減少程序的復(fù)雜性,能夠提高程序的運行效率。在日常使用中的問題中有許多具有相同規(guī)律的重復(fù)動作,因此在程序設(shè)計中就要對這些相同的動作,重復(fù)使用這些語句。一組被不斷重復(fù)使用的語句稱之為循環(huán)語句,如果循環(huán)的終止條件被觸發(fā),那么就要終止循環(huán)。循環(huán)語句由兩部分組成,即循環(huán)體及循環(huán)的終止條件。在C語言中,包含以下循環(huán)語句:for、while和doWhile。

分別介紹如下:

1、for循環(huán)for語句格式為:for(a;b;c){……}.該語句執(zhí)行流程如下:①先對a賦初值;②判別b是否滿足給定條件,若其值為真,滿足循環(huán)條件,則執(zhí)行循環(huán)體內(nèi)語句,然后執(zhí)行c,進(jìn)入第二次循環(huán),再判別b……;否則判斷b的值為假,不滿足條件,就終止for循環(huán),執(zhí)行循環(huán)體外語句。如例子for(n=1;n<=200;n++){......}:在程序中,for語句括號內(nèi)的三個值分別為:n=1;n<=200;n++。位置a,n=1是給n賦初值,b是關(guān)系表達(dá)式,n小于等于200時,a、b、c都為真,則執(zhí)行{}內(nèi)的語句,進(jìn)入下一循環(huán);若n大于200時,b為假,則終止循環(huán)。for語句的特殊用法:(1)for判斷語句內(nèi)三個表達(dá)式為空。例for(;;)printf("null");在()內(nèi)只有兩個分號,無表達(dá)式。表示無限循環(huán)。這種無限循環(huán)適用于菜單選擇程序制作中。(2)沒有{……}的for語句,例:for(;str=='''''''';str++);這種()內(nèi)的語句只是一個分號,這個for循環(huán)是指針str所指流中的前導(dǎo)空格刪除。例:for(t=1;t;)此例在程序中起延長時間作用。通過以上for循環(huán)的例子可以看出,不同的for應(yīng)用對應(yīng)的是不同的結(jié)果。這就需要根據(jù)不同的要求來詳細(xì)的設(shè)計。

查看全文

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

C語言的學(xué)習(xí)在整個計算機(jī)專業(yè)甚至非計算機(jī)專業(yè)的學(xué)習(xí)中都有舉足輕重的作用。函數(shù)的學(xué)習(xí)在C語言的學(xué)習(xí)中是具有靈魂作用的一章。根據(jù)筆者多年的C語言教學(xué)經(jīng)驗,發(fā)現(xiàn)很多學(xué)生在進(jìn)行函數(shù)的學(xué)習(xí)時,遇到很大的困難。很多學(xué)生因為函數(shù)沒搞清楚,導(dǎo)致整個C語言的水平永遠(yuǎn)只停留在入門的階段。分析原因,一是大多課本函數(shù)知識的安排很靠后,這樣函數(shù)在整個C語言的學(xué)習(xí)中課時較少;二是我認(rèn)為大多是教學(xué)方法不合理,很多教師過分注重C語言語法知識的學(xué)習(xí),沒有注重編程思想的培養(yǎng)。

一、函數(shù)的概念函數(shù)是一組語句,這組語句可以完成一個獨立的操作,這組語句有一個簡短的名字,程序員可以僅僅利用這個名字完成某個操作。函數(shù)的使用,使復(fù)雜的程序變得簡單化、條理化、清晰化。在C語言中函數(shù)分為兩大類:庫函數(shù)、用戶自定義函數(shù)。

1、庫函數(shù)在編寫程序的過程中往往有一些操作需要頻繁的使用,并且這些操作的代碼實現(xiàn)又有一定的難度。比如數(shù)據(jù)的輸入、輸出。在C語言中是沒有輸入輸出語句的,由于輸入輸出涉及到多計算機(jī)硬件的直接操作,對用戶來說較困難。這些操作往往由編譯系統(tǒng)的開發(fā)商提供給用戶。它們都是以獨立程序塊的模式出現(xiàn),并且存在于編譯系統(tǒng)的某個文件中,這就是庫函數(shù)。比如printf(),scanf()。它們是由編譯程序根據(jù)一般用戶的需要編制并提供給用戶使用的一組程序代碼。C語言的庫函數(shù)極大地方便了用戶,同時也補充了C語言本身的不足。事實上,在編寫C語言程序時,應(yīng)當(dāng)盡可能多地使用庫函數(shù),這樣既可以提高程序的運行效率,又可以提高編程的質(zhì)量。

2、用戶自定義函數(shù)用戶自定義函數(shù)顧名思義就是用戶自己定義的函數(shù)。程序的編寫過程其實就是一個個函數(shù)的定義過程。很多情況下,C語言的編譯系統(tǒng)提供給我們的函數(shù)并不能滿足用戶的要求,這就要求用戶自己編寫函數(shù)。函數(shù)是由一組語句組成,并給定一個名字。相應(yīng)的函數(shù)的定義一般可分為兩大部分:函數(shù)頭部的定義、函數(shù)體的定義。形式如下:函數(shù)的類型函數(shù)名(函數(shù)的參數(shù)){函數(shù)體;}上面大括號上邊的一行成為函數(shù)的頭部(首部),它給出了函數(shù)的表面信息:函數(shù)返回值的類型,函數(shù)的名字,函數(shù)要處理的數(shù)據(jù);大括號內(nèi)的語句描述了函數(shù)的內(nèi)在構(gòu)造,這組語句完成一個獨立的操作,是對函數(shù)能夠完成功能的具體描述。

3、函數(shù)的調(diào)用函數(shù)是由一組語句組成,并給定一個名字。執(zhí)行與函數(shù)相關(guān)的一組語句的行為稱為函數(shù)的調(diào)用。應(yīng)該說函數(shù)定義好之后調(diào)用之前是沒有什么意義的。函數(shù)就像某個具有特殊功能的機(jī)器工具。這些機(jī)器只有在開關(guān)打開之后才能發(fā)揮作用。在程序編寫過程中,完成“開關(guān)機(jī)器”這個操作的就是函數(shù)調(diào)用。函數(shù)調(diào)用的一般形式:函數(shù)名(實際參數(shù));

二、函數(shù)的教學(xué)C語言函數(shù)的教學(xué)主要是學(xué)習(xí)自定義函數(shù)以及庫函數(shù)的使用。

查看全文

C語言形象比喻應(yīng)用

1比喻貼近生活,變抽象為直觀比喻使用的例子要源于生活,盡量選用學(xué)生熟知的、感興趣的,或是與他們生活密切相關(guān)的事物,借以說明抽象的C語言問題,進(jìn)而使學(xué)生理解和掌握知識點。案例:“指針概念”的講解。指針的概念一直是C語言教學(xué)中的難點,“指針是一個存放另一變量地址的變量,由于這個變量指向的是地址,故稱它為指針。”學(xué)生單從字面上很難理解,可以通過下面的例子幫助學(xué)生理解指針的概念:新生要去教務(wù)處,但不認(rèn)識路。有老師告訴他:你去101。新生到了101,發(fā)現(xiàn)這里并不是教務(wù)處??勺郎嫌袕埣垪l“教務(wù)處在105”。學(xué)生根據(jù)紙條內(nèi)容,在105找到了教務(wù)處(表1)。通過這樣一個圖示,學(xué)生明白了:有一種變量,是用來存放另一個變量地址的,這種變量稱為指針。對初學(xué)者而言,任何標(biāo)準(zhǔn)化的定義都是抽象的,甚至不知所云。此時,形象比喻顯得十分重要,可以把抽象轉(zhuǎn)為直觀,學(xué)生增強學(xué)習(xí)信心的同時,也加深了對知識點理解。

2比喻通俗易懂,具有延伸性列舉實例要通俗易懂,引用生活中的簡單事物闡述C語言復(fù)雜的知識點,同時,考慮到知識點的連貫性,比喻對象也需要具有延伸性,方便學(xué)生在已有知識的基礎(chǔ)上接受新內(nèi)容。案例:“數(shù)組概念”的講解?!霸诔绦蛟O(shè)計中,為了處理方便,把具有相同類型的若干變量按有序的形式組織起來,這些按序排列的同類數(shù)據(jù)元素的集合稱為數(shù)組?!闭Э雌饋砗艹橄?但是如果通過形象比喻,學(xué)生就會很清楚。用“客棧房間”作比:當(dāng)定義了intarray,表示在內(nèi)存中開辟了10個連續(xù)空間,下標(biāo)從0~9;只能存放int數(shù)值。就好比在客棧定下了10個房間,門牌號從0開始一直到9,然后客人依次入住;客人的身份也有一定的要求,只能是int型的客人才能入住。由此,學(xué)生掌握了使用數(shù)組需要注意的細(xì)節(jié)。當(dāng)教師提出array元素是否存在時,學(xué)生能夠迅速聯(lián)想到號碼為10的房間不存在,由此順利延伸出“越界”的概念。同時通過這個事例,學(xué)生對一維數(shù)組的理解直觀清晰,在此基礎(chǔ)上加以延伸,使得二維數(shù)組講解也取得了比較好的教學(xué)效果。

3比喻生動有趣,寓教于樂利用學(xué)生感興趣的話題,生動形象地打比方,用幽默的語言,形象的比喻,激發(fā)學(xué)生學(xué)習(xí)興趣,讓抽象的代碼變成生動的故事情節(jié),從而達(dá)到讓學(xué)生熟練編寫代碼的目的。案例:“在有序數(shù)組中插入元素”的講解。轉(zhuǎn)化為陳述《武林外傳》中一個故事情節(jié):同福客棧佟掌柜規(guī)定,伙計需按年齡由小到大的順序,依次安排房間入住。老白、郭芙蓉、李大嘴、呂秀才已按要求住下多日,現(xiàn)有年齡為20歲的祝無雙到來,要插入其中,想保持原來順序不變,該如何操作?(表2)故事講完了,令學(xué)生困擾的代碼結(jié)構(gòu)也搭建完畢,在此基礎(chǔ)上稍加完善,完整的代碼就誕生了。學(xué)生在課堂上體現(xiàn)了極大的熱情,以重現(xiàn)故事過程的形式,完成了代碼的編寫,在輕松愉悅的氣氛中掌握了數(shù)組的實際應(yīng)用。

4比喻對象擬人化,突破知識難點C語言編程有很多固定格式和要求,諸多規(guī)范貫穿在這門課程當(dāng)中,顯然死記硬背只會削弱學(xué)生的學(xué)習(xí)熱情。此時,可以把基本規(guī)范擬人化,讓每一個規(guī)范都變得生動,讓每一段代碼都富有生命。案例:“主函數(shù)與非主函數(shù)間調(diào)用關(guān)系”的講解。

5以“公司老板和員工的關(guān)系”作比(公司老板—主函數(shù)、員工—非主函數(shù)):(1)公司的運行,應(yīng)由老板下達(dá)命令;(2)老板可以吩咐員工做事,反之不行;(3)員工之間可以相互幫忙。轉(zhuǎn)化為函數(shù)的概念,即:(1)程序需從main函數(shù)開始執(zhí)行;(2)主函數(shù)可以調(diào)用非主函數(shù),非主函數(shù)不能調(diào)用主函數(shù);(3)非主函數(shù)之間可以相互調(diào)用。利用擬人比喻,學(xué)生再也不會把相關(guān)概念記混淆,擁有清晰的思路,就能夠編寫出正確的代碼。5比喻深入到應(yīng)用,激發(fā)學(xué)習(xí)動力通過形象的比喻,把C語言在工作生活中的重要性、實用價值闡述給學(xué)生,培養(yǎng)學(xué)生學(xué)習(xí)的主觀能動性。

比如學(xué)生經(jīng)常愛玩的“五子棋”、“貪吃蛇”、“心理測試”等等,他們雖然無法寫出游戲?qū)?yīng)的復(fù)雜程序,但從中可以感受到誘人的動畫效果,計算機(jī)語言的強大功能。學(xué)生學(xué)好C語言,可以設(shè)計“個性計算器”,給朋友編寫“猜數(shù)字”等等互動小游戲。通過形象切實的比喻,讓學(xué)生知道C語言在現(xiàn)實生活中非常實用,認(rèn)識到C語言是一門很有趣的課程,這樣才能激發(fā)他們更強大的學(xué)習(xí)動力,往課程更深處探究。

查看全文

C語言課程教學(xué)綜述

1、引言

現(xiàn)在高等學(xué)校,一般也都根據(jù)不同的需要選用不同的程序設(shè)計入門課程。其中C語言作為一門程序語言基礎(chǔ)課,由于其功能強、使用靈活等優(yōu)點受到廣泛的歡迎,也就是說C語言已經(jīng)成為了學(xué)習(xí)程序設(shè)計語言的一個必要的基礎(chǔ)。在學(xué)時相對較少的情況下,學(xué)生要學(xué)好這門課有一定的難度.但依然要提高教學(xué)的質(zhì)量和效果是廣大教學(xué)工作者正在思考和探索的問題.

2、教學(xué)過程中的改進(jìn)

2.1教學(xué)方法的改進(jìn)C語言作為DOS時代的一種主流程序設(shè)計語言,已逐漸演變成為一種程序設(shè)計的入門級語言——重在使學(xué)生熟悉計算機(jī)處理事務(wù)的過程,掌握程序設(shè)計的思想,完成學(xué)生從中學(xué)生到大學(xué)生學(xué)習(xí)思想的轉(zhuǎn)變。因而C語言程序設(shè)計課程這門課大多高校開設(shè)在一年級的第一學(xué)期,要從只要求計算機(jī)基本操作的中學(xué)時代迅速轉(zhuǎn)換到大學(xué)時代的程序設(shè)計員,對于學(xué)生是一個逐步轉(zhuǎn)變、逐步學(xué)習(xí)的過程。而對于我們教育者來說,如何去改進(jìn)現(xiàn)有的教學(xué)方法,正確的引導(dǎo)學(xué)生學(xué)習(xí)思路、學(xué)習(xí)方法的轉(zhuǎn)變,以提高課堂教學(xué)的質(zhì)量.筆者在以下幾方面進(jìn)行了嘗試:

2.1.1教師角色的轉(zhuǎn)變中學(xué)時代的教學(xué)多以升學(xué)為基本任務(wù)和目標(biāo),所以中學(xué)教師的教學(xué)多以灌輸式為主,在教學(xué)過程中教師始終是主體,而學(xué)生總是被動的接受和消化。而大學(xué)時代的教學(xué)是以培養(yǎng)學(xué)生的基本素養(yǎng)和能力為目標(biāo),因而要求教學(xué)的過程要以學(xué)生為主體,教師要做正確的引路人,而不是知識的灌輸者。因而教師角色的轉(zhuǎn)變實際上更多的還是在學(xué)生心目中中學(xué)教師角色到大學(xué)教師角色的轉(zhuǎn)變,要在教學(xué)的第一堂課向?qū)W生宣布這個事情,使學(xué)生從教師角色的轉(zhuǎn)變到學(xué)生自己明白他們已經(jīng)跨入了人生的有一個新的階段:自己的學(xué)習(xí)、思想都要有更大的轉(zhuǎn)變,從以前被動的接受學(xué)習(xí),到大學(xué)時期的主動自覺的學(xué)習(xí),從而培養(yǎng)和更大的提高他們的學(xué)習(xí)能力和其他方面的能力。

2.1.2課堂實施的轉(zhuǎn)變C語言作為一門程序設(shè)計語言自然有它自身的特點,但是作為一門言語課,他又脫不開與學(xué)生很熟悉語文、英語這些語言課學(xué)習(xí)的共同之處。根據(jù)筆者的學(xué)習(xí)和教學(xué)經(jīng)驗:得知更多的學(xué)生在學(xué)習(xí)C語言的過程中,甚至在學(xué)習(xí)完這門課后也不知道C語言的作用是什么,它學(xué)習(xí)的重點內(nèi)容是什么。所以C語言教學(xué)的課堂實施的轉(zhuǎn)變更是教學(xué)的重中之重:要使學(xué)生從中學(xué)時期純粹的數(shù)理化的學(xué)習(xí)轉(zhuǎn)變到大學(xué)時期專業(yè)能力和自身適應(yīng)能力的學(xué)習(xí)。根據(jù)筆者多年的教學(xué),我們引用用了一個全新的教學(xué)方法—“3W1H”教學(xué)法。在講C語言前和所講的每一節(jié)課都要使學(xué)生明白正門課或者所講的每個知識點是什么(WHAT),在哪里能用(WHERE),為什么要這樣用(WHY)和怎么去用(HOW)。從總體的結(jié)構(gòu):程序設(shè)計語言的3W1H到?jīng)]一點的3W1H,我們在每一節(jié)課的過程中都要去給學(xué)生分析、實踐。另外我們又結(jié)合語言課的特點教會學(xué)生從C語言的字(字符)、詞(數(shù)據(jù)類型、變量常量)、句(語句)和章(函數(shù)、程序)入手去總結(jié),打亂教材的原有章節(jié),去分析總結(jié),從而大大提高了學(xué)生學(xué)習(xí)的效率。

查看全文

C語言—指針計算方式

1C語言是目前世界上使用最為廣泛的計算機(jī)語言之一,目前已經(jīng)成為各大高校主要的計算機(jī)教學(xué)語言。指針?biāo)惴ㄊ荂語言中的一個非常重要的概念,由于指針?biāo)惴ǜ拍畋容^復(fù)雜,運用非常靈活,比較難掌握,尤其是對初次涉及計算機(jī)語言的學(xué)生來說更是如此。本文重點分析C語言指針?biāo)惴▎卧虒W(xué)中的幾個關(guān)鍵點,并探討C語言教學(xué)中應(yīng)該注意的一些問題。指針?biāo)惴ㄖR單元構(gòu)成

1.1指針?biāo)惴ǘx在計算機(jī)內(nèi)存中,每一個存儲單元(通常為1字節(jié))都有一個固定的編號,就像酒店中的房間號碼一樣,這個編號就稱為地址,相當(dāng)于房間號。在地址所標(biāo)識的內(nèi)存單元中存放數(shù)據(jù),這就相當(dāng)于酒店中各個房間里居住的旅客一樣。

1.2引用指針?biāo)惴ㄗ兞?amp;和*是C語言有關(guān)指針?biāo)惴ǖ膬蓚€重要運算符,分別是取地址運算符和指針?biāo)惴ㄟ\算符。例如:&x為變量x的地址,*p為指針?biāo)惴ㄗ兞縫所指向的存儲單元。應(yīng)該注意的是在定義時*只起說明作用,不是運算符。比如下面的語句中:floatx=1.5float*P=&xfloat*P=x很多同學(xué)在這里有些迷惑,到底是第2條語句正確還是第3條語句正確呢?根據(jù)指針?biāo)惴ǖ亩x很顯然第2條語句是正確的。迷惑的原因就在把*當(dāng)成了運算符。其實,這里的float*共同來修飾P,定義一個指向浮點型的指針?biāo)惴ㄗ兞浚瑫r要將一個指針?biāo)惴?amp;x賦值給P。為了方便對存儲單元進(jìn)行控制,我們可以設(shè)置某些變量專門存放指針?biāo)惴?這樣的變量稱為指針?biāo)惴ㄗ兞?。在課堂教學(xué)中,應(yīng)注意使學(xué)生明白內(nèi)存單元地址與內(nèi)存單元內(nèi)容這兩個概念的區(qū)別,很多初學(xué)者在這個概念問題上常常弄混淆。

1.3指針?biāo)惴ㄅc數(shù)組

1.3.1指針?biāo)惴ㄅc數(shù)組區(qū)別。在C語言中數(shù)組與指針?biāo)惴ǖ年P(guān)系非常密切,但它們還是有著本質(zhì)上的區(qū)別。指針?biāo)惴梢噪S時指向任意類型的內(nèi)存單元,它的特征是可變。所以我們常用指針?biāo)惴▉聿僮鲃討B(tài)內(nèi)存。當(dāng)數(shù)組作為函數(shù)的參數(shù)進(jìn)行傳遞時,該數(shù)組自動退化為同類型的指針?biāo)惴?。例?charx[]=chinachar*p=china上述兩個變量的內(nèi)存布局情況是:數(shù)組x需要在內(nèi)存中占用6個字節(jié)的空間。這段內(nèi)存區(qū)通過數(shù)組名x來標(biāo)志。指針?biāo)惴≒則需要4個字節(jié)的空間來存放地址,這4個字節(jié)用P來標(biāo)志。其中存放的地址幾乎可以指向任何地方,也可以哪里都不指。目前這個P指向某地連續(xù)的6個字節(jié)即字符串china。在教學(xué)過程中應(yīng)該注意使學(xué)生能夠正確認(rèn)識數(shù)組與指針?biāo)惴ǖ膮^(qū)別,并正確運用它們。

1.3.2數(shù)組指針?biāo)惴?。?shù)組指針?biāo)惴ǖ膶嵸|(zhì)是指針?biāo)惴?其定義為:int(*p)[n]表示P為指向由n個元素組成的一維數(shù)組的指針?biāo)惴ㄗ兞?。假設(shè)對于一個二維數(shù)組a[2][3],定義一個指向它的數(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ù)組的首行,此時,輸出這一行的第1個元素,即(*p)[1]=2接著,P往下移動一個數(shù)組的寬度,即指向二維數(shù)組的第二行,輸出這一行的第1個元素,即(*p)[1]=5。

查看全文

高職C語言教學(xué)

隨著人類社會從工業(yè)化轉(zhuǎn)向工業(yè)信息轉(zhuǎn)型的速度越來越快,人們對信息在這個轉(zhuǎn)型過程中所起到的作用越來越重視,對開發(fā)和使用信息資源越來越迫切。現(xiàn)在社會的競爭說到底是人才、信息等綜合實力的競爭,所以各個用人單位無一例外幾乎都把是否會使用計算機(jī)處理信息作為一項非常重要的指標(biāo)。為了適應(yīng)社會的發(fā)展,提高高職學(xué)生的綜合競爭力,很多高職院校本來在理科專業(yè)中開設(shè)的C語言課程,現(xiàn)在在很多文科專業(yè)也開設(shè)這門課程,本身理科生C語言課程學(xué)習(xí)就有困難,而邏輯思維并不適應(yīng)這門課程的文科生也來學(xué)習(xí)它,其難度可想而知。因此筆者通過多年在C語言教學(xué)過程中所總結(jié)的經(jīng)驗,具有針對性的分析了高職文科生C語言教學(xué)的現(xiàn)狀,提出了改進(jìn)教學(xué)效果的相關(guān)措施。

一、文科生學(xué)習(xí)C語言的難度

C語言是計算機(jī)專業(yè)及相關(guān)專業(yè)的一門很重要的專業(yè)基礎(chǔ)課程,其處理能力和表現(xiàn)能力極強、使用靈活方便、目標(biāo)程序效率高、可移植性好,但有著復(fù)雜的語法結(jié)構(gòu),且程序設(shè)計本身枯燥、嚴(yán)謹(jǐn),難以理解,學(xué)生缺乏相關(guān)的知識,對于文科生來說有一定的難度。

表現(xiàn)如下:

1、有心理障礙一聽說編程,有的學(xué)生就覺得很難。首先有心理障礙,而一般老師也強調(diào)學(xué)好語言類的課程,首先必須英語和數(shù)學(xué)要好,而大部分文科生的數(shù)學(xué)都不太好,C語言在他們看來,這是一門比數(shù)學(xué)還詭異的課程。學(xué)習(xí)過程順暢還好,一旦遇到難理解的知識點,就懷疑自己。難理解的知識點積累到一定程度后,開始慢慢放棄,直到跟不上課,破罐破摔。

2、缺乏邏輯思維訓(xùn)練長期以來,文科生主要是形象思維的訓(xùn)練,而C語言是一門理論性較強的計算機(jī)課程。它要求學(xué)生側(cè)重于理解,并具有一定的邏輯思維能力,要在這兩者的基礎(chǔ)上加以應(yīng)用才能學(xué)好??上攵屛目粕帉戇@樣一個要求有慎密思維的程序,再加上C語言中的幾個知識點,如指針等都是理解的瓶頸,必然對他們的學(xué)習(xí)造成一定的困難。

查看全文

C語言for循環(huán)語句教學(xué)設(shè)計

摘要:for循環(huán)語句是C語言三種循環(huán)語句中使用頻率最高,最為靈活的一種循環(huán)。掌握for循環(huán)語句對學(xué)生編程技能的提高具有重要意義。本文從教學(xué)背景、微課件特色、教學(xué)目標(biāo),教學(xué)內(nèi)容等方面著眼,對C語言之for循環(huán)語句,進(jìn)行教學(xué)設(shè)計。希望學(xué)生能夠較好的掌握for循環(huán)語句的相關(guān)知識,在實際應(yīng)用中游刃有余。

關(guān)鍵詞:程序設(shè)計基礎(chǔ);for語句;循環(huán)

循環(huán)結(jié)構(gòu)是C程序的三大結(jié)構(gòu)之一,是程序設(shè)計的基礎(chǔ)。其循環(huán)包括whie循環(huán)、dowhile循環(huán)和for循環(huán),三種循環(huán)之間可以互相轉(zhuǎn)換。其中for循環(huán)語句使用最為靈活,不僅可以用于循環(huán)次數(shù)可以確定的情況,而且可以用于循環(huán)次數(shù)不確定,只給出循環(huán)結(jié)束條件的情況,它完全可以代替while語句。學(xué)生只有熟練掌握了循環(huán)語句的語句格式,理解循環(huán)執(zhí)行過程,才能在實際應(yīng)用中游刃有余。

1教學(xué)背景

循環(huán)結(jié)構(gòu)是C程序的三大結(jié)構(gòu)之一,是程序設(shè)計的基礎(chǔ)。C語言提供了三種循環(huán)控制語句(不考慮goto/if構(gòu)成的循環(huán)),構(gòu)成了三種基本的循環(huán)結(jié)構(gòu)。(1)while語句構(gòu)成的循環(huán)結(jié)構(gòu)(“當(dāng)型循環(huán)”)(2)do-while語句構(gòu)成的循環(huán)結(jié)構(gòu)(“直到型循環(huán)”)(3)for語句構(gòu)成的循環(huán)結(jié)構(gòu)(“當(dāng)型循環(huán)”)我們本次教學(xué)是學(xué)生在學(xué)習(xí)了while語句構(gòu)成的循環(huán)結(jié)構(gòu)(“當(dāng)型循環(huán)”)和do-while語句構(gòu)成的循環(huán)結(jié)構(gòu)(“直到型循環(huán)”)之后進(jìn)行開展的。并在課前做了相關(guān)的微課視頻,讓學(xué)生提前預(yù)習(xí)。

2微課件特色

查看全文

C語言實踐體會感言

在科技高度發(fā)展的今天,計算機(jī)在人們之中的作用越來越突出。而c語言作為一種計算機(jī)的語言,我們學(xué)習(xí)它,有助于我們更好的了解計算機(jī),與計算機(jī)進(jìn)行交流,因此,c語言的學(xué)習(xí)對我們尤其重要。

在這個星期里,我們專業(yè)的學(xué)生在專業(yè)老師的帶領(lǐng)下進(jìn)行了c語言程序?qū)嵺`學(xué)習(xí)。在這之前,我們已經(jīng)對c語言這門課程學(xué)習(xí)了一個學(xué)期,對其有了一定的了解,但是也僅僅是停留在了解的范圍,對里面的好多東西還是很陌生,更多的在運用起來的時候還是感到很棘手,畢竟,萬事開頭難嘛。

由于時間的關(guān)系,我們的這次實踐課程老師并沒有給我們詳細(xì)的介紹,只是給我們簡單的介紹了幾個比較重要的實際操作。包括了程序模塊處理。簡單界面程序。高級界面程序。程序的添加修改。用程序做一元線性回歸處理以及用c語言程序來畫粒度分布圖等這幾樣比較重要的時間操作。

上機(jī)實驗是學(xué)習(xí)程序設(shè)計語言必不可少的實踐環(huán)節(jié),特別是c語言靈活、簡潔,更需要通過編程的實踐來真正掌握它。對于程序設(shè)計語言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語法規(guī)定、掌握程序設(shè)計方法、提高程序開發(fā)能力,這些都必須通過充分的實際上機(jī)操作才能完成。

學(xué)習(xí)c程序設(shè)計語言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時的上機(jī)時間。因為學(xué)時所限,課程不能安排過多的統(tǒng)一上機(jī)實驗,所以希望學(xué)生有效地利用課程上機(jī)實驗的機(jī)會,盡快掌握用c語言開發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個良好的基礎(chǔ)。為此,我們結(jié)合課堂講授的內(nèi)容和進(jìn)度,安排了12次上機(jī)實驗。課程上機(jī)實驗的目的,不僅僅是驗證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機(jī)實驗的目的可以概括為如下幾個方面:

1.加深對課堂講授內(nèi)容的理解

查看全文