版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
中央廣播電視大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)面向?qū)ο蟪绦蛟O(shè)計(jì)課程考核說(shuō)明(2023年版)一、考核說(shuō)明《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程是電大系記錄算機(jī)科學(xué)與技術(shù)專業(yè)本科生(??破瘘c(diǎn))的一門(mén)必修課程。本課程是數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、軟件工程等的先修課程,在整個(gè)專業(yè)教學(xué)體系中占據(jù)非常重要的基礎(chǔ)地位。本課程重要介紹C++語(yǔ)言的基本語(yǔ)法規(guī)則,各種數(shù)據(jù)類型的定義、表達(dá)和使用,各種流程控制語(yǔ)句的定義與作用,類和對(duì)象的定義與應(yīng)用,面向過(guò)程和面向?qū)ο蟮某绦蛟O(shè)計(jì)方法等內(nèi)容。面向?qū)ο蟮乃枷胧切枰趯?shí)踐中不斷摸索和體會(huì)的,學(xué)生們?cè)诤罄m(xù)課的學(xué)習(xí)和以后的工作中要積極去運(yùn)用和實(shí)踐。教學(xué)的重要目的是讓學(xué)生可以建立起思考問(wèn)題的方法,指導(dǎo)以后的軟件開(kāi)發(fā)實(shí)踐?,F(xiàn)將該課程考核的有關(guān)問(wèn)題說(shuō)明如下:1.考核對(duì)象全國(guó)電大系統(tǒng)開(kāi)放教育試點(diǎn)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)(??破瘘c(diǎn)本科)學(xué)生。2.教學(xué)媒體文字主教材《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》王萍編著清華大學(xué)出版社出版實(shí)驗(yàn)教材《面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)》徐孝凱等編中央廣播電視大學(xué)出版社出版錄象教材16講王萍主講中央廣播電視大學(xué)音像出版社出版復(fù)習(xí)資料《面向?qū)ο蟪绦蛟O(shè)計(jì)期末復(fù)習(xí)指導(dǎo)》中央電大教育雜志社出版發(fā)行作業(yè)練習(xí)《面向?qū)ο蟪绦蛟O(shè)計(jì)形成性考核作業(yè)冊(cè)》中央電大教育雜志社出版發(fā)行網(wǎng)上輔導(dǎo)在電大在線計(jì)算機(jī)科學(xué)與技術(shù)《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程網(wǎng)頁(yè)上發(fā)表3.命題依據(jù)本考核說(shuō)明以電大計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)《面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)大綱》為依據(jù)編制。本考核說(shuō)明是考試命題的依據(jù)。4.考核規(guī)定本課程是以實(shí)用為最終目的,重要考核學(xué)生對(duì)C++語(yǔ)言的掌握限度和對(duì)解決一般問(wèn)題的程序設(shè)計(jì)能力。不要死記硬背,注重理解和運(yùn)用??己朔譃橐韵聨讉€(gè)層次:理解:規(guī)定學(xué)生理解面向過(guò)程和面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想和方法,理解C++語(yǔ)言程序的基本結(jié)構(gòu),理解各種C++語(yǔ)法成分定義、表達(dá)和作用。應(yīng)用:規(guī)定學(xué)生可以根據(jù)所學(xué)的C++語(yǔ)言知識(shí)和程序設(shè)計(jì)知識(shí),分析和理解一般的程序或函數(shù)模塊或類模塊,可以根據(jù)解決簡(jiǎn)樸問(wèn)題的規(guī)定編寫(xiě)出較規(guī)范的并且可讀性好的面向過(guò)程或面向?qū)ο蟮暮瘮?shù)模塊或程序。綜合應(yīng)用:規(guī)定學(xué)生可以綜合運(yùn)用多個(gè)知識(shí)點(diǎn)進(jìn)行比較復(fù)雜的程序(函數(shù)模塊)分析和設(shè)計(jì),考察學(xué)生綜合運(yùn)用知識(shí)的能力和實(shí)際解決問(wèn)題的能力。5.命題原則(1)在教學(xué)大綱和考核說(shuō)明所規(guī)定的知識(shí)范圍內(nèi)命題。在教學(xué)知識(shí)范圍之內(nèi),需要靈活運(yùn)用才可以解決問(wèn)題的試題不屬于超綱。(2)試題的考察規(guī)定覆蓋面廣、區(qū)分度高。(3)試題兼顧各個(gè)能力層次,理解約占40%,應(yīng)用約占40%,綜合應(yīng)用約占20%。(4)試題的難易限度和題量適當(dāng),按難易限度分為四個(gè)層次:容易占20%,較易占30%,較難占30%,難占20%。題量安排以平時(shí)可以獨(dú)立完畢作業(yè)者,能在規(guī)定的考試時(shí)間內(nèi)做完并有一定期間檢查為原則。6.試題題型單項(xiàng)選擇題:根據(jù)題意,從四種可選擇的答案中選擇合適的一種答案。填空題:根據(jù)題意,在畫(huà)有橫線或空白處填寫(xiě)合適內(nèi)容。程序填充題:根據(jù)C++程序或函數(shù)(類)模塊,及相應(yīng)的功能描述,在畫(huà)有橫線或空白處填寫(xiě)合適內(nèi)容。理解問(wèn)答題:根據(jù)C++程序或函數(shù)(類)模塊,回答一些問(wèn)題。如寫(xiě)出程序運(yùn)營(yíng)結(jié)果或函數(shù)調(diào)用結(jié)果,寫(xiě)出程序或函數(shù)所能實(shí)現(xiàn)的功能,按題意規(guī)定指犯錯(cuò)誤位置并改正。編程題:給出編程規(guī)定和函數(shù)原型,編寫(xiě)出相應(yīng)的程序或函數(shù)模塊。7.考核形式:采用期末考核與形成性考核相結(jié)合的方式。形成性考核分為兩種,一種視作業(yè)完畢情況和實(shí)驗(yàn)完畢情況而定,占總成績(jī)的15%;另一種為期末上機(jī)考核,占總成績(jī)的15%,完畢一個(gè)指定題目的程序開(kāi)發(fā)和調(diào)試,由各省級(jí)電大在省內(nèi)統(tǒng)一命題,時(shí)間為60分鐘。期末考核占總成績(jī)的70%,為閉卷考試,由中央電大統(tǒng)一命題,時(shí)間為150分鐘??偝煽?jī)滿分為100分,合成成績(jī)達(dá)60分及以上者可獲得該課程規(guī)定的4學(xué)分,否則不獲得該課程學(xué)分。 二、考核內(nèi)容和規(guī)定第一部分程序設(shè)計(jì)基礎(chǔ)考核目的:考核學(xué)生對(duì)C++程序結(jié)構(gòu)、程序運(yùn)營(yíng)過(guò)程、各種數(shù)據(jù)類型的作用、數(shù)據(jù)常量表達(dá)、表達(dá)式構(gòu)成、運(yùn)算符含義、簡(jiǎn)樸語(yǔ)句和復(fù)合語(yǔ)句格式等的掌握限度??己说闹R(shí)點(diǎn):C++語(yǔ)言特點(diǎn)和程序的基本結(jié)構(gòu)。上機(jī)輸入、編輯、連接、運(yùn)營(yíng)一個(gè)C++程序的過(guò)程。整數(shù)、字符、實(shí)數(shù)、邏輯等標(biāo)準(zhǔn)數(shù)據(jù)類型的含義。各種常量的字面表達(dá)和符號(hào)表達(dá),變量的定義與使用。常用運(yùn)算符的表達(dá)、優(yōu)先級(jí)與結(jié)合性。表達(dá)式的分類和使用??己艘?guī)定:理解:C++語(yǔ)言的有關(guān)基本概念、程序結(jié)構(gòu)、數(shù)據(jù)類型的分類與作用、常量和變量的表達(dá)、運(yùn)算符含義、表達(dá)式構(gòu)成與運(yùn)算等內(nèi)容。應(yīng)用:可以編寫(xiě)簡(jiǎn)樸的程序,能完畢簡(jiǎn)樸數(shù)據(jù)和表達(dá)式的輸入和輸出,能運(yùn)用變量存放輸入數(shù)據(jù)、臨時(shí)數(shù)據(jù)和計(jì)算結(jié)果,能運(yùn)用符號(hào)常量存放固定數(shù)據(jù),能根據(jù)數(shù)值計(jì)算和數(shù)據(jù)解決的規(guī)定選擇合適的常量或變量表達(dá),能運(yùn)用運(yùn)算符進(jìn)行算術(shù)、比較(即關(guān)系)和邏輯運(yùn)算,能把一般數(shù)學(xué)算式、不等式或條件表達(dá)成相應(yīng)的C++表達(dá)式。第二部分流程控制語(yǔ)句與程序模塊的基本結(jié)構(gòu)考核目的:考核學(xué)生對(duì)各種分支語(yǔ)句、循環(huán)語(yǔ)句和跳轉(zhuǎn)類語(yǔ)句的理解和掌握限度,對(duì)程序模塊的順序、分支和循環(huán)這三種基本結(jié)構(gòu)的理解限度,對(duì)運(yùn)用流程控制語(yǔ)句編寫(xiě)程序解決實(shí)際問(wèn)題的能力??己说闹R(shí)點(diǎn):下列各種控制語(yǔ)句的定義格式、執(zhí)行過(guò)程與作用:if語(yǔ)句、switch語(yǔ)句、for語(yǔ)句、while語(yǔ)句、do語(yǔ)句、break語(yǔ)句、continue語(yǔ)句、return語(yǔ)句等。各種分支和循環(huán)語(yǔ)句互相嵌套的作用和執(zhí)行過(guò)程??己艘?guī)定:理解:各種語(yǔ)句的格式、執(zhí)行過(guò)程與作用,語(yǔ)句之間互相嵌套的概念。應(yīng)用:(1)可以分析具有if和switch分支類語(yǔ)句的程序模塊并給出功能或執(zhí)行結(jié)果,可以按照分支解決的規(guī)定編寫(xiě)出相應(yīng)的分支程序。(2)可以分析具有for、while和do循環(huán)類語(yǔ)句的程序模塊并給出功能或執(zhí)行結(jié)果,可以按照循環(huán)解決的規(guī)定編寫(xiě)出相應(yīng)的循環(huán)程序,如累加計(jì)算、數(shù)據(jù)記錄、求最大值、求平均值等程序。(3)可以實(shí)現(xiàn)if和switch語(yǔ)句之間的轉(zhuǎn)換,可以實(shí)現(xiàn)for、while和do循環(huán)語(yǔ)句之間的轉(zhuǎn)換。綜合應(yīng)用:運(yùn)用各種流程控制語(yǔ)句和其他語(yǔ)句等已有知識(shí)進(jìn)行比較復(fù)雜的程序分析與設(shè)計(jì),如雙重或三重循環(huán)的程序分析與設(shè)計(jì)。第三部分函數(shù)考核目的:考核學(xué)生對(duì)變量作用域的理解限度,對(duì)函數(shù)定義與調(diào)用格式的掌握限度,對(duì)形式參數(shù)和實(shí)在參數(shù)的使用與結(jié)合的理解限度,對(duì)模塊化程序設(shè)計(jì)方法的掌握限度??己说闹R(shí)點(diǎn):模塊化程序設(shè)計(jì)的概念,多文獻(xiàn)結(jié)構(gòu)的程序。函數(shù)的定義、聲明與調(diào)用格式,靜態(tài)函數(shù)的含義。函數(shù)定義中值參數(shù)、指針參數(shù)、數(shù)組參數(shù)、引用參數(shù)、常量參數(shù)的聲明格式及作用;函數(shù)中帶默認(rèn)值參數(shù)的說(shuō)明與作用。函數(shù)調(diào)用中的實(shí)參與函數(shù)定義中的形參之間的結(jié)合過(guò)程。函數(shù)返回值的一般類型、指針類型和引用類型的作用。變量的作用域和生存期,靜態(tài)變量的特點(diǎn)。內(nèi)聯(lián)函數(shù)的定義格式及作用。遞歸函數(shù)的設(shè)計(jì)方法和調(diào)用過(guò)程。函數(shù)重載的含義和作用。函數(shù)模板的定義格式及作用??己艘?guī)定:理解:(1)模塊化程序設(shè)計(jì)與函數(shù)的關(guān)系,函數(shù)的定義格式與聲明格式,函數(shù)調(diào)用表達(dá)式的格式及執(zhí)行過(guò)程,帶默認(rèn)值參數(shù)的含義與用法。(2)全局變量、局部變量、靜態(tài)變量的含義。(3)內(nèi)聯(lián)函數(shù)和函數(shù)模板的定義與聲明格式,函數(shù)模板的實(shí)例化,重載函數(shù)的作用。應(yīng)用:(1)可以分析已知函數(shù),給出所能實(shí)現(xiàn)的功能或運(yùn)營(yíng)結(jié)果。(2)可以根據(jù)解決問(wèn)題的需要合理地設(shè)立函數(shù)參數(shù)、函數(shù)的返回值類型以及編寫(xiě)出函數(shù)體。(3)運(yùn)用遞歸函數(shù)來(lái)簡(jiǎn)化程序設(shè)計(jì)。(4)運(yùn)用函數(shù)重載來(lái)優(yōu)化程序設(shè)計(jì)。(5)運(yùn)用函數(shù)模板來(lái)設(shè)計(jì)可以解決任何數(shù)據(jù)類型的程序。第四部分?jǐn)?shù)組、結(jié)構(gòu)、指針和引用考核目的:考核學(xué)生對(duì)數(shù)組、字符串、結(jié)構(gòu)、指針、引用等數(shù)據(jù)類型的理解和掌握限度。考核的知識(shí)點(diǎn):一維數(shù)組的概念、定義和初始化。二維及多維數(shù)組的概念、定義和初始化。一維和二維數(shù)組元素的下標(biāo)訪問(wèn)方式。字符串與字符數(shù)組的區(qū)別與聯(lián)系,字符串的輸入與輸出。常用字符串函數(shù)(如strlen,strcpy,strcmp,strcat等)的調(diào)用格式與作用。結(jié)構(gòu)類型的定義格式和作用,結(jié)構(gòu)變量的定義格式和初始化。結(jié)構(gòu)成員的表達(dá)和使用。指針的概念、定義及初始化。針對(duì)指針的各種運(yùn)算操作。數(shù)組名的指針含義,數(shù)組元素的下標(biāo)與指針?lè)绞降谋磉_(dá)及轉(zhuǎn)換。數(shù)組形參與指針形參之間的等價(jià)表達(dá)與轉(zhuǎn)換。引用的定義和初始化,引用參數(shù)與值參數(shù)的區(qū)別。一般變量與數(shù)組的存儲(chǔ)空間的動(dòng)態(tài)分派與釋放??己艘?guī)定:理解:(1)數(shù)組、字符串、結(jié)構(gòu)、指針、引用等的概念、表達(dá)和作用。(2)數(shù)組的存儲(chǔ)空間分派,數(shù)組元素的地址計(jì)算,數(shù)組元素的下標(biāo)訪問(wèn)方式和指針訪問(wèn)方式。(3)字符串的存儲(chǔ)格式,字符串的輸入輸出方式,字符串函數(shù)的調(diào)用。(4)數(shù)據(jù)空間的動(dòng)態(tài)分派與釋放,鏈表的結(jié)構(gòu)與訪問(wèn)結(jié)點(diǎn)的過(guò)程。應(yīng)用:(1)可以分析和設(shè)計(jì)在一維數(shù)組上的順序查找、選擇排序、插入排序等算法。(2)可以分析和設(shè)計(jì)在二維數(shù)組上的矩陣加、減、轉(zhuǎn)置、乘等運(yùn)算的算法。(3)可以分析和設(shè)計(jì)運(yùn)用字符串函數(shù)進(jìn)行字符串解決的算法。(4)可以分析和設(shè)計(jì)動(dòng)態(tài)生成的鏈表,在鏈表頭或尾插入或刪除結(jié)點(diǎn)的算法,以及遍歷鏈表的算法。(5)可以分析和設(shè)計(jì)對(duì)順序或鏈接表達(dá)的棧或隊(duì)列進(jìn)行插入或刪除元素(結(jié)點(diǎn))的算法。(6)可以使用引用類型作為函數(shù)的參數(shù)類型和返回值類型。綜合應(yīng)用:運(yùn)用數(shù)組、字符串、結(jié)構(gòu)、指針、引用等數(shù)據(jù)類型進(jìn)行程序設(shè)計(jì)。第五部分類與對(duì)象考核目的:考核學(xué)生對(duì)類這種復(fù)雜數(shù)據(jù)類型的理解和運(yùn)用限度,對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)方法的掌握限度??己说闹R(shí)點(diǎn):面向?qū)ο蟪绦蛟O(shè)計(jì)的概念。類的定義,類與結(jié)構(gòu)的區(qū)別和聯(lián)系。類成員的訪問(wèn)控制與訪問(wèn)方式。內(nèi)聯(lián)與非內(nèi)聯(lián)成員函數(shù)的聲明與定義。對(duì)象的生成和初始化。類的作用域。類的構(gòu)造函數(shù)與析構(gòu)函數(shù)。類的拷貝構(gòu)造函數(shù)和賦值重載函數(shù)。靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)。對(duì)象成員和一般成員的初始化方式。友元函數(shù)與友元類。this指針。用數(shù)組和鏈表實(shí)現(xiàn)隊(duì)列類和棧類??己艘?guī)定:理解:(1)面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念。(2)類的定義,類成員的訪問(wèn)權(quán)限,構(gòu)造函數(shù)與析構(gòu)函數(shù)的定義格式及作用。(3)靜態(tài)數(shù)據(jù)成員定義、初始化與作用,靜態(tài)函數(shù)成員的定義格式與特性。(4)友元函數(shù)和友元類的聲明與作用。應(yīng)用:(1)可以分析和設(shè)計(jì)具有簡(jiǎn)樸類定義的程序。(2)可以使用數(shù)組或鏈表建立隊(duì)列類和棧類。綜合應(yīng)用:(1)可以根據(jù)程序規(guī)定構(gòu)造滿足規(guī)定的類。在構(gòu)造過(guò)程中充足考慮構(gòu)造函數(shù)和析構(gòu)函數(shù)的使用、成員訪問(wèn)控制的運(yùn)用、內(nèi)聯(lián)函數(shù)的運(yùn)用、靜態(tài)成員的選用。(2)可以根據(jù)規(guī)定構(gòu)造多個(gè)類完畢所規(guī)定的程序設(shè)計(jì)任務(wù),多個(gè)類之間可以發(fā)生一定的關(guān)系,如一個(gè)類作為另一個(gè)類的成員或友元、一個(gè)類使用另一個(gè)類的服務(wù)等。第六部分繼承與多態(tài)性考核目的:考核學(xué)生對(duì)面向?qū)ο髾C(jī)制(封裝、繼承和多態(tài))的理解和掌握限度??己说闹R(shí)點(diǎn):結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)思想的不同。繼承(單繼承與多繼承)的含義,派生類的定義和使用。派生類中構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行過(guò)程。對(duì)派生類和基類中同名成員的訪問(wèn)方式。靜態(tài)聯(lián)編與動(dòng)態(tài)聯(lián)編的各自的含義和區(qū)別。靜態(tài)聯(lián)編與函數(shù)重載,動(dòng)態(tài)聯(lián)編與虛函數(shù),多態(tài)性。虛基類,抽象類,純虛函數(shù)??己艘?guī)定:理解:(1)類繼承的概念和作用,派生類的定義格式。(2)派生類對(duì)基類的繼承方式,派生類對(duì)基類成員的訪問(wèn)權(quán)限。(3)靜態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)編的含義,函數(shù)重載和虛函數(shù)的作用。應(yīng)用:(1)能分析具有派生類的程序。(2)可以根據(jù)規(guī)定構(gòu)造類的繼承層次,并完畢一定的程序設(shè)計(jì)。綜合應(yīng)用:可以運(yùn)用繼承、虛函數(shù)、動(dòng)態(tài)聯(lián)編(即多態(tài)性)等機(jī)制完畢面向?qū)ο蟮某绦蛟O(shè)計(jì)。第七部分運(yùn)算符重載考核目的:考核學(xué)生對(duì)運(yùn)算符重載的理解和掌握限度??己说闹R(shí)點(diǎn):運(yùn)算符重載的概念與函數(shù)定義格式。一般函數(shù)的運(yùn)算符重載和成員函數(shù)的運(yùn)算符重載。引用在運(yùn)算符重載中的作用。作為友元函數(shù)的運(yùn)算符重載。單目和雙目算術(shù)運(yùn)算符的重載。增1和減1運(yùn)算符的重載。插入運(yùn)算符和抽取運(yùn)算符的重載。圓括號(hào)運(yùn)算符和中括號(hào)運(yùn)算符作為成員函數(shù)的重載??己艘?guī)定:理解:(1)運(yùn)算符重載的概念及作用。(2)引用在運(yùn)算符重載中的作用。(3)運(yùn)算符重載作為一般函數(shù)和成員函數(shù)在參數(shù)上的區(qū)別。應(yīng)用:可以分析和設(shè)計(jì)帶有運(yùn)算符重載的函數(shù)或類。三、期末考核試題樣例及解答一、單項(xiàng)選擇(每小題1分,12小題,共12分)1.C++源程序文獻(xiàn)的缺省擴(kuò)展名為()。A.cppB.exeC.objD.lik2.x>0||y==5的相反表達(dá)式為()。A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==53.在下面的字符數(shù)組定義中,有語(yǔ)法錯(cuò)誤的是()。A.chara[20]=“abcdefg”;B.chara[]=“x+y=55.”;C.chara[15];D.chara[10]=’5’;4.以下對(duì)的的函數(shù)原型語(yǔ)句是()。A.doublefun(intx,inty)B.doublefun(intx;inty)C.doublefun(int,int);D.doublefun(intx,y);5.在下面存儲(chǔ)類中,()的對(duì)象不是局部變量。A.外部靜態(tài)類B.自動(dòng)類C.函數(shù)形參D.寄存器類6.假定有“structBOOK{chartitle[40];floatprice;};BOOK*book=newBOOK;”,則對(duì)的的語(yǔ)句是()。A.strcpy(book->title,”WangTao”);B.strcpy(book.title,”WangTao”);C.strcpy(*book.title,”WangTao”);D.strcpy((*book)->title,”WangTao”);7.軟件產(chǎn)品所具有的所有或部分地再用于新的應(yīng)用的能力稱為該軟件的()。A.可維護(hù)性B.可復(fù)用性C.兼容性D.對(duì)的性8.在多文獻(xiàn)結(jié)構(gòu)的程序中,通常把具有main()函數(shù)的文獻(xiàn)稱為()。A.主文獻(xiàn)B.實(shí)現(xiàn)文獻(xiàn)C.程序文獻(xiàn)D.頭文獻(xiàn)9.在一個(gè)用鏈表實(shí)現(xiàn)的隊(duì)列類中,假定每個(gè)結(jié)點(diǎn)包含的值域用elem表達(dá),包含的指針域用next表達(dá),鏈隊(duì)的隊(duì)首指針用elemHead表達(dá),隊(duì)尾指針用elemTail表達(dá),若鏈隊(duì)為空,則進(jìn)行插入時(shí)必須把新結(jié)點(diǎn)的地址賦給()。A.elemHeadB.elemTailC.elemHead和elemTailD.elemHead或elemTail10.假定AB為一個(gè)類,則執(zhí)行“ABa,b(2),c[3],*p=&a;”語(yǔ)句時(shí)共調(diào)用該類無(wú)參構(gòu)造函數(shù)的次數(shù)為()。A.5B.6C.3D.411.引入友元的重要目的是為了()。A.增強(qiáng)數(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++語(yǔ)言是在_________語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的。2.假定x=5,y=6,則執(zhí)行表達(dá)式y(tǒng)*=x++計(jì)算后,x和y的值分別為_(kāi)_________和__________。3.假定x是一個(gè)邏輯量,則x&&false的值為_(kāi)_________。4.在if語(yǔ)句中,每個(gè)else關(guān)鍵字與它前面同層次并且最接近的________關(guān)鍵字相配套。5.一個(gè)二維字符數(shù)組a[10][20]可以存儲(chǔ)________個(gè)字符串,每個(gè)字符串的長(zhǎng)度至多為_(kāi)_______。6.局部變量具有局部生存期,存放在內(nèi)存的____________區(qū)中。7.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為42,則執(zhí)行*(p++)或*p++運(yùn)算后,p所指對(duì)象的值為_(kāi)_______。8.已知語(yǔ)句“cout<<s;”的輸出是“apple”,則執(zhí)行語(yǔ)句“cout<<s+2;”的輸出結(jié)果為_(kāi)_________。9.面向?qū)ο筌浖_(kāi)發(fā)的生命周期分為三個(gè)階段,即分析、__________和__________。10.若采用p->abc(y)表達(dá)式調(diào)用一個(gè)成員函數(shù),在成員函數(shù)中使用的________就代表了類外的p指針。11.當(dāng)用戶為一個(gè)類定義有____________時(shí),則系統(tǒng)不會(huì)為該類再自動(dòng)生成一個(gè)默認(rèn)構(gòu)造函數(shù)。12.假定用戶為類AB定義了一個(gè)構(gòu)造函數(shù)"AB(intaa,intbb):a(aa),b(bb){}",則定義該類的對(duì)象時(shí),有________種定義格式。13.假定用戶只為類AB定義了一個(gè)構(gòu)造函數(shù)"AB(intaa,intbb=0){a=aa;b=bb;}",則定義該類的對(duì)象時(shí),其實(shí)參表中至少帶有_________個(gè)實(shí)參。14.在重載一個(gè)單目運(yùn)算符時(shí),參數(shù)表中沒(méi)有參數(shù),說(shuō)明該運(yùn)算符函數(shù)只能是類的_____________。15.若要保證一個(gè)公共的基類在派生類中只產(chǎn)生一個(gè)基類子對(duì)象,則必須都以____________的方式繼承它。三、程序填充。對(duì)程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標(biāo)號(hào)把合適的內(nèi)容填寫(xiě)到程序下面相應(yīng)標(biāo)號(hào)的后面(每小題6分,3小題,共18分)1.把從鍵盤(pán)上輸入的一個(gè)大于等于3的整數(shù)分解為質(zhì)因子的乘積。如輸入24時(shí)得到的輸出結(jié)果為“2223”,輸入50時(shí)得到的輸出結(jié)果為“255”,輸入37時(shí)得到的輸出結(jié)果為“37”。#include<iostream.h>voidmain(){ intx; cout<<"請(qǐng)輸入一個(gè)整數(shù),若小于3則重輸:"; docin>>x;while(___(1)___); inti=2; do{ while(___(2)___){ cout<<i<<''; x/=i; } ___(3)___; }while(i<x); if(x!=1)cout<<x; cout<<endl;}(1)(2)(3)2.假定有定義為“structNODE{intdata;NODE*next;};”,下面算法根據(jù)table數(shù)組中的n個(gè)元素建立一個(gè)表頭指針為L(zhǎng)的鏈表,鏈表中結(jié)點(diǎn)值的順序與數(shù)組元素值的順序正好相反。voidf6(NODE*&L,inttable[],intn){ L=NULL; if(n<=0)return; inti=0; NODE*p; while(___(1)___){ p=newNODE; p->data=___(2)___; p->next=L; ___(3)___; i++; }}(1)(2)(3)3.已知一個(gè)運(yùn)用數(shù)組實(shí)現(xiàn)棧的類定義如下:constintARRAY_SIZE=10;classStack{public: voidInit(){top=-1;}//初始化棧為空voidPush(intnewElem);//向棧中壓入一個(gè)元素 intPop();//從棧頂彈出一個(gè)元素 boolEmpty(){//判??誶eturntop==-1;} intDepth(){returntop+1;}//返回棧的深度 voidPrint();//按照后進(jìn)先出原則依次輸出棧中每個(gè)元素,//直到??諡橹筽rivate: intelem[ARRAY_SIZE];//用于保存棧元素的數(shù)組 inttop;//指明棧頂元素位置的指針};voidStack::Push(intnewElem){ if(___(1)___){ cout<<"棧滿!"<<endl; exit(1);//中止運(yùn)營(yíng) } ___(2)___; elem[top]=___(3)___;}(1)(2)(3)四、寫(xiě)出程序或程序段的運(yùn)營(yíng)結(jié)果(每小題6分,3小題,共18分)1.#include<iostream.h>voidmain(){intx=5; switch(2*x-3){ case4:cout<<x<<’’; case7:cout<<2*x+1<<’’; case10:cout<<3*x-1<<’’;break; default:cout<<"default"<<endl; } cout<<"switchend."<<endl;}2.#include<iostream.h>voidmain(){ inti,j,len[3]; chara[3][8]={"year","month","day"}; for(i=0;i<3;i++){ for(j=0;j<8;j++) if(a[i][j]=='\0'){ len[i]=j;break; } cout<<a[i]<<":"<<len[i]<<endl; }}3.#include<iostream.h>#include<string.h>classPoint{ intx,y;public: Point(intx1=0,inty1=0):x(x1),y(y1){ cout<<"Point:"<<x<<''<<y<<'\n'; } ~Point(){ cout<<"Pointdes!\n"; }};classText{chartext[100]; //文字內(nèi)容public: Text(char*str){strcpy(text,str);cout<<"Textcon!\n"; } ~Text() {cout<<"Textdes!\n";}};classCircleWithText:publicPoint,publicText{public: CircleWithText(intcx,intcy,char*msg): Point(cx,cy),Text(msg){ cout<<"PointwithTextcon!\n"; } ~CircleWithText(){cout<<"PointwithTextdes\n";}};voidmain(){ CircleWithTextcm(3,4,"hello"); }五、指出程序或函數(shù)的功能(每小題6分,2小題,共12分)1.doublef1(doublea,doubleb,charop){ switch(op){ case’+’:returna+b; case’-’:returna-b; case’*’:returna*b; case’/’:if(b==0){ cout<<"dividedby0!"<<endl; exit(1); } elsereturna/b; default:cout<<"operatorerror!"<<endl; exit(1); }}功能:2.IntNode*FindMax(IntNode*f){ if(!f)returnNULL; IntNode*p=f; f=f->next; while(f){ if(f->data>p->data)p=f; f=f->next; } returnp;}假定IntNode的類型定義為:structIntNode{ intdata;//結(jié)點(diǎn)值域 IntNode*next;//結(jié)點(diǎn)指針域};功能:六、程序改錯(cuò)。請(qǐng)根據(jù)程序或函數(shù)模塊的功能改寫(xiě)個(gè)別地方的錯(cuò)誤(每小題6分,共6分)。在下面的定義中,NODE是鏈表結(jié)點(diǎn)的結(jié)構(gòu),appendToList則是一函數(shù),其功能是:在list所指向的鏈表的末尾添加一個(gè)新的值為x的結(jié)點(diǎn),并返回表頭指針。函數(shù)中有兩處錯(cuò)誤,指犯錯(cuò)誤所在行的行號(hào)并提出改正意見(jiàn)。structNODE{intdata;NODE*next;};NODE*appendToList(NODE*list,intx){//1行NODE*p=newint;//2行p->data=x;//3行p->next=NULL;//4行if(list==NULL)returnp;//5行NODE*p1=list;//6行while(p1->next!=NULL)p1=p1->next;//7行p1=p;//8行returnlist;}錯(cuò)誤行的行號(hào)為_(kāi)_____和________。分別改正為_(kāi)_____________和______________。七、編程(每小題8分,2小題,共16分)1.編一程序求出滿足不等式的最小n值并輸出。2.根據(jù)下面類中MaxMin函數(shù)成員的原型和注釋寫(xiě)出它的類外定義。classAA{ int*a; intn; intMS;public: voidInitAA(intaa[],intnn,intms){ if(nn>ms){cout<<"Error!"<<endl;exit(1);} MS=ms; n=nn; a=newint[MS]; for(inti=0;i<MS;i++)a[i]=aa[i]; }intMaxMin(int&x,int&y);//從數(shù)組a的前n個(gè)元素中求出//最大值和最小值,并分別由引用參數(shù)x和y帶回,//同時(shí)若n大于0則返回1,否則返回0。};試題參考解答:一、單項(xiàng)選擇1.A2.B3.D4.C5.A6.A7.B8.A9.C10.D11.C12.B二、填空1.C2.630
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025國(guó)有土地使用權(quán)出讓合同3
- 數(shù)字化賦能文化建設(shè)的評(píng)估與優(yōu)化策略
- 商丘職業(yè)技術(shù)學(xué)院《二維動(dòng)畫(huà)創(chuàng)作一》2023-2024學(xué)年第一學(xué)期期末試卷
- 商丘職業(yè)技術(shù)學(xué)院《材料科學(xué)基礎(chǔ)2》2023-2024學(xué)年第一學(xué)期期末試卷
- 商丘幼兒師范高等??茖W(xué)?!逗K治龌瘜W(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 商丘醫(yī)學(xué)高等專科學(xué)校《空間數(shù)據(jù)結(jié)構(gòu)》2023-2024學(xué)年第一學(xué)期期末試卷
- 商丘學(xué)院《中國(guó)文化概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 商丘學(xué)院《綠色設(shè)計(jì)與循環(huán)利用》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年施工安全責(zé)任協(xié)議書(shū)編寫(xiě)規(guī)范2篇
- 汕尾職業(yè)技術(shù)學(xué)院《科學(xué)計(jì)算與數(shù)據(jù)可視化》2023-2024學(xué)年第一學(xué)期期末試卷
- 五年級(jí)數(shù)學(xué)(小數(shù)四則混合運(yùn)算)計(jì)算題專項(xiàng)練習(xí)及答案
- 第17課 中國(guó)工農(nóng)紅軍長(zhǎng)征 課件-2024-2025學(xué)年統(tǒng)編版八年級(jí)歷史上冊(cè)
- 災(zāi)難事故避險(xiǎn)自救-終結(jié)性考核-國(guó)開(kāi)(SC)-參考資料
- 【MOOC】創(chuàng)新與創(chuàng)業(yè)管理-南京師范大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 【MOOC】成本會(huì)計(jì)學(xué)-西北農(nóng)林科技大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 人教版道德與法治六上六年級(jí)道德與法治(上冊(cè))期末 測(cè)試卷(答案版)
- 2024年中國(guó)金蓮花膠囊市場(chǎng)調(diào)查研究報(bào)告
- 2024-2030年中國(guó)廢棄電器電子產(chǎn)品回收處理行業(yè)發(fā)展?fàn)顩r及投資規(guī)劃分析報(bào)告版
- 數(shù)據(jù)標(biāo)注合作合同模板
- 紀(jì)檢監(jiān)察干部實(shí)務(wù)培訓(xùn)
- 3.1《中國(guó)科學(xué)技術(shù)史序言(節(jié)選)》課件
評(píng)論
0/150
提交評(píng)論