版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
國家二級(jí)(C++)機(jī)試模擬試卷5(共9套)(共168題)國家二級(jí)(C++)機(jī)試模擬試卷第1套一、選擇題(本題共39題,每題1.0分,共39分。)1、下列敘述中正確的是()。A、對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為nB、對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n/2)C、對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(log2n)D、對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(nlog2n)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:二分法查找只適用于順序存儲(chǔ)的有序表,對(duì)于長(zhǎng)度為n的有序線性表,最壞情況只需比較log2n次。2、算法的時(shí)間復(fù)雜度是指()。A、算法的執(zhí)行時(shí)間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)D、算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:算法的時(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來說,計(jì)算機(jī)算法是問題規(guī)模n的函數(shù)f(n),算法的時(shí)間復(fù)雜度也因此記做T(n)=O(f(n)),因此,問題的規(guī)模n越大,算法執(zhí)行的時(shí)間增長(zhǎng)率與f(n)的增長(zhǎng)率正相關(guān),稱做漸進(jìn)時(shí)間復(fù)雜度(AsymptoticTimeComplexity)。簡(jiǎn)單來說就是算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)。3、軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于系統(tǒng)軟件的是()。A、編輯軟件B、操作系統(tǒng)C、教務(wù)管理系統(tǒng)D、瀏覽器標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:編輯軟件和瀏覽器屬于工具軟件,教務(wù)系統(tǒng)是應(yīng)用軟件。4、軟件(程序)調(diào)試的任務(wù)是()。A、診斷和改正程序中的錯(cuò)誤B、盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤C、發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤D、確定程序中錯(cuò)誤的性質(zhì)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:調(diào)試的目的是發(fā)現(xiàn)錯(cuò)誤或?qū)е鲁绦蚴У腻e(cuò)誤原因,并修改程序以修正錯(cuò)誤。調(diào)試是測(cè)試之后的活動(dòng)。5、數(shù)據(jù)流程圖(DFD)是()。A、軟件概要設(shè)計(jì)的工具B、軟件詳細(xì)設(shè)計(jì)的工具C、結(jié)構(gòu)化方法的需求分析工具D、面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ邩?biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)流程圖是一種結(jié)構(gòu)化分析描述模型,用來對(duì)系統(tǒng)的功能需求進(jìn)行建模。6、軟件生命周期可分為定義階段、開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于()。A、定義階段B、開發(fā)階段C、維護(hù)階段D、上述3個(gè)階段標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:開發(fā)階段在開發(fā)初期分為需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)3個(gè)階段,在開發(fā)后期分為編碼、測(cè)試兩個(gè)子階段。7、數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是()。A、數(shù)據(jù)定義語言B、數(shù)據(jù)管理語言C、數(shù)據(jù)操縱語言D、數(shù)據(jù)控制語言標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:數(shù)據(jù)模式是由數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL)來描述、定義的,體現(xiàn)、反映了數(shù)據(jù)庫系統(tǒng)的整體觀。8、在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是()。A、文件B、數(shù)據(jù)庫C、字段D、記錄標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:一個(gè)數(shù)據(jù)庫由一個(gè)文件或文件集合組成。這些文件中的信息可分解成一個(gè)個(gè)記錄。9、數(shù)據(jù)庫設(shè)計(jì)中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計(jì)的()。A、需求分析階段B、邏輯設(shè)計(jì)階段C、概念設(shè)計(jì)階段D、物理設(shè)計(jì)階段標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:E—R圖為實(shí)體一聯(lián)系圖,提供了表示實(shí)體型、屬性和聯(lián)系的3-法,用來描述現(xiàn)實(shí)世界的概念模型。10、有兩個(gè)關(guān)系R和T如下所示:則由關(guān)系R得到關(guān)系T的操作是()。A、選擇B、投影C、交D、并標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選擇是建立一個(gè)含有與原始關(guān)系相同列數(shù)的新表,但是行只包括那些滿足某些特定標(biāo)準(zhǔn)的原始關(guān)系行。11、下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。A、多態(tài)性B、繼承C、封裝性D、模塊化標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:面向?qū)ο笤O(shè)計(jì)3-法是使用現(xiàn)實(shí)世界的概念抽象地思考問題,從而自然地解決問題。其特點(diǎn)包括:分類性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。12、下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是()。A、源程序要文檔化B、數(shù)據(jù)說明的次序要規(guī)范化C、避免濫用goto爵句D、模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:對(duì)于軟件設(shè)計(jì)中的模塊設(shè)計(jì)要保證高內(nèi)聚和低耦合,源程序要有文檔說明,同時(shí)對(duì)程序中數(shù)據(jù)的說明要規(guī)范化。而goto語句會(huì)破壞程序的結(jié)構(gòu),要盡量避免使用。所以D不正確。13、設(shè)計(jì)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)屬于()。A、需求分析B、概念設(shè)計(jì)C、邏輯設(shè)計(jì)D、物理設(shè)計(jì)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:物理設(shè)計(jì)階段主要解決選擇文件存儲(chǔ)結(jié)構(gòu)和確定文件存取方法的問題,包括選擇存儲(chǔ)結(jié)構(gòu)、確定存取方法、選擇存取路徑、確定數(shù)據(jù)的存放位置。14、相對(duì)于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。A、可重用性差B、安全性差C、非持久性D、冗余性標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散、相互獨(dú)立的。因此相對(duì)于數(shù)據(jù)庫系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn):數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡(jiǎn)稱為數(shù)據(jù)依賴)。15、設(shè)關(guān)系R和關(guān)系S的元數(shù)分別是3和4,元組數(shù)分別為5和6,則R與S自然連接所得到的關(guān)系,其元數(shù)和元組數(shù)分別為()。A、7和11B、12和30C、<7和<30D、=7和<=30標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:自然連接運(yùn)算是專門的關(guān)系運(yùn)算,是將兩個(gè)關(guān)系拼接成一個(gè)新的關(guān)系,生成的新關(guān)系中包含滿足條件的元組,并且默認(rèn)連接條件為公共屬性相等,沒有重復(fù)的屬性和元組。由于R和S連接后,如果不去除重復(fù)屬性,其元數(shù)為R和S的元數(shù)之和也就是7,而自然連接的結(jié)果由于要去除重復(fù)屬性,則其元數(shù)必然小于7,由于R和S連接后,如果不去除重復(fù)元組,其元組數(shù)為R和S的元數(shù)之積也就是30,而自然連接的結(jié)果由于要去除重復(fù)元組,則其元組數(shù)必然小于30。16、下列關(guān)于函數(shù)的描述中,錯(cuò)誤的是()。A、函數(shù)可以沒有返回值B、函數(shù)可以沒有參數(shù)C、函數(shù)可以是一個(gè)類的成員D、函數(shù)不能被定義為模板標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:函數(shù)可以被定義為模板:“template<模板形參表><返回值類型><函數(shù)名>(模板函數(shù)形參表){//函數(shù)定義體},”其中<模板形參表>是由一個(gè)或多個(gè)<模板形參>組成,每個(gè)<模板形參>可以有這幾種形式:typename<參數(shù)名>,class<參數(shù)名>,<類型修飾><參數(shù)名>;前兩種是等價(jià)的typename和class可以互換,它們的參數(shù)為虛擬類型參數(shù);最后一種的參數(shù)是常規(guī)參數(shù)。17、若MyClass是一個(gè)類名,其有如下語句序列:MyClassc1,*c2;MyClass*c3=newMyClass;MyClass&c4=c1:上面的語句序列所定義的類對(duì)象的個(gè)數(shù)是()。A、1B、2C、3D、4標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:首先定義對(duì)象的格式:(存儲(chǔ)類型)<類名><對(duì)象名1>(<對(duì)象名2>,…,<對(duì)象名n>);第一句定義了對(duì)象c1和指針對(duì)象c2,而MyClass*c3=newMyClass是Java里的定義方式,MyClass&c4=c1這種定義方式也是不對(duì)的。18、下列關(guān)于繼承方式的描述中,錯(cuò)誤的是()。A、如果不顯式地指定繼承方式,默認(rèn)的繼承方式是私有(private)B、采用公有繼承方式時(shí),基類中的公有成員在派生類中仍然是公有成員C、采用保護(hù)繼承方式時(shí),基類中的保護(hù)成員在派生類中仍然是保護(hù)成員D、采用私有繼承方式時(shí),基類中的私有成員在派生類中仍然是私有成員標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:采用私有繼承方式時(shí),基類中私有成員在派生類中是不可訪問的成員。19、將前綴運(yùn)算符“--”重載為非成員函數(shù),下列原型中,能正確用于類中說明的是()。A、Decr&operator--{int);B、Decroperator--(Decr&,int);C、friendDecr&cperator--(Decr&);D、friendDecroperacor--(Decr&,int);標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:把“--”運(yùn)算符重載為非成員(友元)函數(shù)格式:“friend<返回類型>operator--()”是前綴的格式;friend<返回類型>operator--(int)是后綴的格式。當(dāng)然也可以有參數(shù)如題中C選項(xiàng)所示。20、若MyTemp是一個(gè)具有虛擬類型參數(shù)的類模板,且有如下語句序列:MyTempp2;MyTemp<long>p3[2];編譯系統(tǒng)在處理上面的語句序列時(shí),所生成的模板MyTemp的實(shí)例的個(gè)數(shù)是()。A、1B、2C、3D、4標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:類模板是一系列相關(guān)類的模板或樣板,成員函數(shù)的源代碼形式相同,不同的是所針對(duì)的類型不一樣,如題中的一個(gè)double類型,一個(gè)long類型;類模板中數(shù)據(jù)類型本身是它的參數(shù),它是類的生成器。21、在C++中,cin是一個(gè)()。A、類B、對(duì)象C、模板D、函數(shù)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:C++提供了一套輸入/輸出流類的對(duì)象,它們是cin、tout和cerr,對(duì)應(yīng)C語言中的3個(gè)文件指針stdin、stdout、stderr,分別指向終端輸入、終端輸出和標(biāo)準(zhǔn)出錯(cuò)輸出(也從終端輸出)。cin與>>一起完成輸入操作,cout、cerr與<<一起完成輸出與標(biāo)準(zhǔn)錯(cuò)誤輸出。22、在下列字符中,不允許作為C++標(biāo)識(shí)符的是()。A、bB、BC、_D、2標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在C++中,標(biāo)識(shí)符只能以字母、數(shù)字和下畫線組成,并且首字母不能為數(shù)字。所以D選項(xiàng)錯(cuò)誤。23、下列敘述中,錯(cuò)誤的是()。A、false是一個(gè)邏輯型常量B、“b”是一個(gè)字符型常量C、365是一個(gè)int常量D、3.1415926是一個(gè)double常量標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:double型數(shù)據(jù)一般占8字節(jié),D選項(xiàng)超出了范圍。24、若x和y是程序中的兩個(gè)整型變量,則下列if語句中正確的是()。A、if(x==0)y=1;elsey=2;B、if(x==0)theny=1elsey=2C、if(x==0)y=1elsey=2;D、ifx==0y=1elsey=2;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:if...else語句的格式“if(<條件>)<語句1>else<語句2>”注意語句結(jié)束要以分號(hào)結(jié)尾,對(duì)照題中選項(xiàng)可知A正確。25、要定義整型數(shù)組x,使之包括初值為0的3個(gè)元素,下列語句中錯(cuò)誤的是()。A、intx[3]={0,0,0};B、intx[]={0};C、staticintx[3]:{0};D、intx[]={0,0,0};標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:選項(xiàng)D中整型數(shù)組x的第一個(gè)元素是NULL不是0,故選D。26、關(guān)于函數(shù)中的<返回類型>,下列表述中錯(cuò)誤的是()。A、<返回類型>中有可能包含關(guān)鍵字intB、<返回類型>中有可能包含自定義標(biāo)識(shí)符C、<返回類型>中有可能包含字符*D、<返回類型>中可能包含[]標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:<返回類型>又稱函數(shù)類型,表示一個(gè)函數(shù)所計(jì)算(或運(yùn)行)的結(jié)果值類型,這里的類型可以是預(yù)定義類型(如int)、復(fù)合類型(如double*)、用戶定義類型(如枚舉類),若返回值只做更新(或設(shè)置)等操作,則該函數(shù)返回類型為void類型,函數(shù)類型和內(nèi)置數(shù)組不能作為返回類型,但類類型和容器類型可以被直接返回。27、要定義一個(gè)引用變量p,使之引用類MyClass的一個(gè)對(duì)象,正確的定義語句是()。A、MyClassp=MyClass;B、MyClassp=newMyClass;C、MyClass&p=newMyClassD、MyClassa,&p=a;標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:選項(xiàng)A錯(cuò)誤不存在這樣的定義方式;選項(xiàng)B定義了一個(gè)MyClass類的對(duì)象p;選項(xiàng)C是Java里的定義方式。28、有如下兩個(gè)類定義:classXX{private:doublex1;protected:doublex2;public:doublex3;};claseYY:protectedXX{private:doubley1;protected:doubley2;public:doubley3;};在類YY中保護(hù)成員變量的個(gè)數(shù)是()。A、1B、2C、3D、4標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:派生類從基類保護(hù)繼承classYY:protectedXX時(shí),基類的公有成員在派生類中變?yōu)楸Wo(hù)成員,基類的保護(hù)成員在派生類中仍然是保護(hù)成員;本題中YY本身有一個(gè)保護(hù)成員y2,再加上基類XX的x2和x3,故選C。29、下列關(guān)于運(yùn)算符重載的描述中,錯(cuò)誤的是()。A、可以通過運(yùn)算符重載在C++中創(chuàng)建新的運(yùn)算符B、賦值運(yùn)算符只能重載為成員函數(shù)C、運(yùn)算符函數(shù)重載為類的成員函數(shù)時(shí),第一操作參數(shù)就是該類對(duì)象D、重載類型轉(zhuǎn)換運(yùn)算符時(shí)不需要聲明返回類型標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:運(yùn)算符的重載是針對(duì)C++中原有運(yùn)算符進(jìn)行的,不能通過重載創(chuàng)造新的運(yùn)算符。30、下列關(guān)于類模板的描述中,錯(cuò)誤的是()。A、類模板的成員函數(shù)都是模板函數(shù)B、可以為類模板參數(shù)設(shè)置默認(rèn)值C、類模板描述了一組類D、類模板中只允許有一個(gè)類型參數(shù)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:類模板是一系列相關(guān)類的模板,類成員組成相同,成員函數(shù)的源代碼形式相同,所不同的是所針對(duì)的類型。類模板的成員函數(shù)都是模板函數(shù),在用類模板定義對(duì)象時(shí),由于沒有像函數(shù)實(shí)參表這樣的額外信息渠道,因此無法按函數(shù)模板的方式省略模板實(shí)參。但可以為類模板的參數(shù)設(shè)置默認(rèn)值。由此可知應(yīng)選D。31、下列控制格式輸入/輸出的操作符中,能夠設(shè)置浮點(diǎn)數(shù)精度的是()。A、setprecisionB、setwC、setfillD、showpoint標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:setprecision(int)是設(shè)置浮點(diǎn)數(shù)的精度,setw(intn)是設(shè)置輸入/輸出寬度,setfill(charc)設(shè)置填充字符,showpoint即使小數(shù)部分為0,也輸出以及其后的無效數(shù)據(jù)0。32、下列程序段中包含4個(gè)函數(shù),其中具有隱含this指針的是()。intfunl();classTest{public:intfun2();friendintfun3();staticintfun4();};A、funlB、fun2C、fun3D、fun4標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:this指針是成員函數(shù)所屬對(duì)象的指針,是指向類對(duì)象的地址,是一個(gè)隱含的指針,隱含于每個(gè)類的非靜態(tài)成員函數(shù)中。fun1是外部函數(shù),fun3是友元函數(shù),fun4是靜態(tài)成員函數(shù),故選B。33、有如下程序:#includeusingnamespacestd;classTest{public:Test(){}Test(constTest&t){cout<<1;)};Testfun(Test&u){Testt=u;returnt;)intmain(){Testx,y;x=fun(y);return0;)運(yùn)行這個(gè)程序的輸出結(jié)果是()。A、無輸出B、1C、11D、111標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題調(diào)用了fun函數(shù)。34、有如下程序:#includeusingnamespacestd;classA{public:A(inti=0):r1(i){}voidprint(){cout<<’E’<A、P8-E4B、P8-C16-C、P0-E4-D、P0-C16-標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:暫無解析35、下列代碼段聲明了3個(gè)類:classPerson{};classStudent:publicPerson{};classUndergraduate:Student{};下列關(guān)于這些類之間關(guān)系的描述中,錯(cuò)誤的是()。A、類Person是類Undergraduate的基類B、類Undergraduate從類Student公有繼承C、類Student是類Person的派生類D、類Undergraduate是類Person的派生類標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:類Undergraduate從類Stadent私有繼承,繼承方式默認(rèn)是private。36、有如下程序:#includeUsingnamespacestd;classBase{public:Base(intx=0):valB(x){cout<A、2332B、2323C、3232D、3223標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題使用析構(gòu)函數(shù)。37、下面是類Shape的定義:classShape{public:virtualvoidDraw()=0:}下列關(guān)于Shape類的描述中,正確的是()。A、類Shape是虛基類B、類Shape是抽象類C、類Shape中的Draw函數(shù)聲明有誤D、語句“Shapes;”能夠建立Shape的一個(gè)對(duì)象s標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:抽象類是類中至少有一個(gè)純虛函數(shù),抽象類是用來被繼承的,即是用來生成派生類,它本身不能生成實(shí)例。38、將運(yùn)算符“+”重載為非成員函數(shù),下列原型聲明中,錯(cuò)誤的是()。A、MyClockoperator+(MyClock,long);B、MyClockoperator+(MyClock,MyClock);C、MyClockoperator+(long,long);D、MyClockoperator+(long,MyClock);標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:非成員函數(shù)一般都是友元函數(shù),相比成員函數(shù)第一個(gè)操作數(shù)是對(duì)象本身以this指針的形式隱含在參數(shù)列表中,非成員函數(shù)調(diào)用必須顯式的列出參數(shù);選項(xiàng)C中沒有MyClock類型,故選C。39、打開文件時(shí)可單獨(dú)或組合使用下列文件打開模式:①ios_base::aop②ios_base::binary③ios_base::④ios_base::out若要以二進(jìn)制讀方式打開一個(gè)文件,則需使用的文件打開模式為()。A、①③B、①④C、②③D、②④標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:ios_base::binary是作為二進(jìn)制文件打開,ios_base::out是為輸出而打開,故選D。二、基本操作題(本題共1題,每題1.0分,共1分。)40、使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)補(bǔ)充程序中的丟失部分,使得程序運(yùn)行。可以在修改處增加或者刪除一條語句。本程序完成以下功能:(1)獲得輸入的兩個(gè)數(shù)字d1,d2(d1=6,d2=1)。(2)輸出兩個(gè)中較大的一個(gè)(輸出6)。(3)計(jì)算d1/d2如果d2等于0,返回-1(輸出結(jié)果6)。(4)輸出d1+d2的結(jié)果(輸出結(jié)果7)。(5)輸出d1+1的結(jié)果(輸出結(jié)果7)。(6)輸出d2-1的結(jié)果(輸出結(jié)果0)。注意:錯(cuò)誤的語句在/********error********/的下面。修改該語句即可。其他的語句不能修改。試題程序:#includevoidmain(){intd1:intd2;intd3:cout<<"pleaseinputtwonumber:"<>d1>>d2;/********error********/d3=(d1(d2)?d1:d2;tout<<"Maxdatais:"<標(biāo)準(zhǔn)答案:(1)“d3=(d1知識(shí)點(diǎn)解析:本題考查了考生對(duì)條件表達(dá)式和自增自減運(yùn)算符了解的情況。d3應(yīng)為d1和d2中較大者的值,所以“(d1(d2)”應(yīng)改為“(d1)d2)”。若d2不為0,應(yīng)返回d1/d2的值,而不是d1\d2。第3處應(yīng)該輸d1+1d2-1,所以兩者的++、一一應(yīng)反過來。又因?yàn)閐3應(yīng)該是兩者原值之和,所以++、一一應(yīng)同時(shí)為后綴式或前綴形式。三、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)41、使用VC++6.0打開考生文件夾下的源程序文件2.cpp。閱讀下列函數(shù)說明和代碼,實(shí)現(xiàn)函數(shù)sort(intA[],intn),用選擇排序法將數(shù)組從大到小排序。提示:選擇排序法的思想是(1)反復(fù)從還未排好序的那部分線性表中選出關(guān)鍵字最小的結(jié)點(diǎn)。(2)按照從線性表中選出的順序排列結(jié)點(diǎn),重新組成線性表。(3)直到未排序的那部分為空,使得重新形成的線性表是一個(gè)有序的線性表。補(bǔ)充函數(shù)sort(intA[],intn),實(shí)現(xiàn)選擇排序。注意:請(qǐng)勿改動(dòng)主函數(shù)。試題程序:#include#defineN10voidsort(intA[N],intn){}intmain(){intA[N]={-72,54,-6,7,18,102,0,4,-11,1};sort(A,10);for(inti=0;i(sizeof(A)/sizeof(int);i++){cout<標(biāo)準(zhǔn)答案:inti,j;for(i=0;i(n-1;i++){for(j=0;j(n-1-i;j++){if(A[j])A[j+1])//如果前面的數(shù)比后面的大則進(jìn)行交換{intt=A[j];//進(jìn)行交換A[j]=A[j+1];A[j+1]=t;}}}知識(shí)點(diǎn)解析:數(shù)組A[N]中有n個(gè)數(shù),進(jìn)行n-1趟比較,在每一趟比較中兩兩比較的次數(shù)逐漸減少,比如若有6個(gè)數(shù)9,8,5,4,2,0。第一次將8和9對(duì)調(diào),第二次將第2個(gè)數(shù)9和第3個(gè)數(shù)5對(duì)調(diào),如此共進(jìn)行5次,得到8-5-4-2-0-9的順序,可以看到:最大的數(shù)9已“沉底”,成為最下面一個(gè)數(shù),而小的數(shù)“上升”。最小的數(shù)0已向上“浮起”一個(gè)位置。經(jīng)第一趟(共5次)后,已得到最大的數(shù),然后進(jìn)行第二趟比較,對(duì)余下的前面5個(gè)數(shù)按上面的方法進(jìn)行比較,經(jīng)過4次比較,得到次大的數(shù)8。如此進(jìn)行下去??梢酝浦?,6個(gè)數(shù)要比較5趟。在第一趟中要進(jìn)行兩兩比較5次,在第二趟中比較4次,……第5趟比較1次。因此設(shè)置兩層循環(huán),外層循環(huán)變量i從0變化大到n-1,內(nèi)層循環(huán)變量j從0到n-j,在內(nèi)層循環(huán)體內(nèi),比較相鄰兩數(shù),如果前面比后面的大則交換。在內(nèi)層循環(huán)體內(nèi),如果前面的元素比后面的元素大,則用一個(gè)臨時(shí)變量記錄前面的第j個(gè)元素,然后將第j+1個(gè)元素賦值給第j個(gè)元素,臨時(shí)變量值賦給第j+1個(gè)元素,如此完成兩個(gè)元素的交換。四、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)42、使用VC++6.0打開考生文件夾下的源程序文件3.cpp,其中定義了類BA、PA1和PA2,其中PA1類由BA類公有派生,PA2類由PA1類公有派生。上述3個(gè)類的定義并不完整,請(qǐng)按要求完成下列操作,將程序補(bǔ)充完整。程序輸出結(jié)果如下:1051057(1)定義類BA的構(gòu)造函數(shù),該構(gòu)造函數(shù)有一個(gè)整型的參數(shù)m,在構(gòu)造函數(shù)中將m賦值給數(shù)據(jù)成員a。請(qǐng)?jiān)谧⑨?之后添加適當(dāng)?shù)恼Z句。(2)定義類PA1的構(gòu)造函數(shù),該構(gòu)造函數(shù)有兩個(gè)整型的參數(shù)m和n,在構(gòu)造函數(shù)中將m賦值給數(shù)據(jù)成員b,將n作為基類BA構(gòu)造函數(shù)的參數(shù)值傳入。請(qǐng)?jiān)谧⑨?之后添加適當(dāng)?shù)恼Z句。(3)定義類PA2的構(gòu)造函數(shù),該構(gòu)造函數(shù)有3個(gè)整型的參數(shù)m、n和k,在構(gòu)造函數(shù)中請(qǐng)將m賦值給數(shù)據(jù)成員c,將n和k分別賦值給基類PA1構(gòu)造函數(shù)的參數(shù)m和n。請(qǐng)?jiān)谧⑨?之后添加適當(dāng)?shù)恼Z句。(4)完成類PA2的成員函數(shù)show的定義,該函數(shù)調(diào)用基類成員函數(shù),輸出基類私有成員a、b及類PA2自身的數(shù)據(jù)成員c的值,上述3個(gè)值在輸出時(shí)用空格隔開。請(qǐng)?jiān)谧⑨?之后添加適當(dāng)?shù)恼Z句。注意:除在指定位置添加語句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。試題程序:#includeclassBA{inta;public://********1********intbeta(){returna;}};classPA1:publicBA{intb;public://********2********intgetb(){returnb;)};classPA2:publicPA1{intC;public://********3********voidshow(){//********4********}};voidmain(){PA2a(7,5,10);cout<標(biāo)準(zhǔn)答案:(1)應(yīng)添加“BA(intm){a=m;}”。(2)應(yīng)添加“PA1(intm,intn):BA(n){b=m;}”。(3)應(yīng)添加“PA2(intm,intn,intk):PA1(n,k){c=m;}”。(4)應(yīng)添加“cout<知識(shí)點(diǎn)解析:根據(jù)第1處要求,構(gòu)造函數(shù)的函數(shù)名和類名一致,顯然BA構(gòu)造函數(shù)的名稱為BA,在BA()中通過參數(shù)m完成對(duì)成員變量a的賦值,因此構(gòu)造函數(shù)的名稱為BA(intm),在函數(shù)內(nèi)部對(duì)成員a賦值,故第1處的語句應(yīng)添加“BA(intm){a=m;}”。根據(jù)第2處的要求,構(gòu)造函數(shù)的形式為“PA1(intm,intn)”,m賦值給PA1類成員b,將n作為基類BA構(gòu)造函數(shù)的參數(shù)值傳入,故第2處應(yīng)添加“PA1(intm,intn):BA(n){b=m;)”。根據(jù)第3處的要求,函數(shù)形式為PA2(intm,intn,intk),在構(gòu)造函數(shù)中將m賦值給數(shù)據(jù)成員c,將n和k分別賦值給基類PA1構(gòu)造函數(shù)的參數(shù)m和n,因此第3處應(yīng)添加“PA2(intm,intn,intk):PA1(n,k){c=m;)”。根據(jù)第4處的要求,PA2類公有派生于PA1,而PA1公有派生于BA,因此在PA2類中可以調(diào)用基類的geta()和getb()來獲得基類私有成員a和b,再輸出PA2的私有成員c即滿足要求,因此第4處應(yīng)添加“cout<國家二級(jí)(C++)機(jī)試模擬試卷第2套一、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)1、使用VC6打開考生文件夾下的工程MyProj5。此工程包含一個(gè)源程序文件MyMain5.cpp,其中定義了用于表示日期的類Date,但類Date的定義并不完整。請(qǐng)按要求完成下列操作,將類Date的定義補(bǔ)充完成:①定義私有數(shù)據(jù)成員length、width和labe1,其中l(wèi)ength、width是int型,labe1是類point的對(duì)象。它們分別表示長(zhǎng)方形的長(zhǎng)、寬以及坐標(biāo)點(diǎn)。請(qǐng)?jiān)谧⑨尅?/**1**”之后添加適當(dāng)?shù)恼Z句。②完成構(gòu)造函數(shù)square的定義,使square對(duì)象的默認(rèn)值為:length=0,width=0,label(0,0),請(qǐng)?jiān)谧⑨尅?/**2**”之后添加適當(dāng)?shù)恼Z句。③完成重載構(gòu)造函數(shù)square(intl,intw,intx,inty)的定義,把數(shù)據(jù)成員length、width和對(duì)象labe1分別初始化為參數(shù)l、w、x和y的值,請(qǐng)?jiān)谧⑨尅?/**3**”之后添加適當(dāng)?shù)恼Z句。④完成成員函數(shù)get_area()的類外定義,此函數(shù)的功能是返回此長(zhǎng)方形的面積,及返回length*width的值。請(qǐng)?jiān)谧⑨尅?/**4**”之后添加適當(dāng)?shù)恼Z句。注意:除在指定位置添加語句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。源程序文件MyMain5.cpp清單如下://MyMain5.cpp#include<iostream>usingnamespacestd;classpoint{private:intx,y;public:voidset(inti,intj){x=i;y=j;}intget_y(){returny;}};classsquare{//**1**public://**2**square(intl,intw,intx,inty){//**B**}voidset(intl,intw){length=1;width=w;}intget_area()const{returnlength*width;}};intsquare::getarea()const{//**4**}intmain(){squaresmall(2,4,1,35);cout<<small.get_area()<<end1;return0;}標(biāo)準(zhǔn)答案:補(bǔ)充完整后,類square的完整定義為:classsquare{private:intlength,width;pointlabel;public:square(){length=0;width=0;label.set(0,0);}square(intl,intw,intx,inty){length=1;width=w;labe1,set(x,y);}voidset(intl,intw){length=1;width=w;}intget_area()const;};intsquare::get_area()const{returnlength*width;}知識(shí)點(diǎn)解析:第1空白處是定義類square的各種私有成員,第2空白處完成構(gòu)造函數(shù)square()的定義,并具有默認(rèn)參數(shù),第3空白處是完成重載構(gòu)造函數(shù),第4空白處完成成員函數(shù)get_area()的類外定義。國家二級(jí)(C++)機(jī)試模擬試卷第3套一、程序改錯(cuò)題(本題共1題,每題1.0分,共1分。)1、使用VC6打開考生文件夾下的工程test41_1,此工程包含一個(gè)源程序文件test41_1.cpp,但該程序運(yùn)行有問題,請(qǐng)改正函數(shù)中的錯(cuò)誤,使該程序的輸出結(jié)果為:7源程序文件test41_1.cpp清單如下:#include<iostream.h>classmyclass{inta,b;public:/*****************found*****************/intsum(myclassx);voidset_ab(inti,intj);}:/****************found****************/voidmyclass:set_ab(inti,intj){a=i;b=j;}intsum(myclassx){/*****************found***************/x.a+x.b;}voidmain(){myclassn;n.set_ab(3,4);cout<<sum(n)<<endl;}標(biāo)準(zhǔn)答案:(1)錯(cuò)誤:intsum(myclassx);正確:friendintsum(myclassx);(2)錯(cuò)誤:voidmyclass:set_ab(inti,intj)正確:voidmyclass::set_ab(inti,intj)(3)錯(cuò)誤:x.a+x.b;正確:returnx.a+x.b;知識(shí)點(diǎn)解析:(1)函數(shù)sum中含有對(duì)于myclass類的私有數(shù)據(jù)成員a和b的操作,而普通函數(shù)沒有這樣的權(quán)限,所以編譯器會(huì)報(bào)錯(cuò),只有把sum定義成該類的友元函數(shù),這樣根據(jù)友元函數(shù)可以訪問該類的所有元素的規(guī)則,就可以正確地實(shí)現(xiàn)該函數(shù):(2)函數(shù)的參數(shù)列表只能用于類的構(gòu)造函數(shù),對(duì)于構(gòu)造函數(shù),參數(shù)列表與在函數(shù)體內(nèi)賦值是等價(jià)的,但是一般的類的成員函數(shù)只能使用函數(shù)體內(nèi)賦值一種方法;(3)該函數(shù)的返回值為int型,所以計(jì)算之后的結(jié)果應(yīng)該使用關(guān)鍵字return返回主函數(shù),return返回值可以使用括號(hào),也可以不使用,后面可以是表達(dá)式也可以是變量或者常量。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、請(qǐng)編寫一個(gè)函數(shù)maxofarray(atype*p,intcount),該函數(shù)從一個(gè)數(shù)組中找出其中的最大元素,并且數(shù)組中可以存放多種數(shù)據(jù)類型的元素。注意:部分源程序己存在文件test42_2.cpp中。請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)maxofarray的花括號(hào)中填寫若干語句。文件test42_2.cpp清單如下:#include<iostream.h>#include<string.h>#include<conio.h>template<classatype>voidmaxofarray(atype*p,intcount){}voidmain(){intlen=5;char*p1;cout<<"thechartypearrayandit’slengthis5:\n";cout<<"thearrayelementisabcde\n";p1=newchar[len];for(inti=0;i<len;i++)p1[i]=’a’+i;maxofarray(p1,len);}標(biāo)準(zhǔn)答案:voidmaxofarray(atype*p,intcount){for(intj=0;j<count-1;j++){for(intk=0;k<count-1-j;k++)if(p[k]>p[k+1]){atypetemp;temp=p[k];p[k]=p[k+1];p[k+1]=temp;}}cout<<"\nthemaxelementofthisarrayis:"<<p[count-1]<<endl;}知識(shí)點(diǎn)解析:本題考查的是考生對(duì)模板函數(shù)和簡(jiǎn)單的排序方法的綜合應(yīng)用。為了對(duì)于任何數(shù)據(jù)類型都能進(jìn)行比較,應(yīng)該使用模板類進(jìn)行函數(shù)的參數(shù)的定義,而函數(shù)內(nèi)部則使用了冒泡排序法得到最大的元素,實(shí)際上只需要一次兩兩比較就可以得到正確的答案了,考生可以自己試試看。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、使用VC6打開考生文件夾下的工程test40_3。此工程包含一個(gè)test40_3.cpp,其中定義了類CVector,但該類的定義并不完整。請(qǐng)按要求完成下列操作,將程序補(bǔ)充完整。(1)完成類CVector構(gòu)造函數(shù)的定義,把傳入的int型參數(shù)a和b分別賦值給類的成員變量x和y。請(qǐng)?jiān)谧⑨尅?/**1**”之后添加適當(dāng)?shù)恼Z句。(2)完成類CVector的“+”運(yùn)算符重載函數(shù)的定義,使Cvector類的兩個(gè)對(duì)象相加時(shí)可以直接使用符號(hào)“+”,并且結(jié)果仍然為類Cvector的對(duì)象,請(qǐng)?jiān)谧⑨尅?/**2**”之后添加適當(dāng)?shù)恼Z句。(3)在主函數(shù)中添加適當(dāng)?shù)恼Z句,把類Cvector的對(duì)象a和b相加,并且把結(jié)果保存在對(duì)象c中,最后以“x,y”的形式輸出在屏幕上,請(qǐng)?jiān)谧⑨尅?/**3**”之后添加適當(dāng)?shù)恼Z句。源程序文件test40_3.cpp清單如下:#include<iostream.h>classCVector{public:intx,y;CVector(){};CVector(int,int);CVectoroperator+(CVector);};CVector::CVector(inta,intb){//**1**}CVectorCVector::operator+(CVectorparam){//**2**temp.y=y+param.y;return(temp);}intmain(){CVectora(3,1);CVectorb(1,2);CVectorc;//**3**return0;}標(biāo)準(zhǔn)答案:(1)x=a;y=b;(2)CVectortemp;temp.x=x+param.x;(3)c=a+b;tout<<c.x<<","<<c.y;知識(shí)點(diǎn)解析:主要考查考生對(duì)于類的數(shù)據(jù)成員賦值與定義重載為成員函數(shù)的運(yùn)算符函數(shù)的掌握,其中(2)就是運(yùn)算符函數(shù)的實(shí)現(xiàn),實(shí)際上就是通過已有的函數(shù)和符號(hào)實(shí)現(xiàn)復(fù)雜的運(yùn)算功能,并最終返回該類的對(duì)象,注意最后的返回值必須是對(duì)象才能滿足要求,(4)中使用對(duì)象調(diào)用類的數(shù)據(jù)成員用符號(hào)“.”。國家二級(jí)(C++)機(jī)試模擬試卷第4套一、選擇題(本題共37題,每題1.0分,共37分。)1、軟件維護(hù)活動(dòng)不包括()。A、改正性維護(hù)B、適應(yīng)性維護(hù)C、重組性維護(hù)D、預(yù)防性維護(hù)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:軟件維護(hù)活動(dòng)包括改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。2、數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性和物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為()。A、物理獨(dú)立性B、邏輯獨(dú)立性C、數(shù)據(jù)獨(dú)立性D、結(jié)構(gòu)獨(dú)立性標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。物理獨(dú)立性是指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫中的數(shù)據(jù)是相互獨(dú)立的,即數(shù)據(jù)在磁盤上怎樣存儲(chǔ)由DBMS管理,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu)。因此,當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變時(shí),基于邏輯結(jié)構(gòu)的應(yīng)用程序不用改變。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的,即當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),用戶程序可以不變。3、冒泡排序算法在最好的情況下的元素交換次數(shù)為()次。A、0B、1C、2D、3標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:根據(jù)冒泡排序算法的思想:若待排序的初始序列為正序序列,則只需進(jìn)行一趟排序,在排序過程中進(jìn)行n-1次關(guān)鍵字間的比較,且不移動(dòng)和交換記錄,這種情況是冒泡排序的最好情況,故冒泡排序算法在最好的情況下的元素交換次數(shù)為0次。4、在面向?qū)ο蠓椒ㄖ?,類之間的共享屬性和操作機(jī)制稱為()。A、封裝B、繼承C、多態(tài)D、單態(tài)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在面向?qū)ο蠓椒ㄖ校粋€(gè)類可以從直接或間接的祖先中繼承所有屬性和方法,它提高了軟件的可重用性,是類之間的共享屬性和操作的機(jī)制。5、數(shù)據(jù)庫恢復(fù)是將數(shù)據(jù)庫從()狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。A、未知B、錯(cuò)誤C、一致D、完整標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:數(shù)據(jù)庫關(guān)系系統(tǒng)中具有把數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(又稱為一致狀態(tài)或完整狀態(tài))的功能,就是數(shù)據(jù)庫的恢復(fù)。6、函數(shù)定義的格式是()函數(shù)名(形式參數(shù)表)函數(shù)體。A、引用類型B、數(shù)值類型C、標(biāo)注類型D、返回類型標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查基本的函數(shù)定義格式。7、在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為()。A、對(duì)象B、方法C、類型D、數(shù)據(jù)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:類是具有相同特征的對(duì)象的抽象,對(duì)象是類的實(shí)例。8、關(guān)系操作的特點(diǎn)是()操作。A、分類B、集合C、控制D、互斥標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為關(guān)系,因此關(guān)系其實(shí)是數(shù)據(jù)的集合,對(duì)關(guān)系的操作其實(shí)就是對(duì)數(shù)據(jù)組成的集合之間的操作。9、數(shù)據(jù)庫保護(hù)不包括()。A、安全性控制B、并發(fā)性控制C、數(shù)據(jù)恢復(fù)D、預(yù)防性控制標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:安全性控制是指防止未經(jīng)授權(quán)的用戶有意或無意存取數(shù)據(jù)庫中的數(shù)據(jù),以免數(shù)據(jù)被泄露、更改或破壞;完整性控制是指保證數(shù)據(jù)庫中數(shù)據(jù)及語義的正確性和有效性,防止任何對(duì)數(shù)據(jù)造成錯(cuò)誤的操作;并發(fā)性控制是指正確處理好多用戶、多任務(wù)環(huán)境下的并發(fā)操作,防止錯(cuò)誤發(fā)生;數(shù)據(jù)的恢復(fù)是指當(dāng)數(shù)據(jù)庫被破壞或數(shù)據(jù)不正確時(shí),使數(shù)據(jù)庫能恢復(fù)到正確的狀態(tài)。10、將"x+y*z"中的“+”用成員函數(shù)重載,“*”用友元函數(shù)重載,應(yīng)寫為()。A、x.rational+(rational*(y,z))B、x.const+(const*(y,z))C、x.operator+(operator*(y,z))D、x.temp+(temp*(y,z))標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:運(yùn)算符重載為成員函數(shù)的形式:“函數(shù)類型operator運(yùn)算符(形參表){函數(shù)體;}”;運(yùn)算符重載為友元函數(shù)的形式:“friend函數(shù)類型operator運(yùn)算符(形參表){函數(shù)體;}”。一般來講,單目運(yùn)算符最好重載為成員函數(shù),雙目運(yùn)算符最好重載為友元函數(shù)。運(yùn)算符函數(shù)有兩種調(diào)用形式,第一種是像一般函數(shù)那樣用函數(shù)名調(diào)用,即“y.operator*(z)”或者“operator*(y,z)”;另一種是通過運(yùn)算符構(gòu)成表達(dá)式,即“y*z”。11、指針變量保存的是()。A、變量地址B、對(duì)象的內(nèi)存地址C、常量地址D、邏輯地址標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:指針變量指向的不是變量保存的數(shù)據(jù)值,而是變量的地址,所以指針變量保存的是對(duì)象的內(nèi)存地址。12、()是實(shí)現(xiàn)C++語青運(yùn)行時(shí)多態(tài)性的機(jī)制。A、靜態(tài)綁定B、動(dòng)態(tài)綁定C、單態(tài)綁定D、多態(tài)綁定標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:C++語言編譯時(shí)多態(tài)性的機(jī)制是靜態(tài)綁定,實(shí)現(xiàn)C++語言運(yùn)行時(shí)多態(tài)性的機(jī)制是動(dòng)態(tài)綁定。13、友元類的所有成員函數(shù)都是另一個(gè)類的()。A、成員函數(shù)B、友元函數(shù)C、非成員函數(shù)D、非友元函數(shù)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:C++語言中友元類中的函數(shù)都是另一個(gè)類的友元函數(shù)。14、時(shí)間復(fù)雜度和空間復(fù)雜度均屬于()。A、算法復(fù)雜度B、編程復(fù)雜度C、公式復(fù)雜度D、數(shù)據(jù)復(fù)雜度標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:算法復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。15、數(shù)據(jù)的基本單位是()。A、比特B、數(shù)據(jù)庫C、數(shù)據(jù)元素D、文件標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)的基本單位是數(shù)據(jù)元素。16、將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果是()的作用。A、承接模塊B、樁模塊C、繼承模塊D、驅(qū)動(dòng)模塊標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊)。驅(qū)動(dòng)模塊的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。樁模塊用來代替被測(cè)模塊所調(diào)用的模塊,返回被測(cè)模塊所需的信息。17、在C++語言中,面向?qū)ο笏枷氲闹饕卣鞑话?)。A、封裝性B、繼承性C、多態(tài)性D、單態(tài)性標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:面向?qū)ο笙到y(tǒng)包含了3個(gè)特征:封裝性、繼承性和多態(tài)性,這3個(gè)特征可以很好地實(shí)現(xiàn)數(shù)據(jù)抽象,進(jìn)行行為共享,完成進(jìn)化求解和描述一個(gè)系統(tǒng)的確定行為。18、C++語言程序是從()函數(shù)開始執(zhí)行的。A、iosB、mainC、listD、temp標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:所有的C++語言程序都是從main函數(shù)開始執(zhí)行,而普通函數(shù)的存在是為了簡(jiǎn)化main函數(shù)的復(fù)雜程度。19、派生類構(gòu)造函數(shù)的執(zhí)行順序是()。A、派生類、成員對(duì)象、基類B、成員對(duì)象、基類、派生類C、基類、成員對(duì)象、派生類D、成員對(duì)象、派生類、基類標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題主要考查的是派生類構(gòu)造函數(shù)的執(zhí)行順序,在C++語言中構(gòu)造函數(shù)的執(zhí)行順序是先基類后派生類,而析構(gòu)函數(shù)的執(zhí)行順序正好相反,是先調(diào)用派生類后調(diào)用基類。派生類構(gòu)造函數(shù)的執(zhí)行順序是先執(zhí)行基類的構(gòu)造函數(shù),然后執(zhí)行成員對(duì)象的構(gòu)造函數(shù),最后執(zhí)行派生的構(gòu)造函數(shù)。20、類模板只可用()型參數(shù)。A、類B、重載C、任何D、派生標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查的是類模板的定義,C++語言中模板分為兩種:類模板和函數(shù)模板,類模板只能用于類型參數(shù),函數(shù)模板可以重載。21、C++語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋的結(jié)束標(biāo)記為()。A、/*B、*/C、:D、;標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:C++語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋以“/*”開始,以“*/”結(jié)束。22、用以下語句調(diào)用庫函數(shù)malloc,使字符指針st指向具11字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,則下列橫線中應(yīng)填寫的內(nèi)容是()。st=(char*)_________;A、malloe(sizeof*11)B、char(11)C、malloc(char(sizeof)*11)D、malloc(11)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:malloc函數(shù)的參數(shù)可以是一個(gè)具體的常數(shù),也可以是一個(gè)表達(dá)式。在本題中,可以是malloc(11),也可以借助于sizeof運(yùn)算符來表示。本題答案也可以表示為malloc(sizeof(char)*11)。23、程序中有如下語句:for(inti=0;i<5;i++)cout<<*(p+i)<<",";能夠依次輸出int型一維數(shù)組DATA的前5個(gè)元素。由此可知,變量p的定義及初始化語句是()。A、int*p=DATAB、DATA=int*pC、int(cuont*p)=DATAD、cuont(int*p)=DATA標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查的是指針變量的定義及初始化。題目中要求輸出int型數(shù)組DATA的前5個(gè)元素,由表達(dá)式“*(p+0)和*(p+4)”可知,變量p是一個(gè)指向DATA首地址的int型指針,故它的定義及初始化語句是“int*p=DATA”。24、表達(dá)式“c3=c1.operator+(c2)”或“c3=operator+(c1,c2)”還可以表示為()。A、c3=c--c2B、c3=el+c2C、c1-c3+c2D、c2=e3+c2標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查的是“十”運(yùn)算符的重載。運(yùn)算符函數(shù)的調(diào)用有兩種形式,第一種是像一般函數(shù)那樣用函數(shù)名調(diào)用,即“c1.operatotor+(c2)”或者“operator+(c1,c2)”;另一種是通過運(yùn)算符構(gòu)成表達(dá)式,即“c1+c2”。25、下列程序的輸出結(jié)果是()。#includetemplateTmax(Tx[],intn){inti;Tmaxv=x[0];for(i=1;iA、9,7.3B、7,7.3C、9,3.4D、7,3.4標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:函數(shù)的功能是求出數(shù)組中指定范圍的元素中的最大值。所以在a數(shù)組中前4個(gè)數(shù)據(jù)中最大值為7,數(shù)組b中前3個(gè)元素中最大值為3.4。26、有如下定義:classMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中,MA類的對(duì)象名標(biāo)識(shí)符是()。A、taB、tbC、inttaD、inttb標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查的是對(duì)象的定義。對(duì)象的定義格式為“類名對(duì)象名(參數(shù)表);”。所以題目中的tb是對(duì)象名標(biāo)識(shí)符,而ta被定義成類MA的指針,故答案為tb。27、下列程序在構(gòu)造函數(shù)和析構(gòu)函數(shù)中申請(qǐng)和釋放類的數(shù)據(jù)成員int*a,申請(qǐng)時(shí)使用形參b初始化a,橫線處應(yīng)填寫的語句是()。classA{public:A(intb);~A();private:int*a;};A::A(intb){________;}A::~A(){deletea;}A、a=newint(b)B、b=newint(a)C、a=int(b)D、b=int(a)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C++中new和delete的使用有如下幾種方式:①a=newint;deletea;②a=newint(10);delelea;③a=newint[10];delete[]a;。28、下列程序的運(yùn)行結(jié)果是()。#include#defineN10#defines(x)x*x#definef(x)(x*x)voidmain(){inti1,i2;i1=1000/s(N):i2=1000H(N);cout<A、1000,10B、1000,100C、10,1000D、100,10標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:對(duì)于deftne宏定義語句,系統(tǒng)會(huì)在編譯前進(jìn)行替換。本題替換過程如下:i1=1000/s(N)i1=1000/s(10)i1=1000/10*1011=1000i2=1000/f(N)i2=1000/f(10)i2=1000/(10*10)i2=1029、下列橫線處應(yīng)填寫的內(nèi)容是()。#includeclassTest{privatetstaticintval;inta;public:staticintfunc();voidsrune(Test&r);};//初始化靜態(tài)變量valintTest::func(){returnval++:}voidTest::sfunc(Test&r){r.a(chǎn)=125;eout<<"Result3="<標(biāo)記報(bào)錯(cuò)收藏查看答案標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查的是成員函數(shù)的調(diào)用。因?yàn)闄M線處的作用是調(diào)用基類的fun函數(shù),又因?yàn)榕缮愔幸灿衒un函數(shù),所以必須對(duì)fun函數(shù)加以限定,即“Base::fnn();”。31、下列程序的運(yùn)行結(jié)果是()。#include(iostream.h)classtest{private:inthum;public:test();intTEST(){returnhum+100;}~test();};test::test(){num=0;)test::~test(){cout<<"Destructorisactive"<A、
B、
C、
D、
標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查基本的類的定義,構(gòu)造函數(shù)以及對(duì)象數(shù)組的概念。32、若下列程序運(yùn)行的輸出結(jié)果為1,A,10.12,B,3.5則橫線處應(yīng)填寫的內(nèi)容為()。#include(iostream)usingnamespacestd;voidtest(inta,charb,doublec){cout<A、=1B、=2C、=3.5D、=10.1標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查了函數(shù)默認(rèn)參數(shù)的應(yīng)用。本題中第一次調(diào)用test函數(shù)數(shù)值1,A,10.1;第二次調(diào)用少了一個(gè)實(shí)參,卻要求輸出2,B,3.5,由此分析,應(yīng)將test函數(shù)的第三個(gè)參數(shù)聲明為默認(rèn)參數(shù)。且默認(rèn)為3.5,才能達(dá)到要求的輸出結(jié)果。故應(yīng)填入“=3.5”或“c=3.5”。33、下列程序運(yùn)行后的結(jié)果為()。#includevoidmain(){inta=1,b=2;boolc=1:if<b)||c(diǎn))cout<<"true"<A、falseB、trueC、2D、134、下列for語句的循環(huán)次數(shù)為()。for(inta=0,b=1.b&&a<5;a++);A、0B、1C、3D、535、下列程序的輸出結(jié)果是()。#includevoidmain(){inta[6]={1,2,3,4,5,6};for(inti=0;i<5;i++)cout<A、123456B、12345C、1234D、1234636、下列程序的執(zhí)行結(jié)果為()。#includevoidmain(){cout<A、helloB、*helloC、*****helloD、**********hello37、若已定義“inta[]={1,2,3,4,5,6,7,8,9,10},p=a,i=5;”,則對(duì)數(shù)組元素不正確的引用是()。A、a[p-a]B、*(8&a[i])C、p[i]D、*(*(a+i))二、基本操作題(本題共1題,每題1.0分,共1分。)38、使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò),請(qǐng)改正其中的錯(cuò)誤,使程序正常運(yùn)行,并使程序輸出的結(jié)果為Maxis7提示:max函數(shù)用于找出兩個(gè)數(shù)中的最大值,并作為函數(shù)值返回。注意:錯(cuò)誤的語句在//********error********的下面,修改該語句即可。試題程序:#include(iostream)usingnamespacestd;//********error********intmax(inta,intb){if(a<b){intt=a:a=b;b=t;}returnb;}intmain(){intm=-3;intn=7://********error********max(-3,n);cout<<"Maxis"<三、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)39、使用VC++6.0打開考生文件夾下的源程序文件2.cpp,請(qǐng)實(shí)現(xiàn)函數(shù)fun(doublea[],intlen)的如下功能:(1)a[]是一個(gè)數(shù)組,長(zhǎng)度為len。(2)a[0]=0,a[1]=1。(3)a[i+2]=a[i]+a[i+1]。注意:不能修改函數(shù)的其他部分。試題程序:#includevoidfun(doublea[],intlen){}voidmain(){doubleaE20];fun(a,20);for(inti=0;i<20;i++){std::cout<四、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)40、使用VC++6.0打開考生文件夾下的源程序文件3.cpp。其中定義的類并不完整,按要求完成下列操作,將類的定義補(bǔ)充完整,并使程序的輸出結(jié)果為21。(1)增加靜態(tài)私有變量Num,類型為int。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。(2)增加靜態(tài)變量Num并初始化為10。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。(3)完成靜態(tài)函數(shù)get的定義。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。(4)完成對(duì)象obj對(duì)靜態(tài)函數(shù)get的調(diào)用,使輸出結(jié)果為21。請(qǐng)存注釋4后添加適當(dāng)?shù)恼Z句。注意:增加或者修改代碼的位置已經(jīng)用符號(hào)表示出來,請(qǐng)不要修改其他的程序代碼。試題程序:#include(iostream.h)classTC{//********1********intOwn;public:TC(inti){Own=i:}//********2********{returnNum+obj->Own:}};//********3********intmain(){TCobj(11);//********4********cout<<<國家二級(jí)(C++)機(jī)試模擬試卷第5套一、選擇題(本題共40題,每題1.0分,共40分。)1、程序流程圖中帶有箭頭的線段表示的是()。A、圖元關(guān)系B、數(shù)據(jù)流C、控制流D、調(diào)用關(guān)系標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:程序流程圖是人們對(duì)解決問題的方法、思路或算法的一種描述,通常也稱為程序框圖。其中,帶箭頭的線段表示控制流,矩形表示加工步驟,菱形表示邏輯條件。2、結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括()。A、多態(tài)性B、自頂向下C、模塊化D、逐步求精標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂而下、逐步求精、限制使用GOTO語句。類的特性包括繼承和多態(tài)性。3、軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A、低內(nèi)聚低耦合B、高內(nèi)聚低耦合C、低內(nèi)聚高耦合D、高內(nèi)聚高耦合標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)是耦合性和內(nèi)聚性,內(nèi)聚是一個(gè)模塊內(nèi)各個(gè)元素彼此緊密程度;耦合是一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。軟件設(shè)計(jì)應(yīng)該遵循高內(nèi)聚低耦合的特性。4、在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A、可行性分析報(bào)告B、軟件需求規(guī)格說明書C、概要設(shè)計(jì)說明書D、集成設(shè)計(jì)計(jì)劃標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:需求分析是對(duì)獲取的需求進(jìn)行分析和綜合最終給出系統(tǒng)的解決方案和目標(biāo)系統(tǒng)的邏輯模型。需求分析的最終結(jié)果是生成軟件需要規(guī)格說明書,可以為用戶、分析人員和設(shè)計(jì)人員之間的交流提供方便,可以直接支持目標(biāo)確認(rèn),又可以作為控制軟件開發(fā)進(jìn)程的依據(jù)。5、算法的有窮性是指()。A、算法程序的運(yùn)行時(shí)間是有限的B、算法程序所處理的數(shù)據(jù)量是有限的C、算法程序的長(zhǎng)度是有限的D、算法只能被有限的用戶使用標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:算法的有窮性,是指算法必須在有限的時(shí)間內(nèi)做完,即算法必須能在執(zhí)行有限步驟之后終止。算法的有窮性還應(yīng)包括實(shí)現(xiàn)的執(zhí)行時(shí)間的含義,如果一個(gè)算法需要執(zhí)行千萬年,顯然失去了實(shí)用價(jià)值。6、對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。A、快速排序B、冒泡排序C、直接插入排序D、堆排序標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:首先知道有哪些排序的方法及各種排序方法在最壞情況下需要比較的次數(shù),冒泡排序n(n-1)/2、希爾排序O(n1.5)、簡(jiǎn)單選擇排序n(n-1)/2、堆排序O(nlog2n)。7、下列關(guān)于棧的敘述正確的是()。A、棧按“先進(jìn)先出”組織數(shù)據(jù)B、棧按“先進(jìn)后出”組織數(shù)據(jù)C、只能在棧底插入數(shù)據(jù)D、不能刪除數(shù)據(jù)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:棧的特點(diǎn)是后進(jìn)先出是限定在表的一端進(jìn)行插入和刪除的線性表,允許進(jìn)行插入和刪除元素的一端稱為棧頂,另一端稱為棧底。8、在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()。A、需求分析階段B、概念設(shè)計(jì)階段C、邏輯設(shè)計(jì)階段D、物理設(shè)計(jì)階段標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)庫的設(shè)計(jì)階段包括需要分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測(cè)試階段、運(yùn)行階段和進(jìn)一步修改階段,其中E—R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于邏輯設(shè)計(jì)階段。9、有3個(gè)關(guān)系R、S和T如下:由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。A、并B、自然連接C、笛卡兒積D、交標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:由題可知,T中的數(shù)據(jù)既在R中,也在S中,符合這個(gè)概念的是“交”運(yùn)算,D正確。10、設(shè)有表示學(xué)生選課的3張表,學(xué)生S(學(xué)號(hào)、姓名、性別、年齡、身份證號(hào))、課程C(課號(hào)、課名)、選課SC(學(xué)號(hào)、課號(hào)、成績(jī)),則表SC的關(guān)鍵字(鍵或碼)為()。A、課號(hào)、成績(jī)B、學(xué)號(hào)、成績(jī)C、學(xué)號(hào)、課號(hào)D、學(xué)號(hào)、姓名、成績(jī)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:關(guān)鍵字是指屬性或?qū)傩缘慕M合,其功能是唯一地標(biāo)識(shí)一個(gè)元組或數(shù)據(jù),而SC中學(xué)號(hào)和課號(hào)的組合可以對(duì)元組進(jìn)行唯一的標(biāo)識(shí)。11、下列敘述中正確的是()。A、C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面B、C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語句C、C程序書寫格式自由,一個(gè)語句可以寫在多行上D、用C語言編寫的程序只能放在一個(gè)程序文件中標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在程序中注釋部分對(duì)程序的運(yùn)行結(jié)果不產(chǎn)生任何影響,增加了程序的易讀性,它可以出現(xiàn)在任意位置,并且書寫自由,一行內(nèi)可以寫多個(gè)語句,語句可以寫在多行上;由于C語言編寫的程序有很多的移植性,可以被多個(gè)程序文件引用。12、下列選項(xiàng)中不合法的標(biāo)識(shí)符是()。A、printB、FORC、&aD、0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:標(biāo)識(shí)符的概念只能由數(shù)字、字母和下畫線組成,并且只能以字母和下畫線開頭,所以選項(xiàng)C不正確。13、下列選項(xiàng)中不屬于字符常量的是()。A、’C’B、CC、’\xCC’D、’\072’標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:字符常量是用一對(duì)單弓I號(hào)括起來的,而字符串常量是用雙引號(hào)括起來的字符序列,所以選項(xiàng)B不正確;選項(xiàng)C中’\xCC’是十六進(jìn)制表示的轉(zhuǎn)義字符;選項(xiàng)D中’\072’是八進(jìn)制表示的轉(zhuǎn)義字符。14、設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。A、x=y*5=x+zB、int(15.8%5)C、x=y+z+5,++yD、x=25%5.0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在賦值表達(dá)式中,賦值符號(hào)的左邊只能為變量,不能為表達(dá)式,右邊可以為常量或者是表達(dá)式,運(yùn)算符“%”兩邊必須是整型數(shù)據(jù),所以選項(xiàng)B、D錯(cuò)誤。所以選項(xiàng)C正確。15、以下定義語句中正確的是()。A、inta=b=0;B、charA=65+1,b=’b’;C、floata=1,"b=&a,"c:&b;D、doublea=0.0.b=1.1;標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查數(shù)據(jù)類型的定義,選項(xiàng)A中是要定義變量并且賦初值,但方式不對(duì),必須單獨(dú)定義其類型。選項(xiàng)C給實(shí)型變量賦值時(shí)不用雙引號(hào),也不能將地址賦予實(shí)型變量,在選項(xiàng)D中,C語言允許在一個(gè)類型說明符后說明多個(gè)相同類型的變量,各變量之間要用逗號(hào)隔開,而不是用分號(hào)隔開,選項(xiàng)B正確。16、有下列程序段:charch;intk;ch=’a’;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是()。A、因變量類型與格式描述符的類型不匹配輸出無定值B、輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值C、a,97,12k=12D、a,97,k=12標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:printf語句在輸出時(shí),格式說明與輸出項(xiàng)的個(gè)數(shù)應(yīng)該相同。如果格式說明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù)(正如本題的情況),則多余的輸出項(xiàng)不予輸出,如果格式說明個(gè)數(shù)多于輸出項(xiàng)個(gè)數(shù),則對(duì)于多余的格式項(xiàng)輸出不定值或0。故本題選項(xiàng)為D。17、已知字母A的ASCII代碼值為65,若變量kk為char型,下列不能正確判斷出kk中的值為大寫字母的表達(dá)式是()。A、kk>=’A’&&kk=’Z’B、!(kk>=’A’‖kk<=’Z’)C、(kk+32)>=’a’&&(kk+32)<=’z’D、isalpha(kk)&&(kk<=91)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:選項(xiàng)A用邏輯運(yùn)算符來連接關(guān)系表達(dá)式’A’<=kk并且kk<=’Z’,介于’A’與’Z’之間為大寫字母。選項(xiàng)C用邏輯與運(yùn)算符來連接關(guān)系表達(dá)式(kk+32)>’a’和(kk+32)<=’z’,因?yàn)榇髮憽疉’與小寫’a’,ASCII碼相差32,由表達(dá)式可知C正確。選項(xiàng)D調(diào)用函數(shù)isalpha(),首先判斷kk是否為字母,接著通過與運(yùn)算(kk<=91)來判斷kk是否為大寫字母;而選項(xiàng)B的表達(dá)式給的結(jié)果是除了’A’與’Z’的大寫字母,不符合題意。18、當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是()。A、(c==2)‖(c==4)‖(c==6)B、(c>=2&&C<=6)‖(c!=3)‖(c!=5)C、(c>=2&&c<-6)&&!(c%2)D、(c>=2&&c<=6)&&(c%2!=1)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:邏輯或“||”運(yùn)算中,只要有一項(xiàng)為真,表達(dá)式的值就為真而邏輯與“&&”運(yùn)算必須兩邊都為真時(shí)才為真,在選項(xiàng)B中c的值不為2、4、6時(shí),表達(dá)式的值也為真。19、若變量已正確定義,有下列程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其輸出結(jié)果是()。A、程序段有語法錯(cuò)B、3,5,3C、3,5,5D、3,5,7標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:如果if判斷條件成立時(shí)就執(zhí)行其后的相關(guān)語句,否則不執(zhí)行,第一個(gè)if條件a>b不成立,故不執(zhí)行“a=b”,接著執(zhí)行“c=a”,把c的值賦給a后,此時(shí)第二個(gè)if條件不成立,故不執(zhí)行其后語句,最終點(diǎn)c的值為3。20、有下列程序:#includevoidmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++break;}case2:a++.b++;break;case3:a++.b++;printf("a=%d,b=%d\n",a,b);}程序的運(yùn)行結(jié)果是()。A、a=1,b=0B、a=2,b=2.C、a=1,b=1D、a=2,b=1標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查的是switch…case分支語句,x=1時(shí),首先執(zhí)行case1進(jìn)行嵌套判斷,y=0時(shí)switch(0)成立,執(zhí)行case0,a自加1,遇到break,退出嵌套,接著執(zhí)行case2,a自加為2,b自加為1,遇到break,結(jié)束循環(huán),此時(shí)a=2,b=1,故選項(xiàng)D正確。21、有下列程序:#includevoidmain(){intx=8:for(;x>0;X--){if(x%3){printf("%d,",x--);continue;)printf("%d,",--x);}}程序的運(yùn)行結(jié)果是()。A、7,4,2B、8,7,5,2C、9,7,6,4D、8,5,4,2標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:x--后綴表示先用x的值再令x減1,--x前綴表示先將x減1,再執(zhí)行程序,則輸出(x--)繼續(xù)下一次循環(huán),輸出“8,”,此時(shí)x自減值變?yōu)?,執(zhí)行x--,x=6,x%3=0,后面語句不執(zhí)行,執(zhí)行語句“printf(“d,”,--x);”,輸出“5”,繼續(xù)for循環(huán)中的x--,得到x=5,輸出“5”;判斷x%3為真,輸出“4”,執(zhí)行兩次x--后,x=2,執(zhí)行“{printf("%d",x--);cotinue;}”后,輸出“2”;然后執(zhí)行兩次x--后,x=0,不符合“x>0”,循環(huán)結(jié)束。22、下列不構(gòu)成無限循環(huán)的語句或語句組是()。A、n=0;B、n=0:do{++n;)while(n<=0);while(1)(n++;}C、while(n-10);(n==;}D、for(n=0,i=1;;i++)n+=i標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)B中while(1)永遠(yuǎn)為真,一直自加下次進(jìn)入死循環(huán);選項(xiàng)C中while(n=10)同理死循環(huán),沒有下限范圍;選項(xiàng)D中for循環(huán)中i也沒有循環(huán)限定條件也將進(jìn)入死循環(huán);只有選項(xiàng)A中while(n<=0)循環(huán)判定成立,循環(huán)結(jié)束
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)技術(shù)智能監(jiān)控系統(tǒng)布設(shè)協(xié)議2024版B版
- 個(gè)性化2024版動(dòng)力煤托盤協(xié)議示例版
- 專業(yè)教師2024年度聘用協(xié)議范例版B版
- 閱讀理解技巧講座
- 二零二四年云服務(wù)租賃協(xié)議
- 2025年度科技園區(qū)場(chǎng)地?zé)o償使用及知識(shí)產(chǎn)權(quán)共享協(xié)議4篇
- 2025年度叉車維修及配件供應(yīng)一體化服務(wù)合同4篇
- 2025年度場(chǎng)崗位員工保密協(xié)議執(zhí)行細(xì)則4篇
- 專屬委托銷售代表協(xié)議樣式(2024)版A版
- 2025年度影視基地場(chǎng)地租賃合同24篇
- Unit 3 We should obey the rules. Lesson15(說課稿)-2023-2024學(xué)年人教精通版英語五年級(jí)下冊(cè)
- 綿陽市高中2022級(jí)(2025屆)高三第二次診斷性考試(二診)語文試卷(含答案)
- 2024年聊城市東昌府區(qū)中醫(yī)院招聘?jìng)浒钢乒ぷ魅藛T考試真題
- 2025年極兔速遞有限公司招聘筆試參考題庫含答案解析
- 一般固廢處理流程
- 《健康體檢知識(shí)》課件
- 《AIGC應(yīng)用實(shí)戰(zhàn)(慕課版)》-課程標(biāo)準(zhǔn)
- 政府機(jī)關(guān)辦公用品配送方案
- 生產(chǎn)計(jì)劃主管述職報(bào)告
- 永威置業(yè)項(xiàng)目交付前風(fēng)險(xiǎn)排查表
- 《儲(chǔ)能材料與器件》課程教學(xué)大綱(新能源材料與器件專業(yè))
評(píng)論
0/150
提交評(píng)論