C++開發(fā)基礎(chǔ)(習題卷8)_第1頁
C++開發(fā)基礎(chǔ)(習題卷8)_第2頁
C++開發(fā)基礎(chǔ)(習題卷8)_第3頁
C++開發(fā)基礎(chǔ)(習題卷8)_第4頁
C++開發(fā)基礎(chǔ)(習題卷8)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

試卷科目:C++開發(fā)基礎(chǔ)C++開發(fā)基礎(chǔ)(習題卷8)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC++開發(fā)基礎(chǔ)第1部分:單項選擇題,共59題,每題只有一個正確答案,多選或少選均不得分。[單選題]1.下列流類中可以用于處理文件的是()。A)iosB)iostreamC)strstreamD)fstream答案:D解析:[單選題]2.已知p是一個指向類sample數(shù)據(jù)成員m的指針,s是類sample的一個對象。如果要給m賦值為5,哪個是正確的()。A)s.p=5B)s->p=5C)s.*p=5D)*s.p=5答案:C解析:[單選題]3.對于下面char(*p)[16]的聲明描述正確的一項是()A)p是長度為16的字符指針數(shù)組B)p是包含16個字符的字符串C)p是指向長度為16的字符數(shù)組的指針D)p是長度為16的字符數(shù)組答案:C解析:[單選題]4.關(guān)于C++與C語言的關(guān)系的描述中,()是錯誤的。A)C語言是C++的一個子集;B)C語言與C++是兼容的;C)C++對C語言進行了一些改進;D)C++和C語言都是面向?qū)ο蟮拇鸢?D解析:[單選題]5.逗號表達式(x=2*3,x=x*5),x+25的值為________。A)25B)55C)45D)100答案:B解析:[單選題]6.圖結(jié)構(gòu)中,對于無向圖的生成樹正確的是A)一棵有n個頂點的生成樹有且僅有n條邊B)如果一個圖有n個頂點和小于n-1條邊,則是連通圖;C)如果多于n-2條邊,則一定有環(huán);D)有n-1條邊的圖不一定是生成樹。答案:D解析:[單選題]7.表達式!x等效于________。A)x==1B)x==0C)x!=1D)x!=0答案:B解析:[單選題]8.程序的內(nèi)存分配區(qū)域不包括A)從靜態(tài)存儲區(qū)域分配B)從棧區(qū)分配C)從堆區(qū)分配D)從文本區(qū)分配答案:D解析:[單選題]9.下面代碼執(zhí)行結(jié)果為()classA{public:voidB(){coutA)wantfuncptrB)編譯錯誤,A類中沒有成員*func函數(shù)C)沒有任何輸出D)不能A::B取地址答案:A解析:[單選題]10.下列敘述中,錯誤的是()。A)true是一個bool常量B)"x"是一個字符常量C)100是一個int常量D)3.14是一個double常量答案:B解析:[單選題]11.已知遞歸函數(shù)f的定義如下:則函數(shù)調(diào)用語句f(6)的返回值是________。intf(intn){if(n<=1)return1;elsereturnn*f(n-2);}A)24B)6C)12D)48答案:D解析:[單選題]12.有以下程序A)10B)11C)9D)8答案:A解析:[單選題]13.下列有關(guān)重載函數(shù)的說法中錯誤的是()A)重載函數(shù)必須具有不同的返回值類型B)重載函數(shù)名必須相同C)重載函數(shù)參數(shù)個數(shù)可以不同D)重載函數(shù)必須有不同的形參列表答案:A解析:函數(shù)重載,是指在程序的同一范圍內(nèi)聲明幾個功能類似的同名函數(shù)。在調(diào)用同名函數(shù)時,實現(xiàn)函數(shù)的重載必須滿足下列條件之一:(1)參數(shù)表中對應的參數(shù)類型不同。(2)參數(shù)表中參數(shù)個數(shù)不同。如果兩個函數(shù)的名字和參數(shù)表都是一樣的,僅僅是返回值類型不同,則這兩個函數(shù)不是重載的,編譯器認為它們是重復定義,編譯時會報錯。故本題選A。[單選題]14.下面對數(shù)組的初始化,不合法的是()。A)inta[2][]={{1},{2,3,4}};B)inta[4]={1,2,3};C)chars[]={'\013','\0','\n','\0'};D)chars[]="abcde";答案:A解析:[單選題]15.對數(shù)組名作函數(shù)的參數(shù),下面描述正確的是()。A)數(shù)組名作函數(shù)的參數(shù),調(diào)用時將實參數(shù)組復制給形參數(shù)組。B)數(shù)組名作函數(shù)的參數(shù),主調(diào)函數(shù)和被調(diào)函數(shù)共用一段存儲單元。C)數(shù)組名作參數(shù)時,形參定義的數(shù)組長度不能省略。D)數(shù)組名作參數(shù),不能改變主調(diào)函數(shù)中的數(shù)據(jù)答案:B解析:[單選題]16.使用值傳遞方式將實參傳給形參,下列說法正確的是()A)形參是實參的備份B)實參是形參的備份C)形參和實參是同一對象D)形參和實參無聯(lián)系答案:A解析:[單選題]17.線性表的鏈接實現(xiàn)有利于()運算A)插入B)讀元素C)查找D)定位答案:A解析:[單選題]18.組合類是指包含了其它類的對象的類。在創(chuàng)建一個組合類的對象時,其構(gòu)造函數(shù)的執(zhí)行順序是:A)先執(zhí)行內(nèi)嵌對象的構(gòu)造函數(shù),再執(zhí)行組合類的構(gòu)造函數(shù)B)先執(zhí)行組合類的構(gòu)造函數(shù),再執(zhí)行內(nèi)嵌對象的構(gòu)造函數(shù)C)可以在程序中指定它們的構(gòu)造函數(shù)的執(zhí)行順序D)由編譯系統(tǒng)決定它們的構(gòu)造函數(shù)的執(zhí)行順序答案:A解析:[單選題]19.對于下面代碼段intx=3,y=3;intt=++x||++y;y的值為()A)不確定B)4C)3D)1答案:C解析:當器遇到了||時,只要前面的++x為真,后面的語句就不執(zhí)行了[單選題]20.表達式x=(3,4);x的值為__。(請?zhí)顚懓⒗當?shù)字)A)1B)0C)4D)3答案:C解析:[單選題]21.類不是內(nèi)存中的物理實體,只有當使用類產(chǎn)生對象時,才進行內(nèi)存分配,這種對象建立的過程稱為()A)程序化B)結(jié)構(gòu)化C)過程化D)實例化答案:D解析:在程序運行時,通過為對象分配內(nèi)存來創(chuàng)建對象。在創(chuàng)建對象時,使用類作為樣板,故稱對象為類的實例。故本題選D。[單選題]22.在inta=3,int*p=&a;中,*p的值是()A)變量a的地址值B)無意義C)變量p的地址值D)3答案:D解析:[單選題]23.在參數(shù)傳遞過程中,對形參和實參的要求是________。A)函數(shù)定義時,形參一直占用存儲空間B)實參可以是常量、變量或表達式C)是常量、變量或表達式D)形參和實參類型和個數(shù)都可以不同答案:B解析:[單選題]24.有如下一段代碼:intnCount=0;while(x){nCount++;x=x&(x-1);}假設(shè)x初始為9999,則執(zhí)行完nCount值為()A)32B)999C)8D)1答案:C解析:X=X&(X-1)這算的是X寫成二進制數(shù)后其中1的個數(shù)。把9999化為二進制,每進行一次x&(x-1)的結(jié)果就會少一個1(按位與后變?yōu)?),因此原來x的1的個數(shù)就是答案[單選題]25.以下關(guān)于類占用內(nèi)存空間的說法錯誤的是()A)類所占內(nèi)存的大小是由成員變量(靜態(tài)變量除外)和虛擬函數(shù)表指針空間(若有虛函數(shù))所決定B)32位操作系統(tǒng)環(huán)境下空類的內(nèi)存大小是4個字節(jié)C)類中無論有多少個虛函數(shù),只會多占一個虛表指針空間D)子類的內(nèi)存大小等于父類的內(nèi)存大小加上子類獨有成員變量的內(nèi)存大小答案:B解析:空的類是會占用內(nèi)存空間的,而且大小是1,原因是C++要求每個實例在內(nèi)存中都有獨一無二的地址。[單選題]26.要定義一個引用變量p,使之引用類MyClass的一個對象,正確的定義語句是()A)MyClassp=MyClass;B)MyClassp=newMyClass;C)MyClass&p=newMyClass;D)MyClassa,&p=a;答案:D解析:[單選題]27.有如下類聲明:classA{intx;public:A(intn){x=n;}};classB:publicA{Ay;public:B(inta,intb);};在類體外定義構(gòu)造函數(shù)B,下列選項中正確的是________。A)B::B(intA,intb):x(a),y(b){}B)B::B(intA,intb):A(a),y(b){}C)B::B(intA,intb):x(a),B(b){}D)B::B(intA,intb):A(a),B(b){}答案:B解析:[單選題]28.若有以下定義,則說法錯誤的是()。inta=100,*p=&a;A)聲明變量p,其中*表示p是一個指針變量B)變量p經(jīng)初始化,獲得變量a的地址C)變量p只可以指向一個整形變量D)變量p的值為100答案:D解析:[單選題]29.關(guān)于局部變量,下面說法正確的是()。A)定義該變量的程序文件中的函數(shù)都可以訪問B)定義該變量的函數(shù)中的定義處以下的任何語句都可以訪問C)定義該變量的復合語句中的定義處以下的任何語句都可以訪問D)定義該變量的函數(shù)中的定義處以上的任何語句都可以訪問答案:C解析:[單選題]30.this指針存在的目的是()A)保證基類公有成員在子類中可以被訪問B)保證每個對象擁有自己的數(shù)據(jù)成員,但共享處理這些數(shù)據(jù)成員的代碼C)保證基類保護成員在子類中可以被訪問D)保證基類私有成員在子類中可以被訪問答案:B解析:[單選題]31.對new運算符的下列描述中,哪個是錯誤的?()A)它可以動態(tài)創(chuàng)建對象和對象數(shù)組B)用它創(chuàng)建對象數(shù)組時必須指定初始值C)用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù)D)用它創(chuàng)建的對象可以使用運算符delete來釋放答案:B解析:[單選題]32.有關(guān)下面程序說法正確的是()(注:└┘代表空格)intmain(){chars[6]="abcd";printf("\"%s\"\n",s);return0;}A)"abcd"B)\"abcd\"C)"abcd└┘"D)編譯錯誤答案:A解析:[單選題]33.關(guān)于類成員函數(shù)的重載、覆蓋和隱藏,下面說法錯誤的是()A)重載函數(shù)必須要在同一個類中B)派生類函數(shù)覆蓋基類函數(shù),基類函數(shù)最好不要有virtual關(guān)鍵字C)如果派生類的函數(shù)與基類的函數(shù)名相同,通過派生類的實例也只能調(diào)用到派生類的函數(shù)。D)重載函數(shù)不必使用virtual關(guān)鍵字修飾答案:B解析:[單選題]34.設(shè)有一組關(guān)鍵字序列{5,8,14,20,31,55,78,81,93,97,111},使用二分(折半)法查找關(guān)鍵字93需要進行多少次比較()A)2B)3C)4D)5答案:A解析:[單選題]35.假定a為一個整型數(shù)組名,則元素a[4]的字節(jié)地址為()。A)a+4B)a+8C)a+16D)a+32答案:A解析:[單選題]36.對n個記錄的文件進行快速排序,所需要的輔助存儲空間大致為··A)O(1)B)O(n)C)O(1og2n)D)O(n2)答案:C解析:[單選題]37.下列關(guān)于構(gòu)造函數(shù)的說法中,正確的是________。A)構(gòu)造函數(shù)不能重載B)構(gòu)造函數(shù)的返回值為voidC)構(gòu)造函數(shù)中可以使用this指針D)用戶必須為定義的類提供構(gòu)造函數(shù)答案:C解析:[單選題]38.已知intx=5,y=5,z=5;執(zhí)行語句x%=y+z;后,x的值是()。A)0B)5C)6D)1答案:B解析:[單選題]39.[多繼承時基類構(gòu)造函數(shù)的執(zhí)行次序]下列程序的輸出是:#include<iostream>Usingnamespacestd;ClassA{public:A(inta1){cout<<"A";a=a1;}Private:inta;};ClassB{public:B(intb1){cout<<"B";b=b1;}Private:intb;};ClassC{public:C(intc1){cout<<"C";c=c1;}Private:intc;};ClassD:publicA,publicB{private:Cc;Public:D(intd):B(d),A(d),c(d){cout<<"D";}};Intmain(){Dd1(1);return0;}A)DB)ABDC)BACDD)ABCD答案:D解析:[單選題]40.下面關(guān)于類的成員函數(shù)描述不正確的是:()A)靜態(tài)成員函數(shù)內(nèi)可以直接訪問類的非靜態(tài)成員數(shù)據(jù)B)靜態(tài)成員函數(shù)內(nèi)可以直接訪問類的靜態(tài)成員數(shù)據(jù)C)非靜態(tài)成員函數(shù)可以直接訪問類的非靜態(tài)成員數(shù)據(jù)D)非靜態(tài)成員函數(shù)可以直接訪問類的靜態(tài)成員數(shù)據(jù)答案:A解析:[單選題]41.引用的調(diào)用方式是________。A)形參和實參都是變量B)形參是引用,實參是變量C)形參是指針,實參是地址值D)形參是變量,實參是地址值答案:B解析:[單選題]42.若有以下程序intmain(){inty=10;while(y--);coutA)y=0B)y=-1C)y=1D)while構(gòu)成無限循環(huán)答案:B解析:[單選題]43.下列不會調(diào)用復制構(gòu)造函數(shù)的是()A)用類的一個對象去初始化另一個對象時。B)函數(shù)的形參是類的對象,函數(shù)調(diào)用時,進行形參和實參結(jié)合。C)函數(shù)的返回值是類的對象,函數(shù)執(zhí)行完返回調(diào)用者時。D)一個類中有另一個的對象作為成員,形成類的組合時。答案:D解析:[單選題]44.已知:p是一個指向類A數(shù)據(jù)成員m的指針,A1是類A的一個對象。如果要給m賦值為5,正確的是()A)A1.p=5;B)A1->p=5;C)A1.*p=5;D)*A1.p=5;答案:D解析:假設(shè)已經(jīng)有了一個對象,則可使用?.?運算符調(diào)用成員函數(shù)賦初值。題中p是指針,所以如果要給m賦值為5,則*A1.p=5;。[單選題]45.如沒有使用private關(guān)鍵字定義類的數(shù)據(jù)成員,則默認為()A)privateB)publicC)protectedD)friend答案:A解析:[單選題]46.循環(huán)隊列的隊滿條件為()A)(sq.rear+1)%maxsize==(sq.front+1)%maxsize;B)(sq.front+1)%maxsize==sq.rearC)(sq.rear+1)%maxsize==sq.frontD)sq.rear==sq.front答案:C解析:[單選題]47.在32位機器上,代碼段的執(zhí)行結(jié)果為()charx=65;floaty=7.3;inta=100;doubleb=4.5;printf("%d,%d,%d,%d\n",sizeof(x),sizeof(y),sizeof(a),sizeof(b));A)2,2,2,4B)1,2,4,4C)1,4,4,8D)2,4,4,8答案:C解析:[單選題]48.建立包含有類對象成員的派生類對象時,自動調(diào)用構(gòu)造函數(shù)的執(zhí)行順序依次為()。A)自己所屬類、對象成員所屬類、基類的構(gòu)造函數(shù)B)對象成員所屬類、基類、自己所屬類的構(gòu)造函數(shù)C)基類、對象成員所屬類、自己所屬類的構(gòu)造函數(shù)D)基類、自己所屬類、對象成員所屬類的構(gòu)造函數(shù)答案:C解析:[單選題]49.數(shù)組名作為實參時,傳遞給形參的是________。A)數(shù)組的首字節(jié)地址B)數(shù)組第一個元素的值C)數(shù)組中所有元素的值D)數(shù)組元素的個數(shù)答案:A解析:[單選題]50.假定有以下說明語句,則下面引用形式錯誤的是()。structStudent{intnum;doublescore;};Studentstu[3]={{1001,80},{1002,75},{1003,91}},*p=stu;A)p->numB)(p++).numC)(p++)->numD)(*p).num答案:B解析:[單選題]51.當定義一個結(jié)構(gòu)體變量時,系統(tǒng)為它分配的內(nèi)存空間是(A)結(jié)構(gòu)中一個成員所需的內(nèi)存容量B)結(jié)構(gòu)中第一個成員所需的內(nèi)存容量C)結(jié)構(gòu)體中占內(nèi)存容量最大者所需的容量D)結(jié)構(gòu)中各成員所需內(nèi)存容量之和答案:D解析:[單選題]52.關(guān)于成員函數(shù)覆蓋(重寫)的說法錯誤的是A)分別位于派生類與基類B)函數(shù)名字相同C)參數(shù)不同D)基類函數(shù)必須有virtual關(guān)鍵字答案:C解析:[單選題]53.采用重載函數(shù)的目的是________。A)提高速度B)減少空間C)使用方便D)實現(xiàn)共享答案:C解析:[單選題]54.C++對C語言作了很多改進,下列描述中()使得C語言發(fā)生了質(zhì)變,從面向過程變成了面向?qū)ο?。A)增加了一些新的運算符;B)允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C)規(guī)定函數(shù)說明必須用原型;D)引進了類和對象的概念;答案:D解析:[單選題]55.先序遍歷序列與中序遍歷序列相同的二叉樹為A)根結(jié)點無左子樹的二叉樹B)根結(jié)點無右子樹的二叉樹C)只有根結(jié)點的二叉樹或非葉子結(jié)點只有左子樹的二叉樹D)只有根結(jié)點的二叉樹或非葉子結(jié)點只有右子樹的二叉樹答案:D解析:[單選題]56.對數(shù)組名作函數(shù)參數(shù),下面描述正確的是()。A)調(diào)用時將實參數(shù)組復制給形參數(shù)組B)實參和形參占用同一段存儲單元C)形參定義的數(shù)組長度不能省略D)不能改變主調(diào)函數(shù)中的數(shù)據(jù)答案:B解析:[單選題]57.已知有數(shù)組定義chara[3][4];下列表達式中錯誤的是()。A)a[2]="WIN"B)strcpy(a[2],"WIN")C)a[2][3]='w'D)a[0][1]=a[0][1]答案:A解析:第2部分:多項選擇題,共6題,每題至少兩個正確答案,多選或少選均不得分。[多選題]58.以下有關(guān)二叉樹的說法錯誤的是A)二叉樹的度為2B)一棵二叉樹的度可以小于2C)至少有一個結(jié)點的度為2D)任一結(jié)點的度均為2答案:ACD解析:[多選題]59.關(guān)于二叉樹的遍歷說法正確的是A)先序遍歷二叉樹的順序是"根-左子樹-右子樹"B)中序遍歷"左子樹-根-右子樹"C)后序遍歷順序是:?左子樹-右子樹―根"D)以上都正確答案:ABCD解析:[多選題]60.對于一個頭指針為L的帶頭結(jié)點的單鏈表,判定鏈表為空表的條件不包括()A)L=NULL;B)L->next=NULL;C)L->next==NULL;D)L!=NULL;答案:ABD解析:[多選題]61.下面關(guān)于線性表鏈式存儲的敘述不正確的是A)線性表在鏈式存儲時,查找第i個元素的時間同i值無關(guān)B)線性表在鏈式存儲時,查找第i個元素的時間同i值成正比C)線性表在順序存儲時,查找第i元素的時間同i值無關(guān)D)線性表在順序存儲時,查找第i個元素的時間同i值成正比答案:AD解析:[多選題]62.下列變量名正確的是()。A)IntB)intC)_a2D)a$2答案:AC解析:[多選題]63.下列關(guān)于C++函數(shù)的描述中錯誤的是A)主函數(shù)是程序的入口,它是由用戶定義的函數(shù)調(diào)用B)函數(shù)是C++中面向?qū)ο蟪绦蛟O(shè)計框架的基本組成元素。C)函數(shù)在調(diào)用前必須先被聲明。D)每個用戶定義函數(shù)只能被其他函數(shù)調(diào)用一次。答案:ABD解析:第3部分:填空題,共4題,請在空白處填寫正確答案。[填空題]64.在已經(jīng)定義了整型指針ip后,為了得到一個包括10個整數(shù)的數(shù)組并由ip所指向,應使用語句___答案:int*ip=newint[10];解析:[填空題]65.C++程序的源文件擴展名為___。答案:cpp解析:[填空題]66.假定x和ch分別為int型和char型,則sizeof(x)和sizeof(ch)的值分別為______和_____。答案:4,1解析:[填空題]67.C++語言中可以實現(xiàn)輸出一個換行符并刷新流功能的操控符是____答案:_endl_解析:第4部分:判斷題,共11題,請判斷題目是否正確。[判斷題]68.冒泡排序的平均時間復雜度,最好情況時間復雜度和最壞情況時間復雜度一樣A)正確B)錯誤答案:錯解析:[判斷題]69.虛析構(gòu)函數(shù)是為了解決基類的指針指向派生類對象,并用基類的指針刪除派生類對象的時候可能出現(xiàn)的內(nèi)存泄漏。此說法是否正確A)正確B)錯誤答案:對解析:[判斷題]70.不允許給數(shù)組名賦值,但可以給數(shù)組元素賦值。A)正確B)錯誤答案:對解析:數(shù)組名為地址常量,不允許賦值。[判斷題]71.在數(shù)據(jù)結(jié)構(gòu)中,圖研究的元素是多對多的關(guān)系A(chǔ))正確B)錯誤答案:對解析:[判斷題]72.數(shù)據(jù)結(jié)構(gòu)對表的說明,線性表的每個結(jié)點只能是一個簡單類型,而鏈表的每個結(jié)點可以是一個復雜類型。A)正確B)錯誤答案:錯解析:[判斷題]73.C++中的注釋可以出現(xiàn)在代碼的任意位置答案:對解析:[判斷題]74.()無論哪種繼承方式,在派生類中都不能直接訪問基類中的私有成員。A)正確B)錯誤答案:對解析:[判斷題]75.()在C++面向?qū)ο蟪绦蛟O(shè)計中,靜態(tài)多態(tài)性是通過虛函數(shù)來實現(xiàn)的。A)正確B)錯誤答案:錯解析:[判斷題]76.使用關(guān)鍵字class定義的類中缺省的訪問權(quán)限是私有(private)的答案:對解析:[判斷題]77.所謂私有成員是指只有類中所提供的成員函數(shù)才能直接訪問它們,任何類以外的函數(shù)對它們的訪問都是非法的答案:錯解析:[判斷題]78.構(gòu)造函數(shù)沒有函數(shù)類型。答案:對解析:第5部分:問答題,共20題,請在空白處填寫正確答案。[問答題]79.在字符串類string中實現(xiàn)一個判斷函數(shù),該函數(shù)功能是統(tǒng)計某一字符串類對象(僅由單詞和空格組成)有多少個單詞,同時保存所有單詞在字符串中的起始地址(設(shè)該字符串不超過100個單詞)#include<iostream.h>#include<string>classstr{strings;intn,a[100],j,l;public:str(string&a){s=a;n=0;j=0;l=0;}test();int*geta(){returna;}};請寫出test函數(shù)的過程(如果需要形式參數(shù),請給出形參類型和數(shù)量,以及返回值類型)答案:inlinevoidstr::test(){intk=0;for(inti=0;i<s.size();i++){if(s[i]==''&&i!=0){a[n]=k;n++;k=i+1;}}if(s[s.size()-1]!=''){a[n]=k;n++;}}解析:for中if判斷出現(xiàn)空格且空格不在字符串的首位置,如滿足則數(shù)組a[]記錄單詞的起始地址,且單詞個數(shù)n+1,k指向下個單詞的起始位置。for外的if判斷:若最后一個字符不是空格時,需單獨統(tǒng)計最后一個單詞。[問答題]80.運行下列程序的結(jié)果為var1=300,var2=400var1=①_,var2=_②_。#include<iostream.h>voidoutput(intvar1,intvar2){cout<<"var1="<<var1<<",var2="<<var2<<endl;var1=100;var2=200;}voidmain(){intvar1=300;intvar2=400;output(var1,var2);cout<<"var1="<<var1<<",var2="<<var2<<endl;}答案:本題主要考查變量的作用域問題。在主函數(shù)中定義的變量var1和var2其作用域為本程序范圍,在函數(shù)output中形參var1和var2的作用域在output函數(shù)范圍內(nèi),因為它和主函數(shù)中定義的變量同名,所以在該函數(shù)范圍內(nèi)會屏蔽主函數(shù)中定義的同名變量,其中的訪問變量var1和var2的操作都是針對于形參變量,與主函數(shù)中定義的變量無關(guān)。當對output函數(shù)的調(diào)用結(jié)束后,形參變量消失,返回主函數(shù),在主函數(shù)中訪問的變量var1和var2仍為主函數(shù)中所定義的變量。所以,答案為:①300、②400解析:[問答題]81.答案:publicclassProg16{publicstaticvoidmain(String[]args){intm=0;for(intC=1;C<200;C++){for(intA=1;A<=200;A++){for(intB=1;B<=200;B++){if(A*A+B*B==C*C){System.out.println(C);A=201;B=201;m++;}}}}System.out.println("個數(shù)為:"+m);}}解析:[問答題]82.有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列的前20項之和答案:1.程序分析:請抓住分子與分母的變化規(guī)律。2.程序源代碼:#include?stdio.h?#include?conio.h?main(){intn,t,number=20;floata=2,b=1,s=0;for(n=1;n<=number;n++){s=s+a/b;t=a;a=a+b;b=t;/*這部分是程序的關(guān)鍵,請讀者猜猜t的作用*/}printf(?sumis%9.6f\n?,s);getch();}解析:[問答題]83.1、已知字符A的ASCII值是65,寫出運行結(jié)果#include<iostream>usingnamespacestd;intmain(){charc1='a',c2='b',c3='c',c4='\101';charc5=c4+2;cout<<"1234567890"<<endl;cout<<c1<<c2<<c3<<'\n';cout<<c4<<'\t'<<c5<<'\n';return0;}答案:運行結(jié)果1234567890abcAC解析:[問答題]84.編一個函數(shù)GCD,求兩個無符號整數(shù)的最大公約數(shù)。主函數(shù)輸入兩個正整數(shù)m和n,調(diào)用GCD,求出m和n的最大公約數(shù)和最小公倍數(shù).并輸出。答案:packagemoreEasy;importjava.util.Scanner;publicclassThe1th{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);intm=cin.nextInt();intn=cin.nextInt();System.out.println(m+"和"+n+"的最大公約數(shù)為:"+GCD(m,n));System.out.println(m+"和"+n+"的最小公倍數(shù)為:"+m*n/GCD(m,n));}publicstaticintGCD(inta,intb){intr=0;for(inti=1;i<=a&&i<=b;i++){if(a%i==0&&b%i==0&&r<i){r=i;}}//System.out.println(r);returnr;}}解析:[問答題]85.CMemoryState主要功能是什么答案:查看內(nèi)存使用情況,解決內(nèi)存泄露問題。解析:[問答題]86.在一個已知的一維數(shù)組中分類統(tǒng)計正數(shù)和負數(shù)的個數(shù)。正數(shù)的個數(shù)存入變量C1中,負數(shù)個數(shù)存入變量C2中.輸出格式要求:cout<<"c1="<<c1<<endl;cout<<"c2="<<c2<<endl;答案:#include<iostream>usingnamespacestd;intmain(){inta[10]={1,-2,0,4,-5,0,7,8,-9,10};intc1=0,c2=0;inti;for(i=0;i<10;i++)if(a[i]>0)c1++;elseif(a[i]<0)c2++;cout<<"c1="<<c1<<endl;cout<<"c2="<<c2<<endl;return0;}解析:[問答題]87.變量根據(jù)其作用域的范圍可以分作()。答案:局部變量和全局變量解析:[問答題]88.memset,memcpy的區(qū)別答案:memset用來對一段內(nèi)存空間全部設(shè)置為某個字符,一般用在對定義的字符串進行初始化為?\0′。memcpy用來做內(nèi)存拷貝,你可以拿它拷貝任何數(shù)據(jù)類型的對象,可以指定拷貝的數(shù)據(jù)長度;解析:[問答題]89.輸出一個一維數(shù)組中最大元素的值答案:#include<iostream.h>intmain(){inta[5]={69,56,35,26,86};intmax=a[0];for(inti=1;i<5;i++){if(a[i]>max)max=a[i];}cout<<"max="<<max<<endl;return0;}解析:[問答題]90.已知10個四位數(shù)輸出所有對稱數(shù)及個數(shù)n。例如1221,2332都是對稱數(shù)。設(shè):intm[10]={1221,2243,2332,1435,1236,5623,4321,4356,6754,3234};輸出結(jié)果:12212332答案:#include<iostream>usingnamespacestd;intmain(){inti,n=0,m[10]={1221,2243,2332,1435,1236,5623,4321,4356,6754,3234};for(i=0;i<10;i++){inta,b,c,d;a=m[i]/1000;b=m[i]%1000/100;c=m[i]%100/10;d=m[i]%10;if(a==d&&c==b){cout<<m[i]<<endl;n++;}}cout<<"n="<<n<<endl;return0;}解析:[問答題]91.源程序文檔化要求程序應加注釋,注釋一般分為序言性注釋和答案:功能性注釋解析:注釋的分類:按功能:源程序文檔化要求程序應加注釋,注釋一般分為序言性注釋和功能性注釋。按風格:1)從/*開始,到*/結(jié)束,這之間的所有內(nèi)容都視作注釋。2)從//直到行尾,都是注釋。[問答題]92.運行下列程序結(jié)果為___________________。#include<iostream.h>#include<stdlib.h>constintN=3;voidprocess(float*p,intn,float(*fun)(float*p,intn));floatarr_add(floatarr[],intn){inti;floatsum=0;for(i=0;i<n;i++)sum=sum+arr[i];return(sum);}floatodd_add(float*p,intn){inti;floatsum=0;for(i=0;i<n;i=i+2,p=p+2)sum=sum+*p;return(sum);}floatarr_ave(float*p,intn){inti;floatsum=0,ave;for(i=0;i<n;i++)ave=sum/n;return(ave);}floatarr_max(floatarr[],intn){inti;floatmax;max=arr[0];for(i=0;i<n;i++)if(arr[i]>max)max=arr[i];return(max);}voidprocess(float*p,intn,float(*fun)(float*p,intn)){floatresult;result=(*fun)(p,n);cout<<result;}voidmain(){voidprocess(float*p,intn,float(*fun)(float*p,intn));floatarr_add(floatarr[],intn);floatodd_add(float*p,intn);floatarr_ave(float*p,intn);floatarr_max(floatarr[],intn);staticfloata[]={1.5,3.8,5.6};intn=N;cout<<"\nthesumof"<<n<<"elementis:"<<"\n";process(a,n,arr_add);cout<<"\nthesumofoldelementis:"<<"\n";process(a,n,odd_add);cout<<"\nthesumofaverageof"<<n<<"elementis:"<<"\n";process(a,n,arr_ave);cout<<"\nthesumofmaximumof"<<n<<"elementis:"<<"\n";process(a,n,arr_max);}答案:本題主要考查對函數(shù)指針的理解。本程序的作用是通過調(diào)用一系列的函數(shù)完成一些運算。函數(shù)arr_add(),odd_add(),arr_ave(),arr_max()的作用分別是求數(shù)組元素的和,求奇數(shù)位元素的和(即求下標為偶數(shù)的元素的和),求數(shù)組中元素的平均值,求數(shù)組中元素的最大值。函數(shù)process(float*p,intn,float(*fun)(float*p,intn))的作用是通過函數(shù)指針調(diào)用不同的函數(shù)(其中第三個參數(shù)為函數(shù)指針)。在主函數(shù)中調(diào)用process()函數(shù),傳遞的第一個實參為數(shù)組首地址,第二個實參位數(shù)組長度,第三個實參為函數(shù)名,用于傳遞函數(shù)的首地址。答案為

溫馨提示

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

評論

0/150

提交評論