程序設計基本結構8篇

時間:2023-08-04 09:18:59

緒論:在尋找寫作靈感嗎?愛發表網為您精選了8篇程序設計基本結構,愿這些內容能夠啟迪您的思維,激發您的創作熱情,歡迎您的閱讀與分享!

程序設計基本結構

篇1

C語言 結構化程序設計 循環結構 效率

一、引言

學習和應用計算機高級程序設計語言的人都知道,在這些語言中為實現結構化程序設計,一般都會采用三種最基本結構,即順序結構、選擇結構和循環結構。因此,掌握這三種基本結構的使用方法,是學習和掌握高級程序設計語言課的基礎。這三種基本結構中,順序結構和選擇結構和我們平常的思維習慣相似。因此,最容易理解和掌握;而循環結構是這三種基本結構中最復雜的一種結構,與我們日常的思維習慣不盡相同,因此理解起來相對來說比較困難。但是,幾乎所有的程序都離不開循環結構,利用它可以簡化程序、提高工作效率。因此,學習和應用高級程序設計語言的人又必須要掌握循環結構。但是,通過本人近幾年的教學發現,大多數學生在學到循環結構一段時間后,干脆將這門課給放棄了,原因是他們覺得循環結構太難理解了。用順序結構和選擇結構做一個小程序還可以,用循環結構實在難理解。鑒于這個原因,本人將日常授課中總結出來的一點心得從初學者的角度寫出來,希望能對即將和正在學習高級程序設計語言課的人有所幫助。當然,我們在這里是以C語言為例來說的,其實這方面的知識對其他語言比如Visual Basic語言等同樣適用。

在C語言中,循環結構主要是由For語句、While語句、Do-While語句三種結構來實現的。而在這三種循環結構語句中又以for語句的應用更為廣泛。因為for語句在其開頭語句中就已經包含了循環變量的初始值、循環變量的終止值、循環的判斷條件以及循環變量的變化趨勢等這些內容,因此在編寫其循環體時,只用考慮其循環體應該包含的主要功能就行了,而不用在For語句之前對循環變量的初始值進行過多地考慮,同樣也不用在循環內部考慮其循環變量如何變化。對大多數有程序設計經驗的人來說,使用for語句實現循環結構是一件輕而易舉的事情。但是,對于沒有經驗的初學者來說,要想將for語句的作用及使用方法掌握住也不是一件容易的事情,更不用說While語句、Do-While語句的使用了。因此,本文從初學者的角度,闡述了C語言中循環結構的幾種典型應用。

二、用循環結構輸出幾何圖形

在教學過程中,不管開設哪一種高級程序設計語言課,只要一講到循環結構,大多數老師幾乎不約而同地選擇輸出簡單的幾何圖形來作為講解循環結構的最好實例。

對于這種類型的題目,初學者往往最容易想到的方法就是采用多條輸出語句來完成程序的設計。雖然這種方法很快能夠實現所要效果,但其缺陷也是很明顯的:缺乏靈活性、程序修改起來不方便,也不符合程序設計的思想。比如,我想讓大家輸出8行,每行36個“*”。這個時候,我們就不得不在輸入“*”的時候特別仔細,因為一不小心可能個數就不對了。

但是,這樣的問題如果用循環語句來實現的話,程序不但可以簡化多,并且可以很靈活地將其修改成我們想要的效果。

因此,在講解這一類圖形時,授課教師最好引導學生按照正常的程序設計思想,先分析圖形的組成結構,找出其中變化的規律,然后按照所找到的規律用循環結構來編寫出相對應的程序代碼,這樣一旦要求有一點點變化不用大篇幅地修改程序,而只用找到關鍵的幾個地方修改一下就可以了。教師在講解的過程中,可以舉一反三,多次修改、讓學生反復練習,直到他們理解為止。

現在,我們來具體分析一下該圖形,看看它有什么樣的特點,然后我們利用For循環將它的程序代碼編寫出來。

三、結束語

以上關于循環結構的使用基本上都是在程序設計教學過程中的一些體會與總結,可能比較膚淺,但是對于初學者來說,掌握這些知識還是有必要的。在進行課程教學的過程中,將自己在學習過程中得到的一些好的方法傳授給學生,讓他們從中去實踐、體會,從而引起他們更大的學習興趣是必要的。如何讓一名初學者盡快擺脫日常的思維定式,更加透徹地理解和掌握程序設計中的基本思想,領會程序設計的精髓,是高級語言程序設計這門課程在講授過程中,應該時刻注意的問題。更希望學生在學習的過程中不只是從老師這里拿一些現成的經驗去使用,更重要的是讓學生學會自己去發現問題、解決問題,總結出一些更好的程序設計方法,為以后進行軟件開發與設計打下良好的基礎。

參考文獻:

[1]譚浩強.C程序設計(第三版)[M].清華大學出版社,2005.

[2]蘇運霖.計算機程序設計藝術第1卷?基本算法[M].北京:國防工業出版社,2002.

[3]譚浩強.C語言程序設計(第二版)[M].北京:清華大學出版社,1999.

篇2

摘要:本文在分析了C語言程序設計課程的教學現狀和教學困境的基礎上,對比自然語言和程序設計語言的共性以及C語言的特殊性,提出了“從概念入手,側重程序閱讀和程序設計能力培養”而非“語法研究”的教學角度。

關鍵詞:C語言;程序設計;教學內容;教學角度

中圖分類號:G64 文獻標識碼:A

1教學現狀

