999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C++教學中的知識點邏輯關系探討

2016-12-21 00:59:50董鑫正單緬傅曉陽
計算機教育 2016年9期

董鑫正+單緬+傅曉陽

摘要:針對c++教學中知識點較多并且零散的問題,通過分析知識點之間的邏輯關系,提出以函數、變量、流程控制3個核心知識點為中心的橫向分類和縱向分層的知識點結構圖。

關鍵詞:c++;知識點;函數;變量;流程控制

對于大部分學生來講,從編程零基礎到掌握程序設計的基本思想和方法,需要轉變思維方式,從新的角度去認識和分析問題,有一定的困難要克服。c++課程本身包含很多零散的知識點,且有較強的實踐性,學習起來也有一定的困難。承擔學生與課程之間橋梁角色的教師,如何根據學生的認知特點和課程中知識點之間的固有聯系,有效組織知識結構,合理安排教學計劃,以達到理想的教學效果,是一個值得探討的問題。

1.知識點的聚類

針對c++語言包含很多零散知識點的問題,通過知識點之間的聯系,采用層次聚類的思想來構建知識點的樹狀圖,發現核心知識點,實現知識點“由多到少”。樹狀圖共有四層,首層是表示c++全部知識點的根結點,第二層是核心知識點,第三層是主題知識點,對應教材上的章,第四層是基本知識點,對應每一章包含的多個具體的知識點。常見的c++教材上關于章節的安排,可以看作是第四層到第三層聚類。本文的重點在于第三層到第二層的聚類,從而發現核心知識點,幫助學生抓住重點,掌握本質。

1.1主題知識點

c++教材上章節的劃分實際上都屬于基本知識點到主題知識點的聚類。這里參考文獻的章節劃分,根據實際的教學安排有部分調整,整理后的主題知識點見表1。

1.2核心知識點

通過教學實踐的總結以及對主題知識點和基本知識點的進一步分析發現,所有的內容圍繞3個核心的知識點展開,即程序設計的基本概念:函數、變量、流程控制。把表1中的主題知識點按這3個核心知識點進行劃分,結果如圖1(橫向來看)所示。

函數是c++中的基本概念,也是c++程序的基本組成部分。圍繞函數展開的主題知識點有主函數、自定義函數、多文件結構、類、構造函數、拷貝構造函數、靜態成員函數、運算符重載、模板。主要內容包含主函數、自定義函數、類成員函數、模板函數等。

變量也是C++中的基本概念,變量包含四要素:名稱、類型、值、地址。相關的概念有常量和字面量:常量也包含四要素,但值不能修改;字面量包含三要素,類型、值和地址,沒有名稱,直接用值,且值不能修改。類型是變量的四要素之一,與類型相關的章節都屬于變量相關的內容。圍繞變量展開的主題知識點有:基本類型和變量、表達式、多文件結構、數組、指針、引用、結構、類、繼承、模板。主要內容包含基本類型、構造類型、類類型、類模板等。

函數和變量包含的主題知識點中有3個是重疊的:多文件結構、類、模板,這3個主題知識點即涉及函數部分,也涉及變量部分。

流程控制相對簡單,體現在兩個方面:一是內容較少,只包含兩個主題知識點;二是比較獨立,與另外兩個核心知識點之間沒有相互交叉。主要內容是流程控制,即順序、分支和循環3種流程控制結構。

2.知識點的展開

知識點的聚類從橫向上對知識點進行分類,實現了知識點“由多到少”的目標;而知識點的展開則基于學生的認知規律,從縱向上對知識點由淺人深,以盡量減少學生學習時遇到的困難。這里的基本原則是以問題為驅動,逐步完善解決問題的方法,一方面我們要解決的問題或示例從簡單到復雜;另一方面,我們采用的解決問題的方法根據問題的規模和類型逐步擴展。這里方法的展開也以函數、變量、流程控制3個核心概念為基礎,分層遞進。從縱向來看,可分為單函數和基本類型、多函數和構造類型、面向對象3個層次,如圖1(縱向來看)所示。

