王飛+賀喜玲+于紅彬
【摘 要】在當今的計算機類職業(yè)教育中,編程語言中以C++語言最為難以被學(xué)生理解和掌握,尤其是C++語言中的指針對象是難點中的難點。但是通過筆者在軟件公司的了解,又以C++程序編寫類的工資薪酬最為豐厚。因此針對這種情況,結(jié)合作者長年在職業(yè)教育中的教學(xué)經(jīng)驗,提出一種新的教學(xué)方案,對C++語言中的指針內(nèi)容進行了分解并通過程序?qū)嵗龑ζ鋬?nèi)容進行了詳細闡述,在實際中取到了十分不錯的效果。
【關(guān)鍵詞】職業(yè)教育;編程語言;C++
一、C++教學(xué)弱節(jié)
針對職業(yè)教育而言,C++的教學(xué)卻又步履維艱。針對學(xué)生而言,職業(yè)院校的學(xué)生多是在高中時期并不十分熱衷于學(xué)習(xí)的孩子,所以數(shù)學(xué)基礎(chǔ)知識薄弱,邏輯思維的鍛煉匱乏是大部分學(xué)生的薄弱環(huán)節(jié)。
并且近年來計算機專業(yè)轉(zhuǎn)冷,往往出現(xiàn)計算機專業(yè)的學(xué)生均是別的專業(yè)沒有錄取,調(diào)劑而來的情況。這就讓計算機的教學(xué)進入了一個尷尬的境地。
而針對學(xué)校而言,招聘的教師大多是學(xué)校畢業(yè)直接進入學(xué)校,并未參與到實際的項目中,所以對編程的理解也很有局限性。并且C++語言課程的開設(shè)多是大學(xué)一年級。面對沒有準備充足以及興趣缺失的學(xué)生,基礎(chǔ)薄弱以及師資的不足的教學(xué)環(huán)境,C++的重點指針在很多教師那里都是一筆帶過,根本沒有深入的探究。
筆者根據(jù)自身在公司時期的實戰(zhàn)經(jīng)驗和多年來職業(yè)教育的教學(xué)經(jīng)驗進行總結(jié),挖掘C++的指針教學(xué)的難點,提出一種新的教學(xué)方案,期望以簡單的三個例程引導(dǎo)的方式進行說明,并且能起到拋磚引玉的效果。
二、指針的操作
要使用指針,必須先進行定義,那么如何定義一個指針呢?從指針的含義而言,它是指向一個對象的地址的。指針的定義如下:
指針指向的數(shù)據(jù)類型 * 指針指向的數(shù)據(jù)名稱:
如下例:
String s(“hello c++”);
String *sp=&s;
例程中的第一條語句就定義了一個字符串型的變量,并賦值“hello c++”;第二條語句定義了一個指向String 數(shù)據(jù)類型的指針sp并且賦值前一個對象的地址,其中&是去地址的操作。
可以使用C++語言的cout進行輸出觀看結(jié)果。輸出變量sp對應(yīng)的結(jié)果是地址而輸出*sp對應(yīng)的結(jié)果是地址所指向的s變量的值。對應(yīng)的指針與指針變量的輸出值如圖所示。
三、指針與數(shù)組
指針是內(nèi)存中地址的引用方式,而在C++中數(shù)組也是一塊兒連續(xù)內(nèi)存的地址。所以指針與數(shù)組有著異曲同工之處。指針變量既然可以指向一個變量,當然也能夠指向數(shù)組的元素。
所以為了使在函數(shù)中改變了的變量值能被main函數(shù)所用,我們應(yīng)該使用指針變量作為函數(shù)參數(shù)。這樣做的好處就是,在被調(diào)用函數(shù)執(zhí)行的過程中,使指針變量所指向的變量值發(fā)生變化,函數(shù)調(diào)用結(jié)束后,這些變量值的變化被保留下來,這樣我們就實現(xiàn)了“通過調(diào)用子函數(shù)使變量的值發(fā)生變化,在主調(diào)函數(shù)(如main函數(shù))中使用這些改變了的值”的目的。
如果想通過函數(shù)調(diào)用得到要改變的值,使用如下的四個步驟能夠得到想要的效果。
(1)第一步在主調(diào)函數(shù)中設(shè)置n個變量,然后使用用n個相對應(yīng)類型的指針變量指向他們;
(2)第二步然后將指針變量做實參,將這個n個變量的地址傳給所調(diào)用的函數(shù)的形參;
(3)第三步通過形參指針變量,改變該n個變量的值;
(4)第四步主調(diào)函數(shù)中就可以使用這些改變了值的變量。
以上三個例子均為C++程序經(jīng)典例程,通過對例程的講解,讓學(xué)生吃透C++中指針的基本用法,并能夠活學(xué)活用。在學(xué)生根據(jù)例程進行算法分析、程序編寫、上機實驗后發(fā)現(xiàn)使用以上三階段性案例的能夠提升學(xué)生學(xué)習(xí)C++的興趣以及理論深度的認識。
通過以上三個例程的教學(xué)法針對C++指針內(nèi)容的講解,減少了教材內(nèi)冗余的內(nèi)容,提升了學(xué)生的興趣,也引起了學(xué)生的學(xué)習(xí)積極性和創(chuàng)造性。同時也鍛煉了學(xué)生的動手能力,為日后的編程工作和程序?qū)W習(xí)打下了良好的基礎(chǔ)。
作者簡介:
王飛(1982~),男,河南省鄭州市人,工作單位:河南省工業(yè)設(shè)計學(xué)校(鄭州輕工職業(yè)學(xué)院),職務(wù):教師,研究方向:計算機視覺及軟件工程。endprint