C++不僅是軟件設計的主流語言,而且因為其強大的解釋力而成為代表軟件應用能力的標志性語言。但是,c++的概念龐雜,難以理解,不容易深入,同時,C++新標準的出現使C++和數據結構的學習順序發生沖突:數據結構的先修課是C++,而c++的新特性中包含數據結構的內容,它們互為前提。我們認為要有效地解決這兩個問題,必須把C、C++和數據結構整合。為此我們進行了十年的改革實踐,探索從C到C++的學習方法?!队嬎銠C教育》于2008年以主編專訪和專業論文兩種形式對我們的改革進行了連續一年的報道,本文對一年來發表的專業論文給予一個小結。
1從C到C++是一個有規律的過程
從機器語言到c++語言是一個發展過程,這個過程的根本動因是程序設計的存儲與處理的矛盾?!皵祿Y構+算法:程序”就是這層意思。縱觀短暫的計算機發展史,這兩個方面一直保持不變。發展演化的是它們之間的關系,就是所謂的程序設計方法。我們的目的是:除去偶然的、擾亂性的因素,揭示出這個矛盾的變化規律,即程序語言發展規律。我們的具體做法是:先用C描述順序表、結構串和鏈表,然后揭示、分析和解決C描述所表現的局限性,通過克服這些局限將它們轉化為C++描述。圖l是我們的教材《C/C++與數據結構》(第3版)(上冊)的內容關系結構,它提綱挈領地表示了這個過程,貫穿其中的是圖2所展示的指針和函數同步發展的關系。我們在2008年《計算機教育》連續發表了一些文章,對圖1和圖2中的一些關系分別做了比較詳細的論述?!?br>