3個層次的遞進依據兩條線索,一是函數,二是變量,即3個核心知識點的前兩個。函數從單個確定函數原型的主函數到多個用戶自定義函數。變量的擴展主要體現在數據類型,如圖2所示,為了突出重點,省略了枚舉類型、聯合類型、空類型等。從基本類型到構造類型,再到類類型,前兩個層次中變量和函數是分離的,在第3層類類型中,變量和函數統一到類的概念里,成為成員變量和成員函數。

2.1單函數和基本類型

單函數即只有一個主函數。最簡單的C++程序由一個主函數組成,主函數是c++程序的人口,每個程序有且僅有一個主函數。函數是C++程序的基本組成單元,從而引入了函數的概念。

變量包含名稱、類型、值、地址四要素,定義變量之前先要有類型,c++中最簡單的類型是基本類型,基本類型包括整型、字符型、浮點型和布爾型。運算符主要包含算術運算符、關系運算符、邏輯運算符,使用運算符把變量連接起來組成表達式,表達式可以作為更復雜的語句的子表達式,或者加上分號成為獨立的語句。

流程控制包含順序、分支、循環3種結構,分支包含if和switch兩種形式,循環包含while、do....while、for 3種形式。

掌握了主函數、變量和基本類型、流程控制等基本概念,便掌握程序設計的基礎,可以用來解決基本的數學計算問題,如累加求和、判斷素數等問題。

2.2多函數和構造類型

對于稍微復雜一些的問題,只有一個主函數已經不能很好地解決問題,這時就需要引入自定義函數。自定義函數主要包含兩方面的內容,一是函數的定義、聲明與調用;二是幾種特殊的函數形式,如遞歸、內聯、重載、默認參數函數等。當程序中的函數很多時,為了方便組織管理,會放在多個文件中,并提供相應的頭文件,便有了多文件結構。對于變量,也需要考慮在多文件結構下的情況,主要是針對全局變量。單函數、單文件的程序主要用于實驗驗證,多函數、多文件結構才是工程項目中的一般形式。

變量方面,在基本類型上作進一步的擴展,引入了4種新的構造類型:數組、指針、引用和結構體。構造類型實際上提供了新類型的構造方法,從而提供在4種基本類型的基礎上構造任意組合類型的可能。這里的重點是如何用構造類型定義變量及該類型變量的特性。對于結構體類型,除了定義變量,還需要掌握定義新的結構體類型的方法。雖然C++的關鍵字struct和class有基本一致的功能(除了默認的成員訪問權限不同),本文中的struct僅用于定義C語言樣式的結構體。

自定義函數和構造類型的引入,為我們解決復雜問題提供了基本的表達方法。尤其是結構體變量的引入,以基本類型為基礎,通過多次嵌套組合成合適的構造類型,從而使表達復雜的數據結構成為可能。

說到函數與變量的關系,重點在于不同類型的變量作為函數參數所表現的差異。調用函數時使用的參數叫實參,定義函數時的參數叫形參,實參向形參的傳遞方式是值傳遞,即實參的值單向傳遞給形參。當參數類型是指針或引用時,在函數中對形參所指向變量的修改會影響到實參所指向的變量,數組作為函數參數時按指針類型處理。當參數類型非指針或引用時,在函數中對形參的修改則不會影響實參變量。

2.3面向對象

以上兩個層次屬于面向過程的內容,第三個層次是面向對象的內容。對于大型的工程項目,面向過程的方法顯得力不從心,而面向對象方法則提供了更高程度的抽象,以便于對問題的描述和工程的組織。

我們仍然從函數和變量的角度來理解面向對象。前面提到過函數和變量的關系,一方面變量可以作為函數參數或返回值,另一方面變量可以作為變量的成員(通過使用結構體)。以此為基礎,現在提出兩個問題引導學生:函數可以作為函數參數或返回值嗎?函數可以作為變量的成員嗎?對于第一個問題,可以接受函數作為參數或返回函數的函數稱為高階函數,c++并不支持,但c++中通過函數指針可以實現以函數作為另一個函數參數,只是并不作為初學者的重點內容。對于第二個問題,函數可以作為變量的成員,這樣變量便可以擁有數據成員和函數成員,這便是面向對象的構造基礎。