在高等學校的本科教育中,“C語言程序設計”幾乎成了所有專業的必開課程,從計算機科學與技術、軟件工程、網絡工程等相關專業,到電子信息類理工科各專業,乃至理工科院校的所有非計算機專業,有的是專業基礎課,有的是公共必修基礎課,有的是“非計算機專業的計算機基礎課”。只是課程名稍有差異,常見的有“C語言程序設計”、“高級語言程序設計”、“C語言”、“C程序設計”、“結構化程序設計”等。無論叫什么樣的課程名,也無論是哪類專業,其課程的教學要求和教材選用卻無太大差別,只是課時分配差異較大。

從網絡調查的16所不同類型高校的“C語言程序設計”教學大綱看,普遍都包含“通過本課程的學習,使學生了解有關程序設計的基本概念、術語及C語言的特點,掌握C語言基本數據類型、語法規則、程序控制結構、常用的標準庫函數,培養學生的程序設計技能,初步積累編程經驗”的教學基本要求;約百分之八十左右的“C語言程序設計”課程都選用由譚浩強主編、清華大學出版社出版的“C程序設計”作為主教材;課時分配從30~108課時不等,其中80課時以上的多為應用型本科院校的計算機相關專業以及綜合性大學的非計算機專業,理論課時與實驗課時的比例一般為1:1到1:1.2。與此同時,其他專業基礎課(如計算機組成原理、操作系統、數據結構等)的課時一般為54課時,最多不超過72學時。相比之下,“C語言程序設計”所占課時是其他專業基礎課的1.5倍至2倍。

從教學目的看,非計算機專業的“C語言程序設計”課程主要目的是“掌握語法規則和程序結構,具備一定的程序設計能力”,而計算機相關專業的“C語言程序設計”課的教學目的則要分為三個層次,一是使學生全面理解計算機程序設計語言的基本內容和結構;二是通過算法掌握程序設計的基本方法和步驟,并具備一定的程序設計能力;三是為后續課程的算法描述和其他程序設計語言的學習奠定基礎。

2教學誤區

從以上的教學現狀(特別是課時分配)看,長期以來,“C語言程序設計”的課程教學存在“教學內容背離教學要求和教學目的”的誤區,主要表現在教材誤區、講授誤區和考核誤區三個方面。

2.1教材誤區

國內高校的“C語言程序設計”課大多選用譚浩強主編、清華大學出版社出版的“C程序設計”[1]為主教材,目前使用的是2005年7月修訂出版的第三版,教材共363頁,主體內容分為14章,其中,第3章的數據類型與表達式占用30頁,第4章的格式輸入輸出占用12頁,前9章共占用218頁,后5章共占用145頁。占用如此大篇幅的原因是教材中除了介紹相關語法格式外,還增加了相當多“特殊格式”和“特殊情況”的解釋和說明,因此,該教材的最大優點就是“內容詳盡、解釋清晰”。然而,對于初學者來說,學習計算機程序設計語言就是為了“為計算機描述求解問題的過程”,過于詳細但又遠離現實問題的“特殊格式”和“特殊情況”的解釋,使得學習內容復雜化,增加了程序設計語言學習的難度,誤導了學習者的學習重點,由此也賦予了該教材無法掩飾的缺點,那就是教材編寫的指導思想和教材內容的組織脫離了高校各專業“C語言程序設計”課程的教學目標,過分強調語法細節而忽略了程序設計語言的“正向表達能力”的應用,過分強調“語言的靈活性”而導致教材主體內容的“復雜化”,從而誤導“C語言程序設計”課程的教學內容朝著“重語法學習、輕算法描述”的“語言研究”方向發展。

2.2講授誤區

由于教材內容的“復雜”,課堂講授自然需要較多課時,教學重點當然也放在了“語法研究”上。從網上下載的“C程序設計(第三版)”的配套教學課件以及有關院校的“C語言程序設計”教學課件的內容組織上可以清楚的給出以上判斷。“語法研究”型的課堂講授,更加放大了教材對“C語言程序設計”課程內容的“扭曲”程度,給學生提供了錯誤的程序設計語言學習方法,把簡單問題復雜化,更為嚴重的是,挫傷了學生學習計算機程序設計語言的興趣和積極性,把本應“主動學習”的課程成引入了“被動學習”的歧途,直接導致“懂語法、會做題,但不會編程序”的教學后果。

2.3考核誤區

多年來,“C語言程序設計”的主體考試內容就是“語法”,無論是選擇題、填空題還是程序閱讀題,大多都無法逃脫“語法”的束縛。考試方式以筆試為主。這在某種程度上肯定了“語言研究”的教學角度,促使“C語言程序設計”的教學重點更向“語法研究”的方向傾斜,最終誤入“增加課時,強化語法,還是不會編程序”的怪圈。

3應有的教學角度

按照網上調查的各專業教學大綱中“培養具有一定程序設計能力”的教學目的,“C語言程序設計”課程的教學落腳點應該更確切的理解為培養“能用程序設計語言描述求解問題過程”的一般程序設計者,而不是造就“全面掌握程序設計語言語法、能設計高效、難懂程序”的程序設計語言方面的“作家”。因此,“C語言程序設計”課程教學相當于自然語言中的“基本語言能力”教學,而不是“語言研究”或“高級寫作”能力培養。

3.1自然語言與計算機程序設計語言

