中央廣播電視大學(xué)計算機科學(xué)與技術(shù)專業(yè)_第1頁
中央廣播電視大學(xué)計算機科學(xué)與技術(shù)專業(yè)_第2頁
中央廣播電視大學(xué)計算機科學(xué)與技術(shù)專業(yè)_第3頁
中央廣播電視大學(xué)計算機科學(xué)與技術(shù)專業(yè)_第4頁
中央廣播電視大學(xué)計算機科學(xué)與技術(shù)專業(yè)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、PAGE PAGE 30中央廣播電視大學(xué)計算機科學(xué)與技術(shù)專業(yè)面向?qū)ο蟪绦蛟O(shè)計課程考核說明(2003年版)一、考核說明面向?qū)ο蟪绦蛟O(shè)計課程是電大系統(tǒng)計算機科學(xué)與技術(shù)專業(yè)本科生(專科起點)的一門必修課程。本課程是數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計算機網(wǎng)絡(luò)、軟件工程等的先修課程,在整個專業(yè)教學(xué)體系中占據(jù)非常重要的基礎(chǔ)地位。本課程主要介紹C+語言的基本語法規(guī)則,各種數(shù)據(jù)類型的定義、表示和使用,各種流程控制語句的定義與作用,類和對象的定義與應(yīng)用,面向過程和面向?qū)ο蟮某绦蛟O(shè)計方法等內(nèi)容。面向?qū)ο蟮乃枷胧切枰趯嵺`中不斷摸索和體會的,學(xué)生們在后續(xù)課的學(xué)習(xí)和以后的工作中要主動去運用和實踐。教學(xué)的主要目標(biāo)是讓學(xué)生能夠建立起

2、思考問題的方法,指導(dǎo)以后的軟件開發(fā)實踐。現(xiàn)將該課程考核的有關(guān)問題說明如下:1. 考核對象 全國電大系統(tǒng)開放教育試點計算機科學(xué)與技術(shù)專業(yè)(??破瘘c本科)學(xué)生。2教學(xué)媒體 文字主教材C+面向?qū)ο蟪绦蛟O(shè)計 王萍編著 清華大學(xué)出版社出版 實驗教材面向?qū)ο蟪绦蛟O(shè)計實驗 徐孝凱等編 中央廣播電視大學(xué)出版社出版 錄象教材 16講 王萍主講 中央廣播電視大學(xué)音像出版社出版 復(fù)習(xí)資料 面向?qū)ο蟪绦蛟O(shè)計期末復(fù)習(xí)指導(dǎo)中央電大教育雜志社出版發(fā)行 作業(yè)練習(xí) 面向?qū)ο蟪绦蛟O(shè)計形成性考核作業(yè)冊 中央電大教育雜志社出版發(fā)行 網(wǎng)上輔導(dǎo) 在電大在線計算機科學(xué)與技術(shù)面向?qū)ο蟪绦蛟O(shè)計課程網(wǎng)頁上發(fā)表3. 命題依據(jù)本考核說明以電大計算機

3、科學(xué)與技術(shù)專業(yè)面向?qū)ο蟪绦蛟O(shè)計教學(xué)大綱為依據(jù)編制。本考核說明是考試命題的依據(jù)。4. 考核要求本課程是以實用為最終目的,主要考核學(xué)生對C+語言的掌握程度和對解決一般問題的程序設(shè)計能力。不要死記硬背,注重理解和運用??己朔譃橐韵聨讉€層次:理解:要求學(xué)生理解面向過程和面向?qū)ο蟪绦蛟O(shè)計的基本思想和方法,理解C+語言程序的基本結(jié)構(gòu),理解各種C+語法成分定義、表示和作用。應(yīng)用:要求學(xué)生能夠根據(jù)所學(xué)的C+語言知識和程序設(shè)計知識,分析和理解一般的程序或函數(shù)模塊或類模塊,能夠根據(jù)處理簡單問題的要求編寫出較規(guī)范的并且可讀性好的面向過程或面向?qū)ο蟮暮瘮?shù)模塊或程序。綜合應(yīng)用:要求學(xué)生能夠綜合運用多個知識點進行比較復(fù)雜

4、的程序(函數(shù)模塊)分析和設(shè)計,考察學(xué)生綜合運用知識的能力和實際解決問題的能力。5. 命題原則(1) 在教學(xué)大綱和考核說明所規(guī)定的知識范圍內(nèi)命題。在教學(xué)知識范圍之內(nèi),需要靈活運用才能夠解決問題的試題不屬于超綱。(2) 試題的考察要求覆蓋面廣、區(qū)分度高。(3) 試題兼顧各個能力層次,理解約占40%,應(yīng)用約占40%,綜合應(yīng)用約占20%。(4) 試題的難易程度和題量適當(dāng),按難易程度分為四個層次:容易占20%,較易占30%,較難占30%,難占20%。題量安排以平時能夠獨立完成作業(yè)者,能在規(guī)定的考試時間內(nèi)做完并有一定時間檢查為原則。6. 試題題型單項選擇題:根據(jù)題意,從四種可選擇的答案中選擇合適的一種答案

5、。填空題:根據(jù)題意,在畫有橫線或空白處填寫合適內(nèi)容。程序填充題:根據(jù)C+程序或函數(shù)(類)模塊,及相應(yīng)的功能描述,在畫有橫線或空白處填寫合適內(nèi)容。理解問答題:根據(jù)C+程序或函數(shù)(類)模塊,回答一些問題。如寫出程序運行結(jié)果或函數(shù)調(diào)用結(jié)果,寫出程序或函數(shù)所能實現(xiàn)的功能,按題意要求指出錯誤位置并改正。編程題:給出編程要求和函數(shù)原型,編寫出相應(yīng)的程序或函數(shù)模塊。7. 考核形式: 采用期末考核與形成性考核相結(jié)合的方式。形成性考核分為兩種,一種視作業(yè)完成情況和實驗完成情況而定,占總成績的15%;另一種為期末上機考核,占總成績的15%,完成一個指定題目的程序開發(fā)和調(diào)試,由各省級電大在省內(nèi)統(tǒng)一命題,時間為60分

6、鐘。期末考核占總成績的70%,為閉卷考試,由中央電大統(tǒng)一命題,時間為150分鐘??偝煽儩M分為100分,合成成績達60分及以上者可獲得該課程規(guī)定的4學(xué)分,否則不獲得該課程學(xué)分。二、考核內(nèi)容和要求第一部分 程序設(shè)計基礎(chǔ)考核目的:考核學(xué)生對C+程序結(jié)構(gòu)、程序運行過程、各種數(shù)據(jù)類型的作用、數(shù)據(jù)常量表示、表達式構(gòu)成、運算符含義、簡單語句和復(fù)合語句格式等的掌握程度??己说闹R點:C+語言特點和程序的基本結(jié)構(gòu)。上機輸入、編輯、連接、運行一個C+程序的過程。整數(shù)、字符、實數(shù)、邏輯等標(biāo)準(zhǔn)數(shù)據(jù)類型的含義。各種常量的字面表示和符號表示,變量的定義與使用。常用運算符的表示、優(yōu)先級與結(jié)合性。表達式的分類和使用??己艘?/p>

7、:理解:C+語言的有關(guān)基本概念、程序結(jié)構(gòu)、數(shù)據(jù)類型的分類與作用、常量和變量的表示、運算符含義、表達式構(gòu)成與運算等內(nèi)容。應(yīng)用:能夠編寫簡單的程序,能完成簡單數(shù)據(jù)和表達式的輸入和輸出,能利用變量存放輸入數(shù)據(jù)、臨時數(shù)據(jù)和計算結(jié)果,能利用符號常量存放固定數(shù)據(jù),能根據(jù)數(shù)值計算和數(shù)據(jù)處理的要求選擇合適的常量或變量表示,能利用運算符進行算術(shù)、比較(即關(guān)系)和邏輯運算,能把一般數(shù)學(xué)算式、不等式或條件表示成相應(yīng)的C+表達式。第二部分 流程控制語句與程序模塊的基本結(jié)構(gòu)考核目的:考核學(xué)生對各種分支語句、循環(huán)語句和跳轉(zhuǎn)類語句的理解和掌握程度,對程序模塊的順序、分支和循環(huán)這三種基本結(jié)構(gòu)的理解程度,對運用流程控制語句編寫

8、程序解決實際問題的能力。考核的知識點: 下列各種控制語句的定義格式、執(zhí)行過程與作用: if語句、switch語句、for語句、while語句、do語句、break語句、continue語句、return語句等。 各種分支和循環(huán)語句相互嵌套的作用和執(zhí)行過程。考核要求:理解:各種語句的格式、執(zhí)行過程與作用,語句之間相互嵌套的概念。應(yīng)用:(1) 能夠分析含有if和switch分支類語句的程序模塊并給出功能或執(zhí)行結(jié)果,能夠按照分支處理的要求編寫出相應(yīng)的分支程序。(2) 能夠分析含有for、while和do循環(huán)類語句的程序模塊并給出功能或執(zhí)行結(jié)果,能夠按照循環(huán)處理的要求編寫出相應(yīng)的循環(huán)程序,如累加計算、

9、數(shù)據(jù)統(tǒng)計、求最大值、求平均值等程序。(3) 能夠?qū)崿F(xiàn)if和switch語句之間的轉(zhuǎn)換,能夠?qū)崿F(xiàn)for、while和do循環(huán)語句之間的轉(zhuǎn)換。綜合應(yīng)用:運用各種流程控制語句和其他語句等已有知識進行比較復(fù)雜的程序分析與設(shè)計,如雙重或三重循環(huán)的程序分析與設(shè)計。第三部分 函數(shù)考核目的:考核學(xué)生對變量作用域的理解程度,對函數(shù)定義與調(diào)用格式的掌握程度,對形式參數(shù)和實在參數(shù)的使用與結(jié)合的理解程度,對模塊化程序設(shè)計方法的掌握程度??己说闹R點:模塊化程序設(shè)計的概念,多文件結(jié)構(gòu)的程序。函數(shù)的定義、聲明與調(diào)用格式,靜態(tài)函數(shù)的含義。函數(shù)定義中值參數(shù)、指針參數(shù)、數(shù)組參數(shù)、引用參數(shù)、常量參數(shù)的聲明格式及作用;函數(shù)中帶默認

10、值參數(shù)的說明與作用。函數(shù)調(diào)用中的實參與函數(shù)定義中的形參之間的結(jié)合過程。 函數(shù)返回值的一般類型、指針類型和引用類型的作用。變量的作用域和生存期,靜態(tài)變量的特點。內(nèi)聯(lián)函數(shù)的定義格式及作用。遞歸函數(shù)的設(shè)計方法和調(diào)用過程。函數(shù)重載的含義和作用。函數(shù)模板的定義格式及作用。 考核要求:理解:(1) 模塊化程序設(shè)計與函數(shù)的關(guān)系,函數(shù)的定義格式與聲明格式,函數(shù)調(diào)用表達式的格式及執(zhí)行過程,帶默認值參數(shù)的含義與用法。(2) 全局變量、局部變量、靜態(tài)變量的含義。(3) 內(nèi)聯(lián)函數(shù)和函數(shù)模板的定義與聲明格式,函數(shù)模板的實例化,重載函數(shù)的作用。應(yīng)用:(1) 能夠分析已知函數(shù),給出所能實現(xiàn)的功能或運行結(jié)果。(2) 能夠根據(jù)

11、處理問題的需要合理地設(shè)置函數(shù)參數(shù)、函數(shù)的返回值類型以及編寫出函數(shù)體。(3) 利用遞歸函數(shù)來簡化程序設(shè)計。(4) 利用函數(shù)重載來優(yōu)化程序設(shè)計。(5) 利用函數(shù)模板來設(shè)計能夠處理任何數(shù)據(jù)類型的程序。第四部分 數(shù)組、結(jié)構(gòu)、指針和引用考核目的:考核學(xué)生對數(shù)組、字符串、結(jié)構(gòu)、指針、引用等數(shù)據(jù)類型的理解和掌握程度。考核的知識點: 一維數(shù)組的概念、定義和初始化。 二維及多維數(shù)組的概念、定義和初始化。 一維和二維數(shù)組元素的下標(biāo)訪問方式。 字符串與字符數(shù)組的區(qū)別與聯(lián)系,字符串的輸入與輸出。 常用字符串函數(shù)(如strlen,strcpy,strcmp,strcat等)的調(diào)用格式與作用。 結(jié)構(gòu)類型的定義格式和作用,

12、結(jié)構(gòu)變量的定義格式和初始化。 結(jié)構(gòu)成員的表示和使用。 指針的概念、定義及初始化。 針對指針的各種運算操作。 數(shù)組名的指針含義,數(shù)組元素的下標(biāo)與指針方式的表示及轉(zhuǎn)換。 數(shù)組形參與指針形參之間的等價表示與轉(zhuǎn)換。 引用的定義和初始化,引用參數(shù)與值參數(shù)的區(qū)別。 一般變量與數(shù)組的存儲空間的動態(tài)分配與釋放??己艘螅豪斫猓?1) 數(shù)組、字符串、結(jié)構(gòu)、指針、引用等的概念、表示和作用。(2) 數(shù)組的存儲空間分配,數(shù)組元素的地址計算,數(shù)組元素的下標(biāo)訪問方式和指針訪問方式。(3) 字符串的存儲格式,字符串的輸入輸出方式,字符串函數(shù)的調(diào)用。(4) 數(shù)據(jù)空間的動態(tài)分配與釋放,鏈表的結(jié)構(gòu)與訪問結(jié)點的過程。應(yīng)用:(1)

13、能夠分析和設(shè)計在一維數(shù)組上的順序查找、選擇排序、插入排序等算法。(2) 能夠分析和設(shè)計在二維數(shù)組上的矩陣加、減、轉(zhuǎn)置、乘等運算的算法。(3) 能夠分析和設(shè)計利用字符串函數(shù)進行字符串處理的算法。(4) 能夠分析和設(shè)計動態(tài)生成的鏈表,在鏈表頭或尾插入或刪除結(jié)點的算法,以及遍歷鏈表的算法。(5) 能夠分析和設(shè)計對順序或鏈接表示的棧或隊列進行插入或刪除元素(結(jié)點)的算法。(6) 能夠使用引用類型作為函數(shù)的參數(shù)類型和返回值類型。綜合應(yīng)用:運用數(shù)組、字符串、結(jié)構(gòu)、指針、引用等數(shù)據(jù)類型進行程序設(shè)計。第五部分 類與對象考核目的:考核學(xué)生對類這種復(fù)雜數(shù)據(jù)類型的理解和運用程度,對面向?qū)ο蟪绦蛟O(shè)計方法的掌握程度???/p>

14、核的知識點:面向?qū)ο蟪绦蛟O(shè)計的概念。類的定義,類與結(jié)構(gòu)的區(qū)別和聯(lián)系。類成員的訪問控制與訪問方式。內(nèi)聯(lián)與非內(nèi)聯(lián)成員函數(shù)的聲明與定義。對象的生成和初始化。類的作用域。類的構(gòu)造函數(shù)與析構(gòu)函數(shù)。類的拷貝構(gòu)造函數(shù)和賦值重載函數(shù)。靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)。對象成員和一般成員的初始化方式。友元函數(shù)與友元類。this指針。用數(shù)組和鏈表實現(xiàn)隊列類和棧類。考核要求:理解:(1) 面向?qū)ο蟪绦蛟O(shè)計的有關(guān)概念。(2) 類的定義,類成員的訪問權(quán)限,構(gòu)造函數(shù)與析構(gòu)函數(shù)的定義格式及作用。(3) 靜態(tài)數(shù)據(jù)成員定義、初始化與作用,靜態(tài)函數(shù)成員的定義格式與特性。(4) 友元函數(shù)和友元類的聲明與作用。應(yīng)用:(1) 能夠分析和設(shè)計

15、含有簡單類定義的程序。 (2) 能夠使用數(shù)組或鏈表建立隊列類和棧類。綜合應(yīng)用:(1) 能夠根據(jù)程序要求構(gòu)造滿足要求的類。在構(gòu)造過程中充分考慮構(gòu)造函數(shù)和析構(gòu)函數(shù)的使用、成員訪問控制的運用、內(nèi)聯(lián)函數(shù)的運用、靜態(tài)成員的選用。(2) 能夠根據(jù)要求構(gòu)造多個類完成所要求的程序設(shè)計任務(wù),多個類之間可以發(fā)生一定的關(guān)系,如一個類作為另一個類的成員或友元、一個類使用另一個類的服務(wù)等。第六部分 繼承與多態(tài)性考核目的:考核學(xué)生對面向?qū)ο髾C制(封裝、繼承和多態(tài))的理解和掌握程度。考核的知識點:結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計思想的不同。繼承(單繼承與多繼承)的含義,派生類的定義和使用。派生類中構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行過

16、程。對派生類和基類中同名成員的訪問方式。靜態(tài)聯(lián)編與動態(tài)聯(lián)編的各自的含義和區(qū)別。靜態(tài)聯(lián)編與函數(shù)重載,動態(tài)聯(lián)編與虛函數(shù),多態(tài)性。虛基類,抽象類,純虛函數(shù)??己艘螅豪斫猓?1) 類繼承的概念和作用,派生類的定義格式。(2) 派生類對基類的繼承方式,派生類對基類成員的訪問權(quán)限。(3) 靜態(tài)聯(lián)編和動態(tài)聯(lián)編的含義,函數(shù)重載和虛函數(shù)的作用。應(yīng)用:(1) 能分析含有派生類的程序。(2) 能夠根據(jù)要求構(gòu)造類的繼承層次,并完成一定的程序設(shè)計。綜合應(yīng)用:能夠利用繼承、虛函數(shù)、動態(tài)聯(lián)編(即多態(tài)性)等機制完成面向?qū)ο蟮某绦蛟O(shè)計。第七部分 運算符重載考核目的:考核學(xué)生對運算符重載的理解和掌握程度??己说闹R點:運算符重

17、載的概念與函數(shù)定義格式。一般函數(shù)的運算符重載和成員函數(shù)的運算符重載。引用在運算符重載中的作用。作為友元函數(shù)的運算符重載。單目和雙目算術(shù)運算符的重載。增1和減1運算符的重載。插入運算符和抽取運算符的重載。圓括號運算符和中括號運算符作為成員函數(shù)的重載??己艘螅豪斫猓?1) 運算符重載的概念及作用。(2) 引用在運算符重載中的作用。(3) 運算符重載作為一般函數(shù)和成員函數(shù)在參數(shù)上的區(qū)別。應(yīng)用:能夠分析和設(shè)計帶有運算符重載的函數(shù)或類。三、期末考核試題樣例及解答一、單項選擇(每小題1分,12小題,共12分)1. C+源程序文件的缺省擴展名為( )。 A. cpp B. exe C. obj D. li

18、k2. x0 | y=5的相反表達式為( )。A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=53. 在下面的字符數(shù)組定義中,有語法錯誤的是( )。A. char a20=“abcdefg”; B. char a=“x+y=55.”; C. char a15; D. char a10=5; 4. 以下正確的函數(shù)原型語句是( )。 A. double fun(int x,int y) B. double fun(int x;int y) C. double fun(int,int); D. double fun(int x,y);5. 在下面存儲類中,( )的對象不是局

19、部變量。A. 外部靜態(tài)類 B. 自動類 C. 函數(shù)形參 D. 寄存器類6. 假定有“struct BOOKchar title40; float price; BOOK *book=new BOOK;”,則正確的語句是( )。A. strcpy(book-title,”Wang Tao”); B. strcpy(book.title,”Wang Tao”); C. strcpy(*book.title,”Wang Tao”); D. strcpy(*book)-title,”Wang Tao”);7. 軟件產(chǎn)品所具有的全部或部分地再用于新的應(yīng)用的能力稱為該軟件的( )。 A. 可維護性 B.

20、可復(fù)用性 C. 兼容性 D. 正確性8. 在多文件結(jié)構(gòu)的程序中,通常把含有main()函數(shù)的文件稱為( )。 A. 主文件 B. 實現(xiàn)文件 C. 程序文件 D. 頭文件 9. 在一個用鏈表實現(xiàn)的隊列類中,假定每個結(jié)點包含的值域用elem表示,包含的指針域用next表示,鏈隊的隊首指針用elemHead表示,隊尾指針用elemTail表示,若鏈隊為空,則進行插入時必須把新結(jié)點的地址賦給( )。 A. elemHead B. elemTail C. elemHead和elemTail D. elemHead或elemTail 10. 假定AB為一個類,則執(zhí)行 “AB a, b(2), c3, *p

21、=&a;”語句時共調(diào)用該類無參構(gòu)造函數(shù)的次數(shù)為( )。 A. 5B. 6C. 3D. 4 11. 引入友元的主要目的是為了( )。A. 增強數(shù)據(jù)安全性 B. 提高程序的可靠性C. 提高程序的效率和靈活性 D. 保證類的封裝性12. 如果是類B在類A的基礎(chǔ)上構(gòu)造,那么,就稱( )。 A. 類A為基類或父類,類B為超類或子類B. 類A為基類、父類或超類,類B為派生類或子類 C. 類A為派生類,類B為基類D. 類A為派生類或子類,類B為基類、父類或超類二、填空(每空1分,15小題,共18分) 1. C+語言是在_語言的基礎(chǔ)上發(fā)展起來的。 2. 假定x=5,y=6,則執(zhí)行表達式y(tǒng)*=x+計算后,x和y

22、的值分別為_和_。3. 假定x是一個邏輯量,則x & false的值為_。 4. 在if語句中,每個else關(guān)鍵字與它前面同層次并且最接近的_關(guān)鍵字相配套。 5. 一個二維字符數(shù)組a1020能夠存儲_個字符串,每個字符串的長度至多為_。 6. 局部變量具有局部生存期,存放在內(nèi)存的_區(qū)中。 7假定p所指對象的值為25,p+1所指對象的值為42,則執(zhí)行*(p+)或*p+運算后,p所指對象的值為_。8. 已知語句“couts;”的輸出是“apple”,則執(zhí)行語句“coutabc(y)表達式調(diào)用一個成員函數(shù),在成員函數(shù)中使用的_就代表了類外的p指針。 11當(dāng)用戶為一個類定義有_時,則系統(tǒng)不會為該類再自

23、動生成一個默認構(gòu)造函數(shù)。 12假定用戶為類AB定義了一個構(gòu)造函數(shù)AB(int aa, int bb):a(aa),b(bb),則定義該類的對象時,有_種定義格式。 13假定用戶只為類AB定義了一個構(gòu)造函數(shù)AB(int aa, int bb=0) a=aa; b=bb;,則定義該類的對象時,其實參表中至少帶有_個實參。 14. 在重載一個單目運算符時,參數(shù)表中沒有參數(shù),說明該運算符函數(shù)只能是類的_。 15. 若要保證一個公共的基類在派生類中只產(chǎn)生一個基類子對象,則必須都以_的方式繼承它。三、程序填充。對程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標(biāo)號把合適的內(nèi)容填寫到程序下面相應(yīng)標(biāo)號的后面(每小題

24、6分,3小題,共18分) 1. 把從鍵盤上輸入的一個大于等于3的整數(shù)分解為質(zhì)因子的乘積。如輸入24時得到的輸出結(jié)果為“2 2 2 3”,輸入50時得到的輸出結(jié)果為“2 5 5”,輸入37時得到的輸出結(jié)果為“37”。#includevoid main()int x;coutx; while(_(1)_);int i=2;dowhile(_(2)_) couti ;x/=i; _(3)_;while(ix);if(x!=1) coutx; coutendl;(1)(2)(3)2. 假定有定義為“struct NODEint data; NODE* next;”,下面算法根據(jù)table數(shù)組中的n個元

25、素建立一個表頭指針為L的鏈表,鏈表中結(jié)點值的順序與數(shù)組元素值的順序正好相反。 void f6(NODE*& L, int table, int n) L=NULL; if(ndata=_(2)_; p-next=L;_(3)_; i+; (1)(2)(3)3. 已知一個利用數(shù)組實現(xiàn)棧的類定義如下: const int ARRAY_SIZE=10; class Stack public: void Init() top=-1; /初始化棧為空 void Push(int newElem); /向棧中壓入一個元素 int Pop(); /從棧頂彈出一個元素 bool Empty() /判???re

26、turn top=-1; int Depth() return top+1; /返回棧的深度 void Print(); /按照后進先出原則依次輸出棧中每個元素, /直到??諡橹?private: int elemARRAY_SIZE; /用于保存棧元素的數(shù)組 int top; /指明棧頂元素位置的指針 ; void Stack:Push(int newElem) if(_(1)_) cout棧滿!endl; exit(1); /中止運行 _(2)_; elemtop=_(3)_; (1)(2)(3) 四、寫出程序或程序段的運行結(jié)果(每小題6分,3小題,共18分) 1. #includevoi

27、d main() int x=5;switch(2*x-3) case 4: coutx;case 7: cout2*x+1;case 10: cout3*x-1; break;default: coutdefaultendl;coutswitch end.endl; 2. #includevoid main()int i,j,len3;char a38=year,month,day;for(i=0;i3;i+) for(j=0;j8;j+)if(aij=0) leni=j;break;coutai:leniendl; 3. #include #include class Point int

28、x,y; public: Point(int x1=0, int y1=0) :x(x1), y(y1) coutPoint:x yn; Point() coutPoint des!n; ; class Text char text100;/文字內(nèi)容 public: Text(char * str) strcpy(text,str); coutText con!n; Text()coutText des!n; ; class CircleWithText : public Point,public Text public: CircleWithText(int cx,int cy, char

29、*msg): Point(cx,cy),Text(msg) coutPoint with Text con!n; CircleWithText() coutPoint with Text desn; ; void main() CircleWithText cm(3,4,hello); 五、指出程序或函數(shù)的功能(每小題6分,2小題,共12分) 1. double f1(double a, double b, char op) switch(op) case +: return a+b; case -: return a-b; case *: return a*b; case /: if(b=0

30、) coutdivided by 0!endl; exit(1); else return a/b; default: coutoperator error!next;while(f) if(f-datap-data)p=f;f=f-next;return p; 假定IntNode的類型定義為: struct IntNode int data; /結(jié)點值域 IntNode* next; /結(jié)點指針域 ; 功能: 六、程序改錯。請根據(jù)程序或函數(shù)模塊的功能改寫個別地方的錯誤(每小題6分,共6分)。在下面的定義中,NODE是鏈表結(jié)點的結(jié)構(gòu),appendToList則是一函數(shù),其功能是:在list所指向的鏈表的末尾添加一個新的值為x的結(jié)點,并返回表頭指針。函數(shù)中有兩處錯誤,指出錯誤所在行的行號并提出改正意見。struct NODEint data;NODE *next;NODE* appendToList(NODE *list,int x) /1行 NODE *p=new int;/2行 p-data=x; /3行 p-next=NULL; /4行if(list=NULL) retu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論