亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C++教學(xué)中的知識點(diǎn)邏輯關(guān)系探討

        2016-12-21 00:59:50董鑫正單緬傅曉陽
        計(jì)算機(jī)教育 2016年9期
        關(guān)鍵詞:變量知識點(diǎn)函數(shù)

        董鑫正+單緬+傅曉陽

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

        關(guān)鍵詞:c++;知識點(diǎn);函數(shù);變量;流程控制

        對于大部分學(xué)生來講,從編程零基礎(chǔ)到掌握程序設(shè)計(jì)的基本思想和方法,需要轉(zhuǎn)變思維方式,從新的角度去認(rèn)識和分析問題,有一定的困難要克服。c++課程本身包含很多零散的知識點(diǎn),且有較強(qiáng)的實(shí)踐性,學(xué)習(xí)起來也有一定的困難。承擔(dān)學(xué)生與課程之間橋梁角色的教師,如何根據(jù)學(xué)生的認(rèn)知特點(diǎn)和課程中知識點(diǎn)之間的固有聯(lián)系,有效組織知識結(jié)構(gòu),合理安排教學(xué)計(jì)劃,以達(dá)到理想的教學(xué)效果,是一個值得探討的問題。

        1.知識點(diǎn)的聚類

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

        1.1主題知識點(diǎn)

        c++教材上章節(jié)的劃分實(shí)際上都屬于基本知識點(diǎn)到主題知識點(diǎn)的聚類。這里參考文獻(xiàn)的章節(jié)劃分,根據(jù)實(shí)際的教學(xué)安排有部分調(diào)整,整理后的主題知識點(diǎn)見表1。

        1.2核心知識點(diǎn)

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

        函數(shù)是c++中的基本概念,也是c++程序的基本組成部分。圍繞函數(shù)展開的主題知識點(diǎn)有主函數(shù)、自定義函數(shù)、多文件結(jié)構(gòu)、類、構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)、靜態(tài)成員函數(shù)、運(yùn)算符重載、模板。主要內(nèi)容包含主函數(shù)、自定義函數(shù)、類成員函數(shù)、模板函數(shù)等。

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

        函數(shù)和變量包含的主題知識點(diǎn)中有3個是重疊的:多文件結(jié)構(gòu)、類、模板,這3個主題知識點(diǎn)即涉及函數(shù)部分,也涉及變量部分。

        流程控制相對簡單,體現(xiàn)在兩個方面:一是內(nèi)容較少,只包含兩個主題知識點(diǎn);二是比較獨(dú)立,與另外兩個核心知識點(diǎn)之間沒有相互交叉。主要內(nèi)容是流程控制,即順序、分支和循環(huán)3種流程控制結(jié)構(gòu)。

        2.知識點(diǎn)的展開

        知識點(diǎn)的聚類從橫向上對知識點(diǎn)進(jìn)行分類,實(shí)現(xiàn)了知識點(diǎn)“由多到少”的目標(biāo);而知識點(diǎn)的展開則基于學(xué)生的認(rèn)知規(guī)律,從縱向上對知識點(diǎn)由淺人深,以盡量減少學(xué)生學(xué)習(xí)時遇到的困難。這里的基本原則是以問題為驅(qū)動,逐步完善解決問題的方法,一方面我們要解決的問題或示例從簡單到復(fù)雜;另一方面,我們采用的解決問題的方法根據(jù)問題的規(guī)模和類型逐步擴(kuò)展。這里方法的展開也以函數(shù)、變量、流程控制3個核心概念為基礎(chǔ),分層遞進(jìn)。從縱向來看,可分為單函數(shù)和基本類型、多函數(shù)和構(gòu)造類型、面向?qū)ο?個層次,如圖1(縱向來看)所示。

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

        2.1單函數(shù)和基本類型

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

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

        流程控制包含順序、分支、循環(huán)3種結(jié)構(gòu),分支包含if和switch兩種形式,循環(huán)包含while、do....while、for 3種形式。

        掌握了主函數(shù)、變量和基本類型、流程控制等基本概念,便掌握程序設(shè)計(jì)的基礎(chǔ),可以用來解決基本的數(shù)學(xué)計(jì)算問題,如累加求和、判斷素?cái)?shù)等問題。

        2.2多函數(shù)和構(gòu)造類型

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

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

        自定義函數(shù)和構(gòu)造類型的引入,為我們解決復(fù)雜問題提供了基本的表達(dá)方法。尤其是結(jié)構(gòu)體變量的引入,以基本類型為基礎(chǔ),通過多次嵌套組合成合適的構(gòu)造類型,從而使表達(dá)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)成為可能。

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

        2.3面向?qū)ο?/p>

        以上兩個層次屬于面向過程的內(nèi)容,第三個層次是面向?qū)ο蟮膬?nèi)容。對于大型的工程項(xiàng)目,面向過程的方法顯得力不從心,而面向?qū)ο蠓椒▌t提供了更高程度的抽象,以便于對問題的描述和工程的組織。

        我們?nèi)匀粡暮瘮?shù)和變量的角度來理解面向?qū)ο?。前面提到過函數(shù)和變量的關(guān)系,一方面變量可以作為函數(shù)參數(shù)或返回值,另一方面變量可以作為變量的成員(通過使用結(jié)構(gòu)體)。以此為基礎(chǔ),現(xiàn)在提出兩個問題引導(dǎo)學(xué)生:函數(shù)可以作為函數(shù)參數(shù)或返回值嗎?函數(shù)可以作為變量的成員嗎?對于第一個問題,可以接受函數(shù)作為參數(shù)或返回函數(shù)的函數(shù)稱為高階函數(shù),c++并不支持,但c++中通過函數(shù)指針可以實(shí)現(xiàn)以函數(shù)作為另一個函數(shù)參數(shù),只是并不作為初學(xué)者的重點(diǎn)內(nèi)容。對于第二個問題,函數(shù)可以作為變量的成員,這樣變量便可以擁有數(shù)據(jù)成員和函數(shù)成員,這便是面向?qū)ο蟮臉?gòu)造基礎(chǔ)。

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

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

        3.結(jié)語

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

        猜你喜歡
        變量知識點(diǎn)函數(shù)
        二次函數(shù)
        一張圖知識點(diǎn)
        一張圖知識點(diǎn)
        第四頁 知識點(diǎn) 殲轟-7A
        第3講 “函數(shù)”復(fù)習(xí)精講
        抓住不變量解題
        二次函數(shù)
        函數(shù)備考精講
        也談分離變量
        關(guān)于G20 的知識點(diǎn)
        国产精品视频一区二区三区,| 无码日韩精品一区二区三区免费| 国产成人av一区二区三区在线| 狠狠亚洲婷婷综合色香五月| 日本一区二区偷拍视频| 国99精品无码一区二区三区| 在线不卡av片免费观看| 久久精品无码一区二区2020 | 国产av精品一区二区三区不卡 | 综合色区亚洲熟妇另类| 久久久久国色av∨免费看| 国产成人精品人人做人人爽| 国产精品国产三级国产专区不| 欧美成人aaa片一区国产精品| 偷窥村妇洗澡毛毛多| 区一区一日本高清视频在线观看| 国产自拍在线视频91| 亚洲精品久久久久久久不卡四虎| 国产91精品成人不卡在线观看| 亚洲视频中文字幕更新| 日本道免费一区二区三区日韩精品 | 亚洲av日韩av永久无码下载| 同性男男黄g片免费网站| 亚洲无码美韩综合| 日本视频在线观看二区| 色 综合 欧美 亚洲 国产| 国产精品欧美久久久久老妞| 日韩一区二区三区人妻中文字幕| 亚洲中文字幕无码av永久| 久久久久亚洲精品无码网址| 人妻无码AⅤ中文系列久久免费| 国产真实一区二区三区| 私人毛片免费高清影视院| 亚洲制服无码一区二区三区| 性色国产成人久久久精品二区三区| 久久人妻av一区二区软件| 欧美日韩精品一区二区在线视频| 亚洲精品熟女乱色一区| 熟女一区二区三区在线观看| 人妻忍着娇喘被中进中出视频| 亚洲xx视频|