計算機程序設計語言是用人和計算機都能識別的方式描述計算機求解問題過程的過程描述語言,它具有和人所使用的自然語言相同或相似的組成和結構特點,對于已經掌握了至少一門自然語言(比如漢語或英語)并具備一定文化程度的人來說,學習一種計算機程序設計語言并非難事。自然語言的基本組成包括符號集合、字、詞、句、數據及其運算規則等基本要素,學習過程包括認識符號、發音、識字、組詞、學語法并造句、學文法并寫短文、練習寫文章等基本階段,在具備了基本的語言能力之后,擴充詞匯量和提高寫作能力將成為終身學習的基本內容。按照自然語言的基本組成和學習過程,也可將計算機程序設計語言的基本組成歸納為字符集、標識符(常量、變量、保留字等)、數據類型、運算符、表達式、語句、程序格式等基本要素,其中,字符集和數據類型是定義程序設計語言的基礎,字符按一定規則組成標識符,用來充當常量名、變量名或其他標識,在自然語言中被人們公認的特殊標識符被賦予特定的語言含義,專門為語言系統所用(用戶不得再次定義其意義),稱為保留字;字符集中的特殊符號(如+、-、*、/)被賦予特定的運算意義(如加、減、乘、除)稱為運算符;不同數據類型的常量、變量用運算符按一定規則連接起來組成的式子就構成表達式;將特定的保留字與表達式等語言要素按照語法規則組合起來就形成相應的語句;將語句按照要描述的求解問題的邏輯順序排列起來,就構成了某種程序設計語言求解特定問題的一段程序。

3.2C語言的特殊性

一方面,C語言是程序設計語言的一種,具備一般程序設計語言的基本組成要素和結構特點。另一方面,C語言能成為面向過程的結構化程序設計語言的代表,也有其自身的特殊性。首先,C語言的數據類型極為豐富。除了基本數據類型外,還有構造類型、指針類型、空類型和用戶自定義類型,其中,構造類型包括數組、結構體(struct)、共用體(union)和枚舉類型(enum)等四種數據結構。其次,C語言具有位操作能力。除了能夠對各類變量進行操作外,C語言還具備“按位”進行邏輯“與”、“或”、“非”、“異或”運算和“左”、“右”移位運算,這使得C語言具備了更強的系統開發能力。第三,C語言具有顯著的結構化程序設計能力,并通過完整的函數定義來實現。第四,C語言的最大特點就是“語法限制不嚴,解釋靈活”。第五,C語言允許直接訪問物理地址,可直接對硬件端口進行操作。第六,C語言沒有輸入/輸出語句,信息輸入/輸出功能由標準函數庫中相應的I/O函數來完成。

C語言的這些特殊性,決定了C語言的教、學過程不同于其他程序設計語言的教學過程。

3.3C語言的教學角度

根據一般程序設計語言的基本組成與結構特點,結合C語言的特殊性,“C語言程序設計”課程的教學角度應該是:從介紹程序設計語言的基本概念入手,重點介紹語言的“正

向”設計功能而非“特殊格式”或“特殊語法”說明,側重學生的程序閱讀和程序設計能力培養,從教學內容的廣度和深度兩個方面,恰當把握教學角度。

“C語言程序設計”課程的內容可分為三個基本模塊,教學過程從第一個模塊切入,逐漸擴展到第二和第三個模塊。第一個模塊可稱為“程序設計語言公共模塊”,主要包括程序設計語言的基本概念、程序設計語言的基本要素(字符集、標識符、常量變量以及保留字、基本數據類型、運算符、表達式、語句與控制結構、程序結構以及程序書寫規范等)以及輸入/輸出格式等內容;第二個模塊是C語言的主體,主要包括函數、數組、指針、文件等;第三個模塊是高級編程內容,主要包括結構體(struct)、共用體(union)、枚舉類型(enum)以及用戶自定義類型等。

在教學深度方面,各模塊的教學重點應放在“規范的語法描述和直觀易懂而且正確的語義表述上”,避免涉及各種過細的“不符合人類閱讀習慣”的語義描述,暫時避開“特殊格式”或“特殊情況”的糾纏,擺脫“研究語法”的錯誤向導。在此基礎上,第一模塊的教學可與自然語言相比對,通過學生已有的自然語言學習經驗和語言要素,使學生快速建立程序設計語言的基本概念,正確理解程序設計語言的基本要素及其關系,掌握基本語法和程序基本控制結構(順序、選擇、循環),并通過算法歸納求解問題的過程,正確理解算法不同描述方式(自然語言、傳統流程圖、N-S流程圖、偽代碼、程序設計語言)的作用和差異,特別是從“問題”到“程序”的漸進轉化過程,從而培養學生的基本程序設計能力。通過第二模塊的教學,使學生明確函數、數組、指針、文件等概念和作用,掌握它們的定義和引用方法,能進行相應數據類型的編程,進而掌握用函數定義的結構化模塊程序設計的方法;通過第三個模塊的教學,將程序的數據處理能力擴展到結構體、共用體、枚舉類型以及用戶自定義類型等復雜數據類型的處理上來,通過恰當的例子應用這些數據類型,向學生展示C語言強有力的數據表示和處理能力。

另外,可以將C語言中的“語法靈活性”和不同部分的各種“特殊情況”分類總結,歸納整理成“語言參考手冊”等形式,以附錄的形式提供給學生,以便需要時“備查”。這樣既可節省教學課時,又可向學生提供學習語言的主動權。

3.4教學策略和方法

“C語言程序設計”屬語言類課程,教學過程充滿了逐步完善和熟練的基本特點,因此,從教學安排的策略上要分重點、分階段逐步進行,每個階段的教學方法應該采用建立在一定基礎上的有重點的“部分教學法”,以核心內容為基礎,向外逐漸延伸,部分學習,漸進掌握。盡可能避免不分主次、不論難易、不顧急緩,盲目一次性掃清各類知識點的“地毯式”教授方法或學習方法,同時強調自學和上機驗證,強化在特定環境下(如Turbo C++ 3.0)的程序設計訓練,做到“精講多練[2]”,從小程序練起,逐漸過渡到求解較大或實際問題的程序設計上來。

4結束語