類概念的引入,便是在結構體的基礎之上增加了對函數成員的支持。這樣,對類的認識,可以從成員變量、成員函數的角度來理解。當然,也有特殊的成員函數,比如構造函數、析構函數、拷貝構造函數,都是新的概念,需要與成員變量結合起來理解。類的訪問控制實現了對封裝性的支持,靜態成員使成員函數或成員數據能夠不依賴于對象而獨立存在,友元使類的非成員函數能訪問類的非公有成員以提高效率。類的繼承提供了高效的代碼復用機制,并通過虛函數實現了對多態性的支持。運算符重載是特殊的函數重載,主要是為了提高可讀性。模板是泛型編程技術,實現了類型的參數化。

異常處理屬于流程控制,使我們能夠將問題的檢測和問題的解決分離,這樣程序的問題檢測部分可以不必了解如何處理問題。

3.結語

根據C++的3個核心知識點即函數、變量、流程控制,橫向上進行分類以求由繁到簡,縱向進行分層以求由淺入深,是引導學生初步掌握包含較多零散知識點的程序設計課程的一種有效方法。在教學實踐中,以文中提出的知識點結構圖為參考,強調初學者要抓住重點、夯實基礎,建立新的知識點與核心知識點的聯系,使整體的教學效果有了一定的提升。

主站蜘蛛池模板: 久久婷婷五月综合色一区二区| 欧美成人国产| 伊人色天堂| 亚洲va视频| 综合久久久久久久综合网| 成人av专区精品无码国产| 婷婷六月激情综合一区| 精品久久久久成人码免费动漫| 国产日韩精品欧美一区喷| 国产情精品嫩草影院88av| 日本福利视频网站| 国产综合欧美| 亚洲综合香蕉| 亚洲人人视频| 高清不卡一区二区三区香蕉| 中文成人无码国产亚洲| 日韩亚洲综合在线| 欧美日韩成人在线观看| 国产毛片片精品天天看视频| 91在线国内在线播放老师| 中文字幕亚洲无线码一区女同| 成人精品亚洲| 狠狠色噜噜狠狠狠狠奇米777| 免费一级毛片不卡在线播放| 热久久这里是精品6免费观看| 国产成人成人一区二区| 久996视频精品免费观看| 91精品福利自产拍在线观看| 国产成人久久777777| 人妻少妇乱子伦精品无码专区毛片| 国产一区二区网站| 爽爽影院十八禁在线观看| 国产一级妓女av网站| 成人午夜福利视频| 免费视频在线2021入口| 国产精品亚洲欧美日韩久久| 久久精品只有这里有| 东京热av无码电影一区二区| 日本三级精品| 99久久精品免费看国产电影| 毛片基地视频| 男女性午夜福利网站| 国产h视频在线观看视频| 成人福利在线观看| 一级成人a毛片免费播放| 精品成人一区二区三区电影| 国产浮力第一页永久地址| 欧美日韩成人| 91精品视频网站| 亚洲国产日韩欧美在线| 色播五月婷婷| 国产欧美性爱网| 九九九国产| 亚洲aaa视频| 亚洲AV无码久久精品色欲| 国产手机在线观看| 久久人体视频| 在线观看网站国产| 在线亚洲小视频| 亚洲av无码片一区二区三区| 亚洲女人在线| 久久精品中文字幕少妇| 国产精品成人一区二区| 久久中文字幕av不卡一区二区| 四虎永久免费在线| 免费一级大毛片a一观看不卡| 欧美日韩导航| 丝袜久久剧情精品国产| 成人午夜视频免费看欧美| 久久国产精品77777| 欧美国产在线一区| 丁香婷婷久久| 久久精品日日躁夜夜躁欧美| 免费激情网址| 五月激情婷婷综合| 欧美亚洲国产精品久久蜜芽| 国产视频 第一页| 一区二区无码在线视频| 黄色福利在线| 国产h视频免费观看| 精品欧美视频| 激情影院内射美女|