欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      基于案例教學(xué)法的C語言教學(xué)設(shè)計[全文5篇]

      時間:2019-05-12 23:54:46下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《基于案例教學(xué)法的C語言教學(xué)設(shè)計》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《基于案例教學(xué)法的C語言教學(xué)設(shè)計》。

      第一篇:基于案例教學(xué)法的C語言教學(xué)設(shè)計

      基于案例教學(xué)法的C語言教學(xué)設(shè)計

      摘 要: 針對公安院校學(xué)生主體的特殊性,結(jié)合高級語言程序設(shè)計課程,提出案例教學(xué)法。分析了案例教學(xué)法的特點,以選擇結(jié)構(gòu)為例,運(yùn)用案例教學(xué)法分析教學(xué)設(shè)計過程。教學(xué)設(shè)計注重培養(yǎng)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生理論聯(lián)系實際的能力。

      關(guān)鍵詞: 案例教學(xué)法; C語言; 教學(xué)設(shè)計; 選擇結(jié)構(gòu)

      中圖分類號:G642 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2016)06-104-03

      Abstract: In view of the particularity of police colleges students' learning,combined with high-level language programming courses,the case teaching method is put forward.Analyzed the characteristics of the case teaching method,taking “selection structure” as an example,the teaching design process is analyzed by using the case teaching method.The teaching design focuses on the cultivation of students' learning interest and the improvement of students' ability of integrating theory with practice.Key words: case teaching; C language; teaching design; selection structure

      0 引言

      高級語言程序設(shè)計是我院網(wǎng)絡(luò)安全與執(zhí)法專業(yè)的核心基礎(chǔ)必修課程,是網(wǎng)絡(luò)安全執(zhí)法課程體系的基石,也是培養(yǎng)學(xué)生的計算思維和程序設(shè)計能力的起點[1]。該課程不僅直接影響后續(xù)數(shù)據(jù)結(jié)構(gòu)、電子取證、信息安全等專業(yè)課程的學(xué)習(xí),而且對構(gòu)建專業(yè)認(rèn)同感和融合度有著重要意義。由于我院是公安院校,教學(xué)工作不同于普通高等院校,學(xué)院日常采用警務(wù)化管理,文武兼修,所以在高級語言程序設(shè)計教學(xué)中有一定的特殊性,主要表現(xiàn)在以下方面。

      ⑴ 課程總學(xué)時少。相較于普通高等院校計算機(jī)專業(yè),我院高級語言程序設(shè)計總學(xué)時偏少,且實驗學(xué)時占比不大,學(xué)生普遍缺乏動手實踐能力。

      ⑵ 課余時間碎片化。公安院校學(xué)生課下警務(wù)活動較多,學(xué)生課余時間有限,學(xué)習(xí)缺乏連續(xù)性。專業(yè)知識學(xué)習(xí)依賴課堂和教師,學(xué)習(xí)形式比較單一,遇見問題往往“霧里看花”,無法將實際問題轉(zhuǎn)化成程序語言,編程思維能力不足。

      ⑶ 教學(xué)模式傳統(tǒng)。傳統(tǒng)的教學(xué)模式是以語法為主線,以例題講解為輔助手段,概念性知識較多,會加重學(xué)生學(xué)習(xí)疲勞感,學(xué)生學(xué)習(xí)興趣不高,教學(xué)效果不理想。

      針對以上情況,本文提出案例教學(xué)法作為新的教學(xué)方法,通過案例進(jìn)行課堂教學(xué),希望能夠調(diào)動學(xué)生學(xué)習(xí)的主動性和積極性,培養(yǎng)學(xué)生的創(chuàng)新能力和理論聯(lián)系實際的能力。案例教學(xué)法

      20世紀(jì)初,哈佛大學(xué)創(chuàng)造了案例教學(xué)法。即圍繞一定的訓(xùn)練目的把實際中真實的情景加以典型化處理,形成供學(xué)員思考、分析和決斷的案例,通過獨(dú)立研究和相互討論的方式,來提高學(xué)員分析問題和解決問題的能力的一種方法。這種教學(xué)方法在當(dāng)今世界的教育和培訓(xùn)中得到了廣泛的應(yīng)用[2]。在高級語言程序設(shè)計教學(xué)中,教師根據(jù)教學(xué)任務(wù)和教學(xué)目標(biāo),運(yùn)用案例材料,組織引導(dǎo)學(xué)生參與其中對案例進(jìn)行分析和思考,激發(fā)學(xué)生學(xué)習(xí)興趣,從而提高學(xué)生實際動手能力和探究、創(chuàng)新能力[3]。引入案例教學(xué)法,可以讓學(xué)生投入案例,積極思考,將一個個孤立的知識點串聯(lián)起來,以小見大,構(gòu)建完整的知識體系,提高程序設(shè)計思維能力。本文選擇譚浩強(qiáng)的《C程序設(shè)計》(第四版)中的第4章“選擇結(jié)構(gòu)程序設(shè)計”為教學(xué)內(nèi)容來探討基于案例教學(xué)法的教學(xué)設(shè)計過程。教學(xué)目標(biāo)

      2.1 知識目標(biāo)

      了解6種關(guān)系運(yùn)算符以及其優(yōu)先次序、3種邏輯運(yùn)算符以及其優(yōu)先次序、條件運(yùn)算符;掌握關(guān)系表達(dá)式、邏輯表達(dá)式的概念及其運(yùn)算規(guī)則;了解if語句的3種形式、if語句的嵌套形式和switch語句形式。

      2.2 技能目標(biāo)

      會靈活應(yīng)用if語句進(jìn)行條件語句的判斷并通過編譯工具編寫程序,在VC環(huán)境中進(jìn)行編譯,查找錯誤然后解決。

      2.3 情感目標(biāo)

      激發(fā)學(xué)生對編程的興趣,形成編程設(shè)計思維;善于與其他學(xué)習(xí)者、老師溝通交流形成共識;培養(yǎng)獨(dú)立思考、分析程序的能力。教學(xué)設(shè)計及教學(xué)過程

      本次課程以案例法引入,通過猜數(shù)字游戲聚焦學(xué)生的注意力,調(diào)動課堂氣氛,然后激發(fā)學(xué)生的求知欲[4],引導(dǎo)學(xué)生解析猜數(shù)字游戲背后的代碼,通過分析代碼,提出問題,在解決問題中講授新知識新概念,最后總結(jié)知識、對照案例,鞏固加深。教學(xué)過程主要以集體教學(xué)為主,分為案例引入、案例分析與討論、案例總結(jié)三個部分。

      3.1 案例引入

      案例法教學(xué)難點之一就是如何選擇案例。教師需深入研讀教材,根據(jù)教學(xué)對象和教學(xué)內(nèi)容知識點分布,合理選擇代表性案例,并對案例進(jìn)行評估,預(yù)估學(xué)生在分析案例中遇到的問題和反應(yīng),從而擬定相應(yīng)的教學(xué)方案。針對公安院校學(xué)生主體和選擇結(jié)構(gòu)的知識要點,選擇猜數(shù)字作為本次教學(xué)的案例。

      本次課中,以猜數(shù)字游戲開場,首先介紹游戲規(guī)則,號召學(xué)生積極參與,選取2-3名同學(xué)猜數(shù)字,其他同學(xué)可出謀劃策,以此調(diào)動全體學(xué)生積極性。

      3.2 案例分析與討論

      什么是選擇結(jié)構(gòu):游戲結(jié)束之后,控制課堂氣氛,引導(dǎo)學(xué)生探索游戲背后的知識,結(jié)合順序結(jié)構(gòu)的知識拋出問題。如:這段游戲代碼主要是什么結(jié)構(gòu)?否定順序結(jié)構(gòu)后,從頭到尾分析游戲的步驟,根據(jù)流程圖的知識,讓學(xué)生畫出猜數(shù)字程序的簡單流程圖。通過對流程圖的講解自然引出選擇結(jié)構(gòu)的概念,形成對選擇結(jié)構(gòu)的初步認(rèn)識。讓學(xué)生列舉出日常生活中選擇的例子,一一點評,每一個選擇的例子都涉及到條件的判斷,所以說選擇結(jié)構(gòu)的關(guān)鍵點就是條件判斷。

      if 語句:根據(jù)選擇結(jié)構(gòu)的學(xué)習(xí),判斷猜數(shù)字游戲輸入數(shù)字提示信息是否屬于選擇結(jié)構(gòu)?我們把猜數(shù)字游戲的輸入數(shù)字提示信息轉(zhuǎn)化為具體的問題:如果輸入的數(shù)字比謎底大,那么輸出提示信息,請輸入一個小一些的數(shù)字,如果輸入的數(shù)字比謎底小,那么輸出提示信息,請輸入一個大一些的數(shù)字。展開小組討論,得出輸入數(shù)字提示信息是選擇結(jié)構(gòu)后,寫出輸入數(shù)字提示信息的偽代碼。然后分析猜數(shù)字程序代碼,根據(jù)程序中的注釋語句和偽代碼,可找到對應(yīng)的輸入數(shù)字提示信息的代碼,代碼如下:

      演示PPT,對照輸入數(shù)字提示信息的執(zhí)行流程,呈現(xiàn)3種if語句的形式及其執(zhí)行流程圖。在黑板上,板書并講解if語句使用的注意事項。如else子句是可選的,使用時須與if語句配對使用。要求學(xué)生在VC環(huán)境中編寫輸入數(shù)字提示信息的小程序,并進(jìn)行編譯和調(diào)試,出現(xiàn)錯誤時可討論修改,老師予以點評。將學(xué)生分成小組,3人一組,探討猜數(shù)字程序中選擇結(jié)構(gòu)的語句,可參考PPT和書本,每組選出一個代表,講解找到的程序結(jié)構(gòu)語句。老師再次講解點評,并通過VC執(zhí)行結(jié)果,讓同學(xué)參與其中,深刻領(lǐng)會if語句的用法以及選擇結(jié)構(gòu)的內(nèi)涵。

      關(guān)系運(yùn)算符和關(guān)系表達(dá)式:if語句中的表達(dá)式可以是關(guān)系表達(dá)式也可以是邏輯表達(dá)式。其中最直觀、最容易理解的就是關(guān)系表達(dá)式。關(guān)系表達(dá)式又是由關(guān)系運(yùn)算符構(gòu)成的。要求學(xué)生查找猜數(shù)字程序里的關(guān)系運(yùn)算符和關(guān)系表達(dá)式,小組內(nèi)部討論。演示PPT,呈現(xiàn)關(guān)系運(yùn)算的概念、6種關(guān)系運(yùn)算符(、>=、==、!=)、圖示法歸納6種關(guān)系算符的優(yōu)先次序規(guī)律,幫助學(xué)生理解記憶。

      邏輯運(yùn)算符和邏輯表達(dá)式:分析猜數(shù)字程序里的語句“c=='n'||c=='N'”,通過注釋語句和程序運(yùn)行流程分析這一語句的含義;引出邏輯運(yùn)算符和邏輯表達(dá)式的含義。演示PPT,呈現(xiàn)3種邏輯運(yùn)算符(&&、||、?。?、邏輯運(yùn)算的真值表、以圖示法歸納3種邏輯運(yùn)算符的優(yōu)先次序規(guī)律。結(jié)合猜數(shù)字程序中的對再來一局的判斷方法來講解邏輯表達(dá)式的規(guī)則。由于關(guān)系運(yùn)算符和關(guān)系表達(dá)式已經(jīng)講過,所以邏輯運(yùn)算符和邏輯表達(dá)式可采用小組討論總結(jié),提高學(xué)生自學(xué)能力。

      擴(kuò)展:進(jìn)一步思考if語句中的表達(dá)式除了關(guān)系表達(dá)式和邏輯表達(dá)式,還可以有什么?數(shù)值或者數(shù)值表達(dá)式可不可以?小組可以討論,帶著問題在VC環(huán)境驗證自己的猜想。隨機(jī)抽取學(xué)生進(jìn)行總結(jié)發(fā)言,最后教師補(bǔ)充。通過對if語句的表達(dá)式深入學(xué)習(xí),加深對if語句的理解,對兩種表達(dá)式的知識起到復(fù)習(xí)鞏固的作用。

      switch語句:switch語句是多分支選擇語句。學(xué)生在掌握if語句的基礎(chǔ)上可自學(xué)。演示PPT,呈現(xiàn)switch語句的一般形式。老師布置任務(wù):用switch語句改寫猜數(shù)字程序中的結(jié)果等級評價語句。小組討論并上機(jī)操作執(zhí)行,得到結(jié)果,最后每組選出一個代表,先講解編程的思路,接著使用VC工具演示程序的執(zhí)行過程和結(jié)果,最后教師給予評價,教師對表現(xiàn)最佳的小組給予鼓勵和表揚(yáng)。

      3.3 案例總結(jié)

      回顧本次課的內(nèi)容,總結(jié)重點和難點。重新復(fù)盤猜數(shù)字程序流程,展示猜數(shù)字程序流程圖,講解程序。這樣培養(yǎng)學(xué)生閱讀程序的能力,同時加深學(xué)生對程序結(jié)構(gòu)的認(rèn)識。對有疑問的學(xué)生答疑,增加互動交流。布置課后作業(yè),以小組為單位(3人一組),提交猜數(shù)字程序?qū)嶒瀳蟾妗=Y(jié)束語

      程序設(shè)計類課程傳統(tǒng)教學(xué)方式是以教師和教材為中心,從書本到書本,從概念到概念,忽視了對學(xué)生學(xué)習(xí)潛能的開發(fā),導(dǎo)致學(xué)生理論與實踐的脫節(jié)。本文針對學(xué)習(xí)對象的特點,改革傳統(tǒng)的教學(xué)觀念,提出了案例教學(xué)法,并以選擇結(jié)構(gòu)程序設(shè)計為例,闡述了該方法在教學(xué)過程中的應(yīng)用。案例教學(xué)法是以案例為主線,以知識點為支線,注重引導(dǎo)學(xué)生通過案例分析與討論解決實際問題,理清課程知識體系。案例教學(xué)法的運(yùn)用有利于學(xué)生程序思維的建立,有利于學(xué)生程序設(shè)計能力的提高,同時對促進(jìn)教學(xué)改革和加強(qiáng)素質(zhì)教育有著積極的意義。

      案例教學(xué)法的實施過程中仍有一些問題值得注意,比如案例的選擇、理論知識點教授與案例分析的有機(jī)融合及協(xié)調(diào)[5]、課時安排等,這就要求教師能夠很好地處理這些問題,以保證在采用案例教學(xué)時取得最佳的教學(xué)效果。

      參考文獻(xiàn)(References):

      [1] 牟琴,譚良,周雄峻.基于計算思維的任務(wù)驅(qū)動式教學(xué)模式的

      研究[J].現(xiàn)代教育技術(shù),2011.21(6):44-49

      [2] 苗冬霞.淺析“C語言程序設(shè)計”課程的案例教學(xué)[J].武漢工程

      職業(yè)技術(shù)學(xué)院學(xué)報,2006.18(2):90-92

      [3] 肖明.案例教學(xué)法在“C++語言程序設(shè)計”教學(xué)中的應(yīng)用[J].計算機(jī)教育,2010.6:83-86

      [4] 于啟紅.案例教學(xué)法在編程語言課程中的作用探討[J].計算

      機(jī)時代,2014.11:62-64

      [5] 張潤蓮,張向利,葉進(jìn).案例教學(xué)法及其運(yùn)用[J].桂林電子工業(yè)

      學(xué)院學(xué)報,2004.24(4):102-105

      第二篇:《C語言》教學(xué)設(shè)計

      《C語言》教學(xué)設(shè)計

      一、教學(xué)設(shè)計

      本課程的教學(xué)設(shè)計是根據(jù)軟件人才的培養(yǎng)目標(biāo),突出創(chuàng)新型、應(yīng)用型人才的培養(yǎng)方案而設(shè)計的,實行“基礎(chǔ)知識+基本技能+項目實踐+技術(shù)延伸”的教學(xué)理念。

      基礎(chǔ)知識是指涵蓋該課程的主要知識點;基本技能是指通過實驗案例來訓(xùn)練學(xué)生的基本項目開發(fā)技能,鞏固提高學(xué)生對基本知識點的理解;項目實踐是指通過項目形式,訓(xùn)練學(xué)生的綜合能力;技術(shù)延伸則是指涵蓋相關(guān)領(lǐng)域的最新技術(shù)發(fā)展,屬于不斷更新的動態(tài)模塊。

      根據(jù)本課程的教學(xué)設(shè)計我們精選C程序設(shè)計課程的教學(xué)內(nèi)容,精心設(shè)計教學(xué)案例和課堂討論題目,實驗類型和實驗內(nèi)容,通過特定的教學(xué)方法來予以實現(xiàn)。

      二、教學(xué)方法

      C程序設(shè)計課程主要采取案例教學(xué)法和實踐教學(xué)法。本課程主講教師利用業(yè)余時間深入大連高新園區(qū)、軟件園區(qū)和軟件行業(yè)的大中小型企業(yè),搜集、整理了大量的教學(xué)案例,有效地運(yùn)用于課堂教學(xué)。通過案例教學(xué),增強(qiáng)了C程序設(shè)計教學(xué)的實務(wù)性和應(yīng)用性,提高了學(xué)生運(yùn)用C程序設(shè)計解決實際問題的能力。在多年的教學(xué)實踐中,總結(jié)了多種C程序設(shè)計的教學(xué)方法和軟件人才培養(yǎng)模式,并在計算機(jī)教育和電腦知識與技術(shù)上發(fā)表。具體方法如下:

      方法之一:實行“1+3案例教學(xué)”的教學(xué)方法

      “1+3案例教學(xué)”的教學(xué)方法是指針對每一個難懂的問題或概念,都會找三個案例程序。一個是非常易于理解概念的例子;一個是引起學(xué)生興趣的例子;一個是現(xiàn)實當(dāng)中非常實用的例子。采用這種方法可以使學(xué)生容易理解難懂的計算機(jī)程序,又能引起學(xué)生的學(xué)習(xí)興趣,還能讓學(xué)生了解企業(yè)的實際應(yīng)用。

      方法之二:突出講授C語言程序設(shè)計的普遍性和特殊性

      程序設(shè)計課程可以分不同層次,C語言只是其中的一種,在這門課的講授中,要突出程序設(shè)計方法的講解,讓學(xué)生分清哪些是C語言所特有的,哪些是通用程序設(shè)計語言所共有的,這樣就可避免講了一種程序設(shè)計語言,再講一種,既不深入也不透徹。當(dāng)日后學(xué)生根據(jù)專業(yè)的使用情況及學(xué)生的具體狀況來選擇某種高級語言作為實際操作語言時,學(xué)生就具有了學(xué)習(xí)程序設(shè)計語言的能力、擴(kuò)展的能力,而不是就學(xué)C語言而學(xué)C語言。但不同的專業(yè)對該課程的要求可以有所差異,但不論哪種情況,都不能停留在某種高級語言的介紹,而是要突出講述程序設(shè)計方法,正確地選擇算法與數(shù)據(jù)結(jié)構(gòu),進(jìn)行正規(guī)的程序設(shè)計訓(xùn)練,這樣才可深入、透徹的了解程序設(shè)計語言的真諦。

      方法之三:強(qiáng)調(diào)“做中學(xué)”的教學(xué)模式

      “做中學(xué)”的教學(xué)模式是指在實際的教學(xué)過程當(dāng)中,不是按照從基礎(chǔ)理論到專業(yè)理論,再到實習(xí)的路徑來展開教學(xué)的,而是把教學(xué)順序完全顛倒過來,先從“做”開始,在做的過程中,以任務(wù)驅(qū)動方式,通過實例講授程序設(shè)計的基本概念和基本方法,重點放在思路上。學(xué)生如遇到問題,再以此問題為基點去學(xué)習(xí)專業(yè)理論。這樣做不僅有利于學(xué)生實踐能力的培養(yǎng),同時也有助于學(xué)生自主學(xué)習(xí)能力和興趣的提高。

      方法之四:采取粗講和細(xì)講的方法,緩解課程內(nèi)容多和學(xué)時相對少的矛盾

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

      方法之五:突出重點,鼓勵和引導(dǎo)探索式學(xué)習(xí)

      《C語言程序設(shè)計》這門課授課的原則是要讓學(xué)生先抓重點而后才是細(xì)節(jié),重點放在思路、算法、編程構(gòu)思和程序?qū)崿F(xiàn)上。語句只是表達(dá)工具,講一些最主要的,細(xì)枝末節(jié)的東西根本不講,讓學(xué)生自學(xué),動手上機(jī)練,計算機(jī)是實踐性極強(qiáng)的學(xué)科,所學(xué)的內(nèi)容和要實踐的東西是一個整體,所以學(xué)生可以自己動手來學(xué),書上看不懂的在機(jī)器上動手試試,往往就弄懂了,因此很多東西完全是可以自學(xué)的。教師應(yīng)引導(dǎo)學(xué)生在解題編程的實踐中探索其中帶規(guī)律性的認(rèn)識,將感性認(rèn)識升華到理性高度,只有這樣,學(xué)生才能舉一反三。在這一過程中教師起著很大的引導(dǎo)作用,要求學(xué)生在課堂上積極思考,盡量當(dāng)堂學(xué)懂,突出上機(jī)訓(xùn)練,在編寫程序的過程中,使學(xué)生提高利用計算機(jī)這個智力工具來分析問題和解決問題的能力。

      方法之六:選擇合適的數(shù)據(jù)結(jié)構(gòu),設(shè)計滿足限定條件的最優(yōu)算法在C語言程序設(shè)計中,用設(shè)計程序解決問題時除了認(rèn)真分析問題之外,最重要的是選擇合適的數(shù)據(jù)結(jié)構(gòu),并設(shè)計滿足限制條件的算法或選擇最優(yōu)的算法。因此,要求學(xué)生要熟練掌握各種常見的數(shù)據(jù)結(jié)構(gòu),深刻理解某些經(jīng)典算法的原理和時間、空間復(fù)雜度,掌握算法設(shè)計的一般步驟。

      方法之七:養(yǎng)成良好的編程習(xí)慣

      讓學(xué)生養(yǎng)成良好的編程習(xí)慣是十分重要的。我們在與國內(nèi)一些軟件公司的技術(shù)人員座談時了解到,中國軟件之所以上不去的原因之一就有“習(xí)慣問題”。印度十個人編程,會編出一樣的東西,而我們十個人編程會有十種風(fēng)格。因為我們忽略了一個重要問題是“顧客”的感受,因為程序的編寫是給別人看的,而不是只給我們自己看的,這樣才更符合軟件規(guī)范的要求。鑒于此,在課堂上我們非常注意讓學(xué)生養(yǎng)成良好的編程習(xí)慣,如:強(qiáng)調(diào)程序的可讀性、規(guī)范性;變量必須加注釋;程序構(gòu)思要有說明;學(xué)會如何調(diào)試程序;盡量使程序優(yōu)化;還要求對程序的運(yùn)行結(jié)果做正確與否的判斷與分析等。

      方法之八:強(qiáng)化實踐教學(xué)模式

      對程序設(shè)計教學(xué)模式進(jìn)行改革,以強(qiáng)調(diào)動手實踐、上機(jī)編程為切入點;以任務(wù)驅(qū)動方式,通過實例講授程序設(shè)計的基本概念和基本方法。重點放在思路上,即:在C/C++語言的環(huán)境下,針對問題進(jìn)行分析,構(gòu)建數(shù)學(xué)模型,提出算法并編程實現(xiàn),同時要求養(yǎng)成良好的編程習(xí)慣,在此過程中培養(yǎng)學(xué)生的思維能力和動手能力,鼓勵學(xué)生探索、研究和創(chuàng)新。只有讓學(xué)生動手,才會有成就感,進(jìn)而對本課程產(chǎn)生興趣,學(xué)起來效果才比較好。因此,我們的基本思想應(yīng)該是在理論指導(dǎo)下,讓學(xué)生動手、動腦更多地上機(jī)實踐。因為學(xué)生只有在編寫大量程序之后,才能獲得真知灼見,感到運(yùn)用自如。注重學(xué)生動手能力的培養(yǎng)是這門課和以往課程最大的不同之處。

      三、教學(xué)手段

      為了實現(xiàn)本課程確立的教學(xué)目標(biāo),落實教學(xué)內(nèi)容,改革教學(xué)方法,提高教學(xué)效率,我們利用課程組教師的優(yōu)勢,應(yīng)用現(xiàn)代教育技術(shù),長期地進(jìn)行了教學(xué)手段的改革和信息化建設(shè),并取得了很好的成果。

      (一)多媒體教學(xué)

      《C程序設(shè)計》課程在我校是最先采用了現(xiàn)代信息技術(shù)、應(yīng)用多媒體技術(shù)進(jìn)行課堂教學(xué)的課程之一。本課程組的全體教師早已全部掌握了應(yīng)用多媒體信息技術(shù)進(jìn)行課堂教學(xué),制作了多媒體課件和多媒體教學(xué)案例。通過多媒體教學(xué),突破了傳統(tǒng)教學(xué)手段的時空限制,節(jié)省了大量寶貴時間,增加了課堂教學(xué)的信息量,使課堂教學(xué)形象化、生動化。隨著現(xiàn)代信息技術(shù)的不斷發(fā)展,這些多媒體課件在實際應(yīng)用中也在不斷的修改和完善,其質(zhì)量不斷提高,教學(xué)效果也非常好,受到了學(xué)生的普遍好評。

      (二)網(wǎng)絡(luò)教學(xué)

      本課程組較早就開始著手進(jìn)行網(wǎng)絡(luò)教學(xué)系統(tǒng)的開發(fā)建設(shè),目前網(wǎng)上教學(xué)資源已經(jīng)十分豐富,極大地方便了教師與學(xué)生之間的交流。在網(wǎng)絡(luò)平臺上,學(xué)生可以看到與C程序設(shè)計課程相關(guān)的所有資料。教師給學(xué)生布置作業(yè),學(xué)生可以在網(wǎng)上直接作答,教師在網(wǎng)上直接批閱。學(xué)生在學(xué)習(xí)中遇到問題,可以在網(wǎng)上直接向教師請教和討論。通過課內(nèi)教學(xué)與課外研討相結(jié)合的方式,使教與學(xué)有機(jī)地融合在一起,有利于學(xué)生充分消化和理解教學(xué)內(nèi)容。

      (三)實驗教學(xué)

      我們在開展案例教學(xué)的同時,積極開展實驗教學(xué)。通過實驗教學(xué),指導(dǎo)學(xué)生自己動手完成各項業(yè)務(wù)操作,使學(xué)生驗證、理解、鞏固了所學(xué)的計算機(jī)知識;指導(dǎo)學(xué)生運(yùn)用所學(xué)的知識,分析和解決實際問題,使知識轉(zhuǎn)化為能力。在驗證實驗和應(yīng)用實驗的基礎(chǔ)上,指導(dǎo)學(xué)生進(jìn)行開拓型訓(xùn)練,使學(xué)生拓展了思維,增強(qiáng)了創(chuàng)新能力。

      在學(xué)時安排上,理論教學(xué)與上機(jī)實踐的學(xué)時比例基本為1:1。本課程設(shè)置“驗證型實驗教學(xué)+設(shè)計型實驗+綜合型實驗教學(xué)”的實驗教學(xué)體系,構(gòu)建遞階型實踐教學(xué)模式,驗證型實驗教學(xué)是與理論課同時進(jìn)行的上機(jī)實習(xí);設(shè)計型實驗是與理論課同時進(jìn)行的學(xué)生自行設(shè)計的運(yùn)用理論學(xué)習(xí)內(nèi)容進(jìn)行實際開發(fā)的實驗;綜合型實驗教學(xué)是理論課講授完畢后的集中實訓(xùn),是綜合能力的訓(xùn)練。對程序設(shè)計教學(xué)模式進(jìn)行改革,強(qiáng)化實踐教學(xué),以強(qiáng)調(diào)動手實踐、上機(jī)編程為切入點,是本門課程的特色。

      四、教改舉措

      (一)精選教學(xué)內(nèi)容,改革課程設(shè)計,實行“基礎(chǔ)知識+基本技能+項目實踐+技術(shù)延伸”的教學(xué)理念

      根據(jù)軟件人才的培養(yǎng)目標(biāo),我們精選C程序設(shè)計課程的教學(xué)內(nèi)容,精心設(shè)計教學(xué)案例和課堂討論題目,突出創(chuàng)新型、應(yīng)用型人才的培養(yǎng)。

      基礎(chǔ)知識涵蓋該課程的主要知識點;基本技能則通過實驗案例來訓(xùn)練學(xué)生的基本項目開發(fā)技能,鞏固提高學(xué)生對基本知識點的理解;項目實踐通過項目形式,訓(xùn)練學(xué)生的綜合能力;技術(shù)延伸則涵蓋相關(guān)領(lǐng)域的最新技術(shù)發(fā)展,屬于不斷更新的動態(tài)模塊。

      (二)改革教學(xué)方法,實行“1+3案例教學(xué)”的教學(xué)方法

      摒棄了過去傳統(tǒng)的灌輸式教學(xué)方式,采用靈活案例式教學(xué)方法和實踐教學(xué)方法。尤其是采用實用、有效的“1+3案例教學(xué)”的教學(xué)方法。即針對每一個難懂的問題或概念,都會找三個案例程序。一個是非常易于理解概念的例子;一個是引起學(xué)生興趣的例子;一個是現(xiàn)實當(dāng)中非常實用的例子。采用這種方法可以使學(xué)生容易理解難懂的計算機(jī)程序,又能引起學(xué)生的學(xué)習(xí)興趣,還能讓學(xué)生了解企業(yè)的實際應(yīng)用,提高了學(xué)生的實踐能力。

      (三)改革作業(yè)形式

      布置的作業(yè)題側(cè)重于應(yīng)用性,訓(xùn)練學(xué)生應(yīng)用能力。在作業(yè)的布置和批改上,均通過網(wǎng)上進(jìn)行。

      (四)改革實驗形式

      為強(qiáng)調(diào)“以學(xué)生為中心”的實驗教學(xué)模式,自主開發(fā)了“C 程序設(shè)計網(wǎng)絡(luò)化實驗教學(xué)平臺”。

      (五)改革考試形式

      為輔助教師加強(qiáng)對學(xué)生實踐環(huán)節(jié)的考核,自主開發(fā)了“C 程序設(shè)計網(wǎng)絡(luò)化考試軟件”,以保證實驗教學(xué)的質(zhì)量。

      (六)改革教學(xué)模式,強(qiáng)調(diào)“做中學(xué)”

      “做中學(xué)”的教學(xué)模式是指在實際的教學(xué)過程當(dāng)中,不是按照從基礎(chǔ)理論到專業(yè)理論,再到實習(xí)的路徑來展開教學(xué)的,而是把教學(xué)順序完全顛倒過來,先從“做”開始,在做的過程中,以任務(wù)驅(qū)動方式,通過實例講授程序設(shè)計的基本概念和基本方法,重點放在思路上。學(xué)生如遇到問題,再以此問題為基點去學(xué)習(xí)專業(yè)理論。這樣做不僅有利于學(xué)生實踐能力的培養(yǎng),同時也有助于學(xué)生自主學(xué)習(xí)能力和興趣的提高。

      第三篇:錯誤案例教學(xué)法在C語言教學(xué)的應(yīng)用論文[范文]

      摘要:C語言程序設(shè)計是一門為許多高校包括獨(dú)立學(xué)院的非計算機(jī)專業(yè)理工系學(xué)生開設(shè)的一門公共選修課程,其課程設(shè)置目標(biāo)是培養(yǎng)理工類非計算機(jī)專業(yè)學(xué)生的編程思維和編程能力。筆者基于多年來對“C語言程序設(shè)計”課程的實際教學(xué)經(jīng)驗,發(fā)現(xiàn)把編程錯誤案例進(jìn)行搜集和分析以及討論的教學(xué)法融入C語言教學(xué)中,能讓學(xué)生有更好的分析問題、解決問題的能力,并且可以大大提高編程效率。

      關(guān)鍵詞:C語言程序;編程思維;錯誤案例教學(xué)法

      1C語言中錯誤類型和產(chǎn)生的原因

      1.1C語言程序中的錯誤分類

      在C語言學(xué)習(xí)編程過程中,一般是三種錯誤,語法錯誤、邏輯錯誤以及運(yùn)行錯誤。

      (1)語法錯誤:沒有按照語言的規(guī)范進(jìn)行編程而產(chǎn)生的錯誤。如缺少標(biāo)點符號,變量沒有申明,變量類型出錯,函數(shù)名稱寫錯等等,這些語法錯誤機(jī)器一般會給出提示,比如Error和Warning,在運(yùn)行的時窗口下會顯示錯誤的個數(shù)以及出錯的原因等信息,很容易被發(fā)覺,如果沒有修改則會影響整個程序的運(yùn)行。

      (2)邏輯錯誤:程序可以正常運(yùn)行,但是得不到預(yù)期的結(jié)果。常見錯誤有復(fù)合語言的花括號后加分號,輸入輸出的數(shù)據(jù)類型與所用格式說明符不一致等等。而這樣的邏輯錯運(yùn)行時候并沒有提示,比較難發(fā)現(xiàn),對于初學(xué)者而言比較困難,只有在編程中進(jìn)行系統(tǒng)和全面的考慮才能避免邏輯錯誤。

      (3)運(yùn)行錯誤:在既沒有語法編譯錯誤,也無語法邏輯錯誤的情況下程序運(yùn)行時發(fā)生的錯誤或者程序會忽然停止運(yùn)行,比如類型溢出,數(shù)字表達(dá)式格式有誤,除零錯誤等等。

      1.2程序錯誤解析

      (1)為申明變量或使用一些沒有賦值的自動變量:C語言是一門十分嚴(yán)謹(jǐn)?shù)某绦蛘Z言,必須嚴(yán)格遵守變量必須先申明后使用的原則,但是很多初學(xué)者沒有養(yǎng)成良好的編程習(xí)慣就會忘記,直接使用,這樣就會不斷有提示變量未定義的錯誤。

      (2)不區(qū)分字母的大小寫:在C語言中,大小寫字母是不同的字符,比如A和a表示的是兩個不同的變量。

      (3)分號的亂用:由于分號是C語言的重要組成部分,比如簡單語句以分號為結(jié)束標(biāo)志,復(fù)合語句是用一對花括號括起來的一組語句,空語句只有一個分號。學(xué)生很容易忘記加分號,或者多加分號。

      (4)賦值符號當(dāng)成“=”使用:在很多人的思維里面“=”符號是“等于”的關(guān)系,如A=36,就認(rèn)為是左邊的A等于右邊的36,實際上是把右邊的36賦值給左邊的A,如果學(xué)生的思維停留在前者“等于”的關(guān)系,就會明顯出現(xiàn)編譯的錯誤。

      (5)數(shù)據(jù)類型定義錯誤,造成數(shù)據(jù)的溢出:C語言中的整數(shù)數(shù)據(jù)類型在-32768到32767之間,由于很多時候編寫程序都是用的是inta,b,一些初學(xué)者都會默認(rèn)用int來定義所有的變量,忽略了數(shù)據(jù)類型的范圍,一旦結(jié)果超出了這個范圍,甚至是小數(shù),就會得到不一樣的結(jié)果,而這個結(jié)果可能在程序的運(yùn)行并不報錯,也比較難發(fā)現(xiàn)。綜上所述,這些錯誤很多都是學(xué)習(xí)程序的學(xué)生沒有養(yǎng)成良好的編程習(xí)慣而造成,這樣的錯誤防不勝防。只有在錯誤中學(xué)習(xí),不斷對錯誤進(jìn)行分析,才能提高自身的編程能力。

      2基于錯誤案例培養(yǎng)的C語言程序設(shè)計改革的具體措施

      2.1對錯誤案例進(jìn)行搜集和分類

      搜集錯誤案例是一項艱苦的勞動,需要花費(fèi)一定的時間和精力。首先教師需要明確C語言課程的所有教學(xué)內(nèi)容,對錯誤案例的搜集也要有針對性,對于教師的要求就是需要研讀教材,根據(jù)教學(xué)的對象和教學(xué)內(nèi)容知識點分布,搜集實踐教學(xué)中記錄的錯誤日志文件,進(jìn)行錯誤案例設(shè)計,并對錯誤案例進(jìn)行評估,記錄學(xué)生在分析錯誤案例中遇到的問題和反應(yīng),從而擬定相應(yīng)的教學(xué)方案。其次可以讓學(xué)生組織興趣小組,大約5-6人一組,這樣可以減輕教師的工作,可以由組長協(xié)助教師和組員對于提交的錯誤進(jìn)行分類和整理,甚至可以按章節(jié)按知識點進(jìn)行分類,因為學(xué)生編程過程中肯定有很多重復(fù)的錯誤,如果一一進(jìn)行上報和記錄會非常繁瑣,組長只需對錯誤的類別和錯誤的頻率進(jìn)行記錄,就會很有利的協(xié)助教師進(jìn)行錯誤案例的設(shè)計。最后即學(xué)生自己的工作,因為真正需要學(xué)習(xí)實踐的是學(xué)生本人,雖然每個組有組長,但是組長同樣也是學(xué)生,他(她)的工作是既要保證自己的學(xué)習(xí),也要匯總其他組員的學(xué)習(xí)情況,工作比較繁重,所以最好要求每一個學(xué)生自己也準(zhǔn)備錯誤日志筆記本,對自己在實踐練習(xí)中出現(xiàn)的問題,涉及到的知識點,疑問,錯誤的原因進(jìn)行整理和記錄,當(dāng)然如果學(xué)生覺得時間有限,也可以用手機(jī)進(jìn)行拍照,如果能通過翻閱圖書,搜索網(wǎng)絡(luò)的方式改正錯誤更好,實在沒有能力改正可以去請教其他組員和教師,這樣更能加深對錯誤的記錄,尤其需要關(guān)注編程過程中經(jīng)常出現(xiàn)的典型問題,這類問題可能經(jīng)過多次調(diào)試也沒有結(jié)果,需要加強(qiáng)對待,如果經(jīng)過大家的幫忙或老師的指導(dǎo)后有了解決方案也需要記錄下來,以備下次練習(xí)出現(xiàn)相關(guān)性問題可以自行解決。

      2.2對錯誤案例進(jìn)行分析和討論

      通過上面的途徑,教師匯總了課堂教學(xué)中的錯誤案例后,就可以進(jìn)行典型錯誤案例設(shè)計,可以在課堂正常教學(xué)中穿插講解,比如可以先對學(xué)生提出錯誤案例問題,引導(dǎo)學(xué)生探索錯誤案例涉及的知識點,疑問,最終的解決方案等等。比如講解選擇結(jié)構(gòu)的錯誤案例代碼,可以先詢問學(xué)生這段錯誤的案例代碼主要是什么結(jié)構(gòu)?如果是選擇結(jié)構(gòu),再從頭到尾分析代碼的步驟,根據(jù)所學(xué)流程圖的知識,讓學(xué)生根據(jù)此段代碼畫出該程序的簡單流程圖。再通過對流程圖的講解很自然引出選擇結(jié)構(gòu)的語法知識點,并找出該代碼真正錯誤的原因,最后讓學(xué)生列舉出日常生活中涉及到選擇結(jié)構(gòu)即條件判斷的例子。教師還可以根據(jù)錯誤的類型在實踐環(huán)節(jié)中給出相應(yīng)的錯誤代碼,讓學(xué)生檢驗課堂學(xué)習(xí)的效果,避免編程過程中犯同類錯誤,在更正錯誤的過程中發(fā)現(xiàn)積極性,培養(yǎng)良好的編程習(xí)慣。

      2.3教學(xué)效果及評價

      通過在C語言程序課教學(xué)中引入錯誤案例學(xué)習(xí),既能提高學(xué)生自主學(xué)習(xí)的效率、在實踐中取得了更好的教學(xué)效果,也能大大提高學(xué)生的編程能力,例如,學(xué)生在定義數(shù)組的時候容易忽視數(shù)組的個數(shù),可能會錯誤地使用下標(biāo)的數(shù)字,只要教師在錯誤案例中重復(fù)申明該類錯誤,學(xué)生才會加深記憶,經(jīng)過強(qiáng)調(diào)學(xué)生則會避免此類錯誤。通過對上課學(xué)生進(jìn)行匿名問卷調(diào)查發(fā)現(xiàn),100%的學(xué)生認(rèn)為采用錯誤案例分析和討論的學(xué)習(xí)模式比傳統(tǒng)教師課堂填鴨式講授語法知識點的模式更能提高自己的學(xué)習(xí)能力和學(xué)習(xí)效率。

      3結(jié)論

      想要提高C語言的編程能力,以及提高教學(xué)效果,可以從錯誤案例的搜集與分類開始,再引導(dǎo)學(xué)生通過錯誤案例分析與討論解決實際問題,理清課程知識體系。錯誤案例教學(xué)法的運(yùn)用有利于學(xué)生程序思維的建立,有利于學(xué)生程序設(shè)計能力的提高,同時對促進(jìn)教學(xué)改革和加強(qiáng)素質(zhì)教育有著積極的意義。在實際編程過程中還有其他的可能性,這需要教師在以后的教學(xué)過程中更要留心,更要注意錯誤經(jīng)驗的積累,所以研究此問題不僅僅可以提高學(xué)生的編程能力,而且對于教師自身教學(xué)技能理論加強(qiáng)也有著重要的實際意義。

      參考文獻(xiàn):

      [1]余麗紅,龍諾春,林春景.C語言實踐中易出現(xiàn)的編程錯誤及解答[J].數(shù)字技術(shù)與應(yīng)用,2014(8):220-221.[2]楊冬云.C語言學(xué)習(xí)中幾個常見典型錯誤分析[J].電腦知識與技術(shù),2017,13(13):65-66.[3]薛非.品悟C:拋棄C程序設(shè)計中的謬誤與惡習(xí)[M].北京:清華大學(xué)出版社,2012.[4]于啟紅.案例教學(xué)法在編程語言課程中的作用探討[J].計算機(jī)時代,2014(11):62-64.

      第四篇:C語言課堂教學(xué)案例

      C語言課堂教學(xué)案例

      2、輸入三角形三邊長,求三角形面積。#include “math.h” main(){

      float a,b,c,s,area;

      scanf(“%f ,%f,%f”,&a,&b,&c);s=1.0/2*(a+b+c);

      area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“area=%fn”,area);}

      例2 從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。#include main(){

      char c1,c2;

      c1=getchar();

      printf(“%c,%dn”,c1,c1);

      c2=c1+32;

      printf(“%c,%dn”,c2,c2);}

      【例2】輸入并運(yùn)行程序,寫出運(yùn)行結(jié)果。main(){

      int a,b,sum;

      a=123;b=456;

      sum=a+b;

      printf(“sum is %dn”,sum);}

      1、已知三個數(shù)a,b,c,找出最大值放于max中。#include “stdio.h” main(){

      int a,b,c,max;

      /*定義四個整型變量*/ scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);if(a>=b)

      max=a;

      /*a>=b*/ else

      max=b;

      /*amax)

      max=c;

      /*c是最大值*/ printf(“max=%d”,max);}

      2、輸入某學(xué)生的成績,經(jīng)處理后給出學(xué)生的等級,等級分類如下:

      90分以上(包括90): A

      80至90分(包括80):B

      70至80分(包括70):C

      60至70分(包括60):D

      60分以下:E

      #include“stdio.h” main(){

      int score;

      char grade;

      printf(“nplease input a student score:”);

      scanf(“%d”,&score);

      if(score>100||score<0)

      printf(“ninput error!”);

      else

      { if(score>=90)

      grade='A';

      else

      { if(score>=80)

      grade='B';

      else

      {if(score>=70)grade='C';

      else

      { if(score>=60)grade='D';else grade='E';

      }

      }

      }

      printf(“nthe student grade:%cn”,grade);

      } }

      方法二:用switch語句

      #include“stdio.h” main(){ int g,s;char ch;printf(“ninput a student grade:”);scanf(“%d”,&g);s=g/10;if(s<0||s>10)printf(“ninput error!”);else { switch(s){ case 10: case 9: ch='A';break;case 8: ch='B';break;case 7: ch='C';break;case 6: ch='D';break;default: ch='E';} printf(“nthe student scort:%cn”,ch);} }

      【程序6】

      題目:用*號輸出字母C的圖案。

      1.程序分析:可先用’*’號在紙上寫出字母C,再分行輸出。2.程序源代碼: #include“stdio.h” main(){

      printf(“hello c-worldn”);

      printf(“ ***n”);

      printf(“ *n”);

      printf(“*n”);

      printf(“*n”);

      printf(“*n”);

      printf(“ ****n”);}

      =============== 【程序7】

      題目:輸出特殊圖案,請在c環(huán)境中運(yùn)行,看一看,Very Beautiful!1.程序分析:字符共有256個。不同字符,圖形不一樣。

      2.程序源代碼:

      #include “stdio.h“ main(){ char a=176,b=219;printf(“%c%c%c%c%cn“,b,a,a,a,b);printf(“%c%c%c%c%cn“,a,b,a,b,a);printf(“%c%c%c%c%cn“,a,a,b,a,a);printf(“%c%c%c%c%cn“,a,b,a,b,a);printf(“%c%c%c%c%cn“,b,a,a,a,b);}

      =============== 【程序8】

      題目:輸出9*9口訣。

      1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。2.程序源代碼: #include “stdio.h” main(){ int i,j,result;printf(“n”);for(i=1;i<10;i++){

      for(j=1;j<10;j++)

      {

      result=i*j;

      printf(“%d*%d=%-3d”,i,j,result);/*-3d表示左對齊,占3位*/

      } } } printf(“n”);/*每一行后換行*/

      ===============

      【程序9】

      題目:要求輸出國際象棋棋盤。

      1.程序分析:用i控制行,j來控制列,根據(jù)i+j的和的變化來控制輸出黑方格,還是白方格。2.程序源代碼: #include“stdio.h” main(){int i,j;for(i=0;i<8;i++){for(j=0;j<8;j++)if((i+j)%2==0)printf(“%c%c”,219,219);else

      printf(“ n”);} } =============== 【程序10】

      題目:打印樓梯,同時在樓梯上方打印兩個笑臉。

      1.程序分析:用i控制行,j來控制列,j根據(jù)i的變化來控制輸出黑方格的個數(shù)。2.程序源代碼:

      #include“stdio.h” main(){ int i,j;printf(“11n”);/*輸出兩個笑臉*/

      } for(i=1;i<11;i++){ for(j=1;j<=i;j++)

      printf(“%c%c”,219,219);} printf(“n”);

      【程序5】

      題目:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。1.程序分析:我們想辦法把最小的數(shù)放到x上,先將x與y進(jìn)行比較,如果x〉y則將x與y的值進(jìn)行交換,然后再用x與z進(jìn)行比較,如果x〉z則將x與z的值進(jìn)行交換,這樣能使x最小。2.程序源代碼:

      main(){ int x,y,z,t;scanf(“%d%d%d”,&x,&y,&z);if(x>y){t=x;x=y;y=t;} /*交換x,y的值*/ if(x>z){t=z;z=x;x=t;}/*交換x,z的值*/ if(y>z){t=y;y=z;z=t;}/*交換z,y的值*/ printf(“small to big: %d %d %dn”,x,y,z);}

      ===============

      【程序23】

      題目:打印出如下圖案(菱形)* *** ****** ******** ****** *** * 1.程序分析:先把圖形分成兩部分來看待,前四行一個規(guī)律,后三行一個規(guī)律,利用雙重for循環(huán),第一層控制行,第二層控制列。2.程序源代碼:

      main(){

      int i,j,k;for(i=0;i<=3;i++){ for(j=0;j<=2-i;j++)

      printf(“ ”);for(k=0;k<=2*i;k++)

      printf(“*”);printf(“n”);} for(i=0;i<=2;i++){ for(j=0;j<=i;j++)

      printf(“ ”);for(k=0;k<=4-2*i;k++)

      printf(“*”);printf(“n”);} }

      【程序34】

      題目:練習(xí)函數(shù)調(diào)用 1.程序分析: 2.程序源代碼: #i nclude

      } void three_hellos(void){ int counter;for(counter = 1;counter <= 3;counter++)hello_world();/*調(diào)用此函數(shù)*/ } void main(void){ three_hellos();/*調(diào)用此函數(shù)*/ }

      ===============

      【程序37】

      題目:對10個數(shù)進(jìn)行排序

      1.程序分析:可以利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換,下次類推,即用第二個元素與后8個進(jìn)行比較,并進(jìn)行交換。

      2.程序源代碼:

      #define N 10 main(){ int i,j,min,tem,a[N];/*input data*/

      printf(“please input ten num:n”);for(i=0;i

      scanf(“%d”,&a[i]);} printf(“n”);for(i=0;i

      printf(“%5d”,a[i]);printf(“n”);

      /*sort ten num*/ for(i=0;i

      for(j=i+1;j

      if(a[min]>a[j])

      min=j;

      tem=a[i];

      a[i]=a[min];

      a[min]=tem;} /*output data*/ printf(“After sorted n”);for(i=0;i

      ===============

      【程序40】

      題目:將一個數(shù)組逆序輸出。

      1.程序分析:用第一個與最后一個交換。2.程序源代碼:

      #define N 5 main(){ int a[N]={9,6,5,4,1},i,temp;printf(“n original array:n“);

      for(i=0;i

      for(i=0;i

      a[i]=a[N-i-1];

      a[N-i-1]=temp;} printf(“n sorted array:n“);for(i=0;i

      }

      【程序66】

      題目:輸入3個數(shù)a,b,c,按大小順序輸出。

      1.程序分析:利用指針方法。2.程序源代碼: /*pointer*/ main(){ int n1,n2,n3;int *pointer1,*pointer2,*pointer3;printf(“please input 3 number:n1,n2,n3:”);scanf(“%d,%d,%d”,&n1,&n2,&n3);pointer1=&n1;pointer2=&n2;pointer3=&n3;if(n1>n2)swap(pointer1,pointer2);if(n1>n3)swap(pointer1,pointer3);if(n2>n3)swap(pointer2,pointer3);printf(“the sorted numbers are:%d,%d,%dn”,n1,n2,n3);} swap(p1,p2)int *p1,*p2;{int p;p=*p1;*p1=*p2;*p2=p;} ===============

      【程序70】

      題目:寫一個函數(shù),求一個字符串的長度,在main函數(shù)中輸入字符串,并輸出其長度。

      1.程序分析: 2.程序源代碼:

      main(){ int len;char *str[20];printf(“please input a string:n”);scanf(“%s”,str);len=length(str);printf(“the string has %d characters.”,len);} length(p)char *p;{ int n;n=0;while(*p!='