從目前的教學現狀看,無論是計算機相關專業,還是理工科的電子信息類專業,乃至綜合性大學的非計算機專業,“C語言程序設計”的課程教學均占有重要的教學地位,在全面提高教學質量和教學效率的今天,不同類型專業結合自身優勢和程序設計語言類課程的特點,選擇合適的角度組織和實施“C語言程序設計”課程的教學活動非常重要,而且很有必要。筆者的教學實踐證明,避開“語法研究”的程序設計教學不僅可減少課時,更可提高學生利用程序設計語言“表述求解問題過程”的能力。

參 考 文 獻

篇3

結構程序化設計方法如下:

結構化程序設計方法是按照模塊劃分原則以提高程序可讀性和易維護性、可調性和可擴充性為目標的一種程序設計方法。在結構化的程序設計中,只允許三種基本的程序結構形式,它們是順序結構、分支結構、(包括多分支結構)和循環結構,這三種基本結構的共同特點是只允許有一個流動入口和一個出口,僅有這三種基本結構組成的程序稱為結構化程序。結構化程序設計適用于程序規模較大的情況,對于規模較小程序也可采用非結構化程序設計方法。

(來源:文章屋網 )

篇4

關鍵詞: 循環結構 C語言 程序設計

引言

順序、選擇、循環是結構化程序設計的三種基本結構,所以在高級語言程序設計課程中,掌握這三種結構是學好程序設計的基礎。循環結構是這三者中最復雜的一種,幾乎所有的程序都離不開循環,因此,熟練掌握循環結構是程序設計的最基本的要求。在C語言中,循環結構主要是由for和while、do-while語句實現的,其中for語句的應用更為普遍一些。for語句的用法對于有程序設計經驗的學生來說輕而易舉,但是對于那些沒有經驗的初學者來說難度卻不小。本文從初學者的角度,闡述了C語言中循環結構幾種典型應用的實現方法。

一、用循環結構實現幾何圖形

輸出簡單的幾何圖形,是循環結構的典型應用之一。對于這一類型的題目,初學者往往直接采用一條或若干條輸出語句printf完成,這樣雖然可以完成題目要求,但是很顯然缺乏靈活性,不符合程序設計的思想。按照正常的程序設計思想,應該先分析圖形的構成,找出其中的規律:如圖1中的實心三角形,每一行由若干個空格、星號和一個回車換行符構成,將行號、空格數和星號數分別設為i、m和n,則可形成表1:

*

***

*****

*******

*********

由表1可以得出,行號i與空格數m、星號數n有如下的數學關系:

m=5-i,n=2×i-1

則實心三角形的構成規律可以描述為:第i行由(5-i)個空格和(2×i-1)個星號和一個回車符構成。把行號i作為for語句的循環變量,則此程序中的循環部分如下:

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

{

/*輸出(5-i)個空格;*/

for(m=1;m<=5-i;m++)

printf(“”);

/*輸出(2*i-1)個星號;*/

for(n=1;n<=2*i-1;n++)

printf(“*”);

/*輸出回車符;*/

printf(“\n”);

}

采用上面的方法,可以使學生很容易編寫出類似的程序,其中關鍵在于讓學生找出圖形中行號與每一行的空格數及星號數的關系。

二、循環結構在數組中的應用

在C語言中,for語句經常與數組相結合,用于實現數組元素的賦值、輸入和輸出。對于初學者來說,更習慣于用順序結構的語句來實現(如圖2左)。我們將圖2左的幾條語句作比較,可以看出在這5條語句中,不同的只有數組下標,那么就可以將這5條語句合并成一條for語句,將數組下標換成for語句的循環變量i,而i的值從0增加到4。按照for語句的基本語法規則可以很容易寫出圖2右的for語句。

同樣,對于下面這個輸出二維數組元素的例子,也可以用上述方法實現,不過轉換過程比上例要復雜一些:經過對比圖3左側方框中順序結構的12條語句,可以發現也是只有數組下標在變化,但是由于是二維數組,行下標和列下標同時都在變化,很顯然不能直接用一條簡單的for語句來實現。但是我們可以把這12條語句細分一下,3條語句為一組,而在同一組中的語句只有列下標在變化,這時可以采用上例中的方法,將列下標都用循環變量j來代替,得到圖3右上的形式。再次對比圖3右上的4條for語句,不同的是行下標,同樣用新的循環變量i來代替,合并后得到圖3右下最終二重for循環的語句。

三、循環結構中的效率問題

程序設計的初學者往往以完成題目要求的功能為目的,程序的執行效率是最容易忽略的一個問題。在循環結構中,具體表現為循環體的執行次數。例如,一個經典的素數判定問題。在數學中素數的定義為:素數即指那些大于1,且除了1和它本身外,不能被其它任何數整除的數。根據這一定義,初學者很容易編寫出如下所示的程序段:

int isprime(int n)

{

int i;

for(i=2;i<n;i++)

if(n%i==0)return 0;

return 1;

}

上面的程序,完全可以實現題目要求的功能,初學者往往滿足于此。但是當對for循環的執行次數進行分析時,我們發現:當n不是素數時,沒有任何問題;而當n是素數時,循環體就要執行(n-2)次,而實際上是不需要這么多次的。根據數學的知識,可以將次數降為n/2或n的算術平方根,這樣可以大大減少循環體的執行次數,提高程序的效率。

程序的執行效率是編程中時刻需要考慮的問題,也是程序設計中的基本要求。這需要許多算法方面的知識,對于初學者來說,要求可能過高,但是我們在講授過程中要注意向學生灌輸這種思想,從學習之初就要打下良好的基礎,尤其是類似上面例子中這樣顯而易見的情況,可以提醒學生在編制完一道程序以后,檢驗一下,是否還有可優化的地方,這對以后進一步學習高級編程都是必要的。

如何讓一名初學者盡快擺脫日常的思維定式,更加透徹地理解和掌握程序設計中的基本思想,領會程序設計的精髓,是高級語言程序設計這門課程的講授過程中應該時刻注意的問題。希望本文能在這方面起到一點作用。

參考文獻:

篇5

關鍵字:程序設計語言教學改革

中圖分類號:G642 文獻標識碼:A 文章編號:1672-3791(2012)02(c)-0000-00

1 概述

計算機程序設計語言,通常簡稱為編程語言,是一組用來定義計算機程序的語法規則。它是一種被標準化的交流技巧,用來向計算機發出指令。

當今計算機程序設計語言種類繁多、共性大、更新速度快,同時軟件工程和項目管理的蓬勃發展使得計算機軟件開發從業人員的職業分工更為明確。從人力資源與社會保障部頒布的“計算機程序設計員國家職業標準”上看,除了要求從業者必須要有扎實的基本功外,還要具備解決問題的綜合能力。因此計算機程序設計員專業的學生在計算機程序設計語言的知識和技能的學習中,不能再僅僅孤立地教授幾門編程語言、幾門相關的專業課程而已,而是要教會學生掌握通過計算機程序設計來解決實際問題的知識和技能,成為一名合格的“軟件藍領”。這就要求我們不能延續傳統的學歷教育方法,計算機程序設計語言教學需要改革,需要一種全新的教學理念和模式。

當前的教學改革更多的體現在教學方法和內容上,“學習領域”、“任務驅動”、“職業崗位導向”、“面向工作”等各種課程設計方法層出不窮。然而,縱觀大部分課程改革,我們發現其教學改革更多體現在獨立的課程中,并沒有在課程與課程的銜接上下功夫。大部分院校均先后開設VB、C、C++、JAVA等多門程序設計語言和數據結構、數據庫管理系統等專業課程,學生雖然學習了多門程序設計語言,然而每一門語言都只學了皮毛,每一門課程都學了基礎,只能完成課堂和課后的作業和練習,而對于能解決什么問題,怎么解決問題,如何綜合解決問題一籌莫展,碰到問題時往往覺得無從下手。

2 程序設計語言教學探索與改革:C語言學習三部曲

C語言是一種計算機程序設計語言。它既有高級語言的特點,又具有匯編語言的特點,同時很多新型的語言都是衍生自C語言,,掌握了C語言,經過簡單的再學習,就可以用其他新型的語言去進行程序開發了。因此,在計算機專業的課程中,只要把C語言學扎實了、學透了,就可以說掌握了計算機程序設計語言的精粹。在課程設計中,我們以C語言為主線,以一脈相承的C語言、C++語言、C#語言為基本知識內容,配合上數據結構、UML、數據庫等相關知識點,提出語言知識入門、語言能力提高、語言技能應用三個階段和應用層次的“C語言學習三部曲”的課程改革方案。

第一階段:語言知識入門――C語言與數據結構整合

1、課程知識要求:

1) 掌握C語言的基本語法,如數據類型,3種語句結構,數組,指針等。

2) 掌握數據基本結構形式和操作,如線性結構,樹形結構,圖形結構,以及數據結點的查找、添加、刪除、排序等操作。

3) 掌握“自頂先下、逐步細化”的結構化程序設計方法。

2、課程技能要求:

掌握如何用計算機解決日常問題,特別是數據的表現形式和動作行為的表現形式。

3、課程設計要點:

將C語言和數據結構進行有機整合,特別是在講解C語言的數據類型時溶入數據結構知識,在講解C語言的語法結構時溶入數據結構的數據操作知識。

4、課程目的:

通過該課程的學習,要求學生掌握基本程序設計思想和理論,學會數據及數據處理由現實世界向計算機世界的轉換方法和過程,學會用計算機程序設計語言描述和解決日常生活中問題。

第二階段:語言能力提高――C++語言與UML工具整合

1、課程知識要求:

1) 掌握C++語言的高級語法知識以及面向對象的概念和形式,如面向對象的三大特征:封裝、繼承、多態,以及模板等概念。

2) 掌握UML知識,掌握利用UML工具(如ROSE)來進行面向對象的分析和建模的方法和過程。

3) 掌握以“抽象與分類”為關鍵的面向對象的程序設計方法。

2、課程技能要求:

掌握如何用計算機解決日常問題,特別是以面向對象的方法來分析和解決問題。該課程要求學生在第一階段掌握了結構化的設計方法后,進一步了解面向對象程序設計方法。

3、課程設計要點:

把C++語言和UML進行有機的整合。將UML作為面向對象程序設計的分析和設計的工具,而將C++語言作為進行面向對象程序設計的編程和實現工具。

4、課程目的:

通過該課程的學習,要求學生掌握面向對象理論,學會面向對象分析(OOA)、面向對象設計(OOD)和面向對象編程(OOP)方法和工具。

第三階段:語言技能應用――C#語言與數據庫操作整合

1、課程知識要求:

1) 掌握C#語言的高級語法知識和軟件架構知識,如集合、委托、托管、、C/S與B/S架構開發方法等。

2) 掌握數據庫操作知識,如SQL語法、、XML等。

2、課程技能要求:

掌握多層架構的數據庫應用系統開發方法。,該課程要求學生在復習第二階段的面向對象的設計方法后,掌握開發.Net應用系統的方法,掌握將數據存儲在數據庫中的方法,以及掌握對數據庫進行查詢、添加、刪除等操作的方法和步驟。

3、課程設計要點:

將C#語言與數據庫操作知識進行有機整合,在講解用C#語言開發基于.Net的多層架構應用系統中,通過講解與LINQ將SQL溶入C#語言。

4、課程目的:

通過該課程的學習,要求學生掌握C#語言和數據庫操作,掌握通用的企業級應用系統的開發方法和過程。

3 結語

教育部部長周濟在2008年度職業教育會議上說到:“以改革創新為強大動力,推動職業教育又好又快發展”。職業教育的生存和發展,離不開教學改革和創新。在進行計算機程序設計語言教學探索與研究中,我們通過走進企業,與企業軟件開發人員的進行密切聯系與溝通,了解市場發展與需求等一系列調研后,提出了改革方案并付諸實施。實踐證明我們的改革思路是正確的,課程改革是卓有成效的。

參考文獻

[1] 譚浩強,“C程序設計”[M],清華大學出版社

篇6

關鍵詞:Visual Basic;必修課;選修課;區別

中圖分類號:TP311 文獻標識碼:A 文章編號:1674-7712 (2013) 06-0204-01

一、簡介

隨著計算機科學和技術的發展,大學計算機課程的設置有了很大變化。大學計算機教學不再以基礎操作為主,而變為基本操作、應用軟件、程序設計、計算機原理等知識的綜合。為此本校在開設了Visual Basic(以下簡稱VB)程序設計課程。但是,由于專業特點,某些班級無法開設過多的計算機課程。為此,經過與學校教務、學院、系等部門多次商定,本校的VB程序設計分為兩個層次。必修層次課時為54,包含28課時講授和26課時上機操作。選修課為36課時,包含講授和上機操作各18課時。

二、教材與知識結構分析

我校選擇的教材為高等教育出版社的《Visual Basic程序設計教程》(第3版)。選用該教材的原因是其內容條理性好,適合非工科專業學習。有可能在短時間內幫助學生建立起程序設計的基本概念,并能快速的解決實際問題。從目錄看,該教材教學內容條理清晰,從基礎開始由淺入深。其內容分為10章,如表1。

從歷年的教學經驗看,對該教材的教學內容分析如下。第1章作為與計算機文化基礎課程的銜接,介紹了VisualBasic6.0集成開發環境的使用。第2章介紹了面向對象編程的基本概念:類-對象,屬性-事件-方法等。第3章介紹了VB語言的基本語法。一般認為,這三章是該門課程的基礎性內容,可以采用與文化基礎類似的教學手段,使用講授和驗證性實驗結合,幫助學生快速的學會集成開發環境的使用,并按照程序設計的五個步驟,完成并熟悉簡單VB程序設計。

本書的第4章到第6章是核心內容,具體講授了VB程序設計。其中第4章講授了順序、分支、循環三種基本的程序設計方法。第5章介紹了數組這一最基本的數據結構。第6章則介紹了過程與函數,將VB程序劃分為更細致的結構。第7、8兩章的內容相對獨立,可以認為是對前面學習的總結。第7章介紹了界面設計,第8章介紹了VB的基本輸入輸出。本書的最后兩章介紹了VB在圖形和數據庫兩方面的應用。

三、授課計劃分析

對于涉及的8章教學內容制定授課計劃如下。第1章,首先回顧計算機文化基礎課程中關于二進制、編碼等知識。這些知識有助于學生進一步認識計算機中信息處理的方式,即所有信息數字化的方式。這樣充分利用基礎知識,可以幫助學生快速的熟悉環境,降低進一步學習的難度。第2章介紹面向對象程序設計的基本概念,并利用最常見對象的屬性、時間和方法,給出了驗證性的實驗。通過簡單的編程操作,完成輸入、輸出等任務。第3章講授表達式的書寫。通過量(包括變量和常量)、運算符和函數,將實際問題轉換為表達式,然后由計算機求解。

接下來的4、5、6三章,是本課程的核心內容。第4章的內容被分為三部分,按照順序結構、分支結構和循環結構組織,在三次講授中分別介紹具體內容。在順序結構中,介紹賦值語句、輸入/輸出語句。選擇結構則以If和Select語句為主,介紹了最基本的二分支結構程序設計和由此演變而來的單分支、多分支。這一部分著重提示學生,盡管程序書寫順序仍舊為從上到下,但是并不是每條語句都會執行。通過動畫演示程序根據不同的輸入,計算分段函數值。循環結構則結合第5章的數組進行介紹。指出“循環變量控制數組下標”這一經典組合可以解決大量的實際問題。對于第4、5章剩余的部分則單獨利用課時,講解組合框控件、程序調試等知識。因自定義類型與數據庫相關,因此刪去不講。第6章則介紹過程與函數的概念,幫助學生建立對復雜問題“分而治之”的原則,化簡問題方便求解。

在本課程的最后以“溫故而知新”的方式,幫助學生一邊回顧已有知識,一邊豐富現有的程序。從軟件的界面的美化,到添加菜單、對話框等功能模塊,再到計算和處理問題結果的保存。學生此時對以往知識進行總結,結合較為簡單的內容,進一步豐富和鞏固程序設計的知識和技巧。

在選修層次的教學中,因學生選課時,已經要求有一定的程序設計學習經驗。經過調查顯示,大部分學生是在自學了C/VB等語言后才來參加學習,加之學生已經對計算機基礎知識有一定的了解和掌握,因此在必修課程教學計劃的基礎上,刪除了對第1章和第2、3章部分內容的講授。由于選修課課時分配為每周3課時,因此這一部分內容,在第1次講課時完成,并在第1次上機課加以操作驗證。從歷年經驗看,效果尚可。接下來的三個單元,與必修課要求一致,分別介紹程序設計的三大結構。剩余的兩個單元則針對學生對閱讀程序、解決問題的實際需求,加重講授第6章的內容,并在最后讀取、演示大量的實際程序,幫助學生理解他人編寫的程序,并能從其中取長補短,提高自己程序設計的水平。

篇7

2、線性表的定義:線性表的順序存儲結構及其插入與刪除運算。棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。線性單鏈表、雙向鏈表與循環鏈表的結構及其基本運算。

3、樹的基本概念:二叉樹的定義及其存儲結構;二叉樹的前序、中序和后序遍歷。順序查找與二分法查找算法;基本排序算法(交換類排序,選擇類排序,插入類排序)。

4、程序設計基礎:程序設計方法與風格。結構化程序設計。面向對象的程序設計方法,對象,方法,屬性及繼承與多態性。

5、軟件工程基礎:軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發環境。結構化分析方法,數據流圖,數據字典,軟件需求規格說明書。結構化設計方法,總體設計與詳細設計。

6、軟件測試的方法:白盒測試與黑盒測試,測試用例設計,軟件測試的實施,單元測試、集成測試和系統測試。程序的調試,靜態調試與報考調試。

7、數據庫設計基礎:數據庫的基本概念:數據庫,數據庫管理系統,數據庫系統。數據模型,實體聯系模型及 E-R 圖,從 E-R 圖導出關系數據模型。

篇8

關鍵詞:C語言;程序設計;學習方法;學習興趣

中圖分類號:TP312.1-4

《C語言程序設計》是計算機專業的一門核心專業基礎課程,是專升本、考研和等級水平考試的必考科目,也是學生學習中感到比較吃力的一門課。那么,如何學習《C語言程序設計》這門課程呢?現根據自己多年在教學中的體會,談一些粗淺的認識。

1 為什么要學習《C語言程序設計》

《C語言程序設計》是用C語言來編寫程序的,每個程序員在他們的編程生涯中都應該學習C語言,因為它有太多難以忽視的好處了。除了它會給你提供更多的工作機會之外,C語言還會教給你更多的關于計算機的知識。它的好處如下:

1.1 C語言是一種計算機程序設計語言

它既具有高級語言的特點,又具有匯編語言的特點,既可以用來編寫系統軟件,又可以用來編寫應用軟件。它不僅具有繪圖能力強,還具備很強的數據處理能力,因此也適于編寫三維,二維圖形和動畫。

1.2 C語言具有功能強大、使用靈活、豐富的數據類型和運算符、結構化的控制語句、目標代碼運行效率高、適用范圍大、可移植性好等優點。

1.3 C語言是各大操作系統的基礎,Unix、Linux、Windows其內核都清一色是C語言開發的,(某些地方是和匯編語言混合開發的),還有各種語言的編譯器,包括java虛擬機,各種嵌入式設備,如手機、PDA等都是C語言開發的。

1.4 C語言是基礎,如果你學習過C語言,你就能學習現在任何的高級編程語言

因為所有的高級語言都是以C語言為基礎的(像JAVA,C++,C#等等)。C語言學好了,將來想學其他的語言,就比較好入門了。

2 如何學習《C語言程序設計》

2.1 克服畏難心理,充滿自信的學習《C語言程序設計》

大多數學生一看到《C語言程序設計》課程的教材,就有畏難的情緒,覺得C語言難學,學不會,因為他們對計算機語言不了解,另外有些英語差的同學,看到計算機編程是用英語編寫的,就未學先棄了。其實學習語言并沒有他們想象的那么難,英語差也對學習計算機語言影響不大,比如學C語言,真正要記的關鍵字不多,語法也不復雜,只要大家不帶著畏難的心理,充滿自信,一定能學好的。

2.2 要明確《C語言程序設計》的學習目的

通過《C語言程序設計》課程的學習,掌握C語言基本知識,掌握程序設計的基本方法并逐步形成正確的程序設計思想,能夠熟練運用基本程序結構解決簡單問題,理解模塊化程序設計原則并能熟練使用C語言進行程序設計,具備調試程序的能力,為后繼課程及其他程序設計課程的學習和應用打下基礎。

2.3 要明白《C語言程序設計》與一般的計算機操作課程有所不同

《C語言程序設計》是計算機的一門軟件編程課程,是用C語言來編寫程序的,它具有難度性、抽象性、連續性和邏輯嚴密性。如果你第一次課來聽了,第二次課沒來,第三次課很可能就聽不懂了。比如,第一次課講的是數字1,2,3,4……,第二次課講的是運算符號+,-,*,/,第三次課老師讓你算1+2=?,如果你前兩次課都來聽了,那么你就能算出它的結果,否則你就算不出它的結果。因此,如果要想學好《C語言程序設計》,必須堅持每次課都來,如果那天確實不能來,就應在家自學,不懂的地方應及時向老師請教,一定不能落課。

2.4 要整體把握《C語言程序設計》

C語言是一種通用的程序設計語言,在開發系統軟件和應用軟件中得到廣泛的應用,已成為當今計算機世界最流行的語言之一。C語言是一個整體,各個方面是有機聯系的,要從總體上把握它,不要把它割裂成互不關聯的部件。它包括C語言概述、數據類型(整型、實型、字符型、數組類型、指針類型、結構體類型、共用體類型等)、運算符和表達式、流程控制語句、函數、數組、字符與字符串、指針、結構體、文件等。通過《C語言程序設計》的學習,掌握程序設計的基本概念、基本思想、基本方法和基本技能,進而學會利用C語言解決實際問題,培養計算機程序設計的能力和素質,以及思維方法,為以后學習其它計算機程序語言和后續的專業課程打下基礎。

簡單的C程序是由主函數和函數體兩大部分組成。它的基本框架如下:

main()

{

}

其中main表示“主函數”。每一個C程序都必須有一個main函數,而且只能有一個main函數,它表示程序從這里開始執行。由花括號“{ }”括起的部分是函數體。其中函數體又包括定義變量、變量賦值、函數調用、輸出打印等。

例:一個簡單的求和程序

main() /*主函數*/

{

int a,b,sum; /*定義變量*/

a=123;b=456; /*變量賦值*/

sum=a+b; /*求兩數之和*/

printf(“sum is %d\n”,sum); /*輸出和值*/

}

這是一個簡單的求和程序。/*...*/表示注釋部分,只給人看的,對編譯和運行不起作用。第3行是聲明部分,定義變量a、b、sum,指定a、b、sum為整型(int)變量。第4行是兩個賦值語句,使a和b的值分別為123和456。第5行使sum的值為a+b,第6行中“%d”是輸入輸出的“格式字符串”,用來指定輸入輸出時的數據類型和格式,“%d”表示“以十進制整數形式輸出”。Printf函數中括弧內最右端sum是要輸出的變量,現在它的值為579(即123+456之值)。因此輸出一行信息為:

sum is 579

從這個例子可以看出,想要把《C語言程序設計》這門課學好,不僅要知道《C語言程序設計》的基本框架,還要學好函數體中的內容(變量類型、定義變量、變量賦值、輸入輸出格式字符串、輸入輸出函數格式、調用函數等)。另外還要學好C語言的運算符、運算順序 、四種程序結構(順序結構、分支結構、循環結構、模塊化程序結構 )、掌握一些簡單的算法等。

2.5 熟練C程序的上機步驟

在編好一個C源程序后,如何上機運行呢?要經過編輯、編譯、連接和運行四個步驟。

(1)編輯源文件。在編輯(Edit)狀態下輸入或修改源程序。

(2)編譯源程序。選擇“C編譯”菜單并選擇“編譯到OBJ”,進行編譯,得到一個后綴為.obj的目標程序。

(3)然后再選擇菜單“L連接EXE文件”,進行連接操作,可得到一個后綴為.exe的可執行文件。

(4) 運行程序。在“RUN”菜單中選擇“R運行程序”項,或直接按Ctr+F9鍵,系統就會運行已編譯好的可執行目標文件。此時,TC集成環境窗口消失,屏幕上顯示出程序運行的結果。如果程序需要輸入數據,則應在此時,從鍵盤輸入所需數據,然后程序會接著執行,輸出結果。

2.6 要加強編程訓練

《C語言程序設計》是實踐性非常強的課程,要求學員要理論聯系實際,在掌握C語言的基本語法和基本知識后,重點應放在提高編程能力的訓練上。根據學生學習的認知特點,我認為主要應從以下幾個方面進行強化訓練:

(1)吃透課本例子。每學完一次新課,讓學生對課本例子先分析任務、再仔細閱讀程序,然后按書上的源代碼敲出來,編譯執行輸出結果,如果結果跟書上一致就算完成,如果不一致,就要仔細找原因。再后不看書自己編寫代碼與課本對照,找出自己的不足,然后改進。最后在此例的基礎上自己加以改造,舉一反三,變為其它的例子,如此反復練習,不僅培養了學生動腦思考的習慣,而且養成了遇事三思、認真、周密的作風。

(2)精選上機題目,要求調試通過。每章找出一個或兩個綜合性的具有代表性的應用題目,如編寫一個程序,計算一個整數的名位數字之和;用選擇法對數組中10個整數,按由小到大的順序進行排序等,要求用C語言編寫可執行的源程序,上機調試。這樣不僅鍛煉了學生解決實際問題的能力,更重要的是激發了學生學習課程的興趣,抽象變具體 ,理論變實踐,對這門課有了更深的認識。

(3)閱讀填空法。找一些經典程序,配上必要的說明,適當去掉語句或表達式,讓學生通過閱讀填補空白,訓練學生的程序設計能力。例編寫一個程序,輸入月份號,輸出月的英文月名,還有求和、排序、報號等。

(4)準備一個經驗本,記下C語言重要的語法和知識點,還有自己出錯的解決方法及老師講解的其他同學出現的常見錯誤,抽空常翻看,逐步積累經驗,加深印象,使以后避免。

(5)帶著作業去上機。每次理論課結束后,老師都會給學生布置一些作業(如習題)讓學生做,那么學生一定要認認真真的把作業完成好,先把程序編寫在作業本上,上機時再把這些程序敲到計算機上,進行修改、調試、運行,最后輸出結果。如果學生不帶作業去上機,第一次老師警告下次一定帶作業上機,如果第二次還沒帶作業,不準學生進機房,讓學生到教室把作業做完后再到機房上機調試。有人說學生可以直接在機器上編寫程序,固然沒錯,但對于初學者來說,如果在機器上邊思考邊編寫,也就是說想一句編一句,再想一句再編一句,這樣太浪費時間,一節課說不定連一個程序都編不好,所以老師一定要求學生在課下把程序編好,上機只需把程序敲出來進行修改、調試、運行,這樣能節約大量的時間,學生上機時間本身都是有限的。

上述方法在教學實踐中證明是行之有效的,學生對問題分析、程序設計的自覺性和能動性得到提高,動手能力加強,對后繼課如《C++》、《面向對象程序設計》等,學習起來倍感輕松,較好地完成了該門課程的學習目標。總之,實踐出真知,多學、多練、多思、多交流,勤奮好學才能學成。

參考文獻:

[1]嚴桂蘭.C語言程序設計與應用教程[M].福建:廈門大學出版社,2001.

[2]譚浩強.C程序設計(第三版)[M].北京:清華大學出版社,2005.

[3]陳東.計算機多媒體教學改革的一些嘗試[J].福建師范大學學報(自然版),2004,20(3):98.

[4]王蘭.學好《C程序設計》的幾點建議[J].科技信息,2007(9).

推薦期刊
欧美午夜精品一区二区三区,欧美激情精品久久久久久,亚洲av片不卡无码久东京搔,亚洲鲁丝片AV无码APP
中字幕无砖欧美日韩一区中 | 中文字一区二区三区在线 | 真实国产乱子伦激情对白视频 | 日韩精品TV国产精品TV | 天天看天天爽国产 | 亚洲天堂久久伊人网 |