2023年C++面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)題集_第1頁(yè)
2023年C++面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)題集_第2頁(yè)
2023年C++面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)題集_第3頁(yè)
2023年C++面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)題集_第4頁(yè)
2023年C++面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)題集_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C++面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)題集一、單項(xiàng)選擇題1.C++源程序文獻(xiàn)的默認(rèn)擴(kuò)展名為(A)。A.cppB.exeC.objD.lik2.由C++源程序文獻(xiàn)編譯而成的目的文獻(xiàn)的默認(rèn)擴(kuò)展名為(C)。A.cppB.exeC.objD.lik3.由C++目的文獻(xiàn)連接而成的可執(zhí)行文獻(xiàn)的默認(rèn)擴(kuò)展名為(B)。A.cppB.exeC.objD.lik4.C++程序從上機(jī)到得到結(jié)果的幾個(gè)操作環(huán)節(jié)依次是(B)。A.編譯、編輯、連接、運(yùn)營(yíng)B.編輯、編譯、連接、運(yùn)營(yíng)C.編譯、運(yùn)營(yíng)、編輯、連接D.編輯、運(yùn)營(yíng)、編輯、連接5.以下標(biāo)記符中不全是保存字的是(B)。A.caseforintB.defaultthenwhileC.boolclasslongD.gotoreturnchar6.能作為C++程序的基本單位是(C)。A.字符B.語(yǔ)句C.函數(shù)D.源程序文獻(xiàn)7.程序中主函數(shù)的名字為(A)。A.mainB.MAINC.MainD.任意標(biāo)記符8.C++程序的基本模塊為(D)。A.表達(dá)式B.標(biāo)記符C.語(yǔ)句D.函數(shù)9.可用作C++語(yǔ)言用戶標(biāo)記符的一組標(biāo)記符是(B)。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof10.存儲(chǔ)以下數(shù)據(jù),占用存儲(chǔ)字節(jié)最多的是(D)。A.0B.‘0’C.“0”D.0.011.程序運(yùn)營(yíng)中需要從鍵盤上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用(D)符號(hào)作為分隔符。A.空格或逗號(hào)B.逗號(hào)或回車C.逗號(hào)或分號(hào)D.空格或回車12.設(shè)”inta=12;”,則執(zhí)行完語(yǔ)句”a+=a*a;”后,a的值是(C)。A.12B.144C.156D.28813.假設(shè)在程序中a、b、c均被定義成整型,所賦的值都大于1,則下列能對(duì)的表達(dá)代數(shù)式的表達(dá)式是(D)。A.1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c14.設(shè)”inta=15,b=26;”,則”cout<<(a,b);”的輸出結(jié)果是(D)。A.15B.26,15C.15,26D.2615.設(shè)x是一個(gè)bool型的邏輯量,y的值為10,則表達(dá)式x&&y的值為(C)。A.1B.0C.與x值相同D.與x值相反16.x>0&&x<=10的相反表達(dá)式為(A)。A.x<=0||x>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>1017.x>0||y==5的相反表達(dá)式為(B)。A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==518.設(shè)x和y均為bool量,則x&&y為真的條件是(A)。A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)為假19.設(shè)x和y均為bool量,則x||y為假的條件是(C)。A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)為假20.字符串”a+b=12\n”的長(zhǎng)度為(B)。A.6B.7C.8D.921.假定下列x和y均為int型變量,則不對(duì)的的賦值為(B)。A.x+=y++B.x++=y++C.x=++yD.++x=++y22.下列的符號(hào)常量定義中,錯(cuò)誤的定義是(C)。A.constM=10;B.constintM=20;C.constcharch;D.constboolmark=true;23.循環(huán)語(yǔ)句“for(inti=0;i<n;i++)cout<<i*i<<’’;”中循環(huán)體執(zhí)行的次數(shù)為(C)。A.1B.n-1C.nD.n+124.在下面循環(huán)語(yǔ)句中循環(huán)體執(zhí)行的次數(shù)為(B)。for(inti=0;i<n;i++)if(i>n/2)break;A.n/2B.n/2+1C.n/2-1D.n-125.在下面循環(huán)語(yǔ)句中內(nèi)層循環(huán)體S語(yǔ)句的執(zhí)行總次數(shù)為(D)。for(inti=0;i<n;i++)for(intj=i;j<n;j++)S;A.n2B.(n+1)/2C.n(n-1)/2D.n(n+1)/226.在下面循環(huán)語(yǔ)句中循環(huán)體執(zhí)行的次數(shù)為(C)。inti=0,s=0;while(s<20){i++;s+=i;}A.4B.5C.6D.727.在下面循環(huán)語(yǔ)句中循環(huán)體執(zhí)行的次數(shù)為(A)。inti=0;doi++;while(i*i<10);A.4B.3C.5D.228.當(dāng)解決特定問(wèn)題時(shí)的循環(huán)次數(shù)已知時(shí),通常采用(A)來(lái)解決。A.for循環(huán)B.while循環(huán)C.do循環(huán)D.switch語(yǔ)句29.循環(huán)體至少被執(zhí)行一次的語(yǔ)句為(C)。A.for循環(huán)B.while循環(huán)C.do循環(huán)D.任一種循環(huán)30.switch語(yǔ)句可以改寫(xiě)為(B)語(yǔ)句。A.forB.ifC.doD.while31.do語(yǔ)句可以改寫(xiě)為(D)語(yǔ)句。A.復(fù)合B.ifC.switchD.while32.在下面的一維數(shù)組定義中,哪一個(gè)有語(yǔ)法錯(cuò)誤。(C)A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];33.在下面的字符數(shù)組定義中,哪一個(gè)有語(yǔ)法錯(cuò)誤。(D)。A.chara[20]=”abcdefg”;B.chara[]=”x+y=55.”;C.chara[15];D.chara[10]=’5’;34.在下面的二維數(shù)組定義中,對(duì)的的是(C)。A.inta[5][];B.inta[][5];C.inta[][3]={{1,3,5},{2}};D.inta[](10);35.假定一個(gè)二維數(shù)組的定義語(yǔ)句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[1][2]的值為(C)。A.2B.4C.6D.836.假定一個(gè)二維數(shù)組的定義語(yǔ)句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為(A)。A.0B.4C.8D.637.若定義了函數(shù)double*function(),則函數(shù)function的返回值為(B)。A.實(shí)數(shù)型B.實(shí)數(shù)的地址C.指向函數(shù)的指針D.函數(shù)的地址38.以下說(shuō)法中對(duì)的的是(B)。A.C++程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行B.C++程序總是從main函數(shù)開(kāi)始執(zhí)行C.C++函數(shù)必須有返回值,否則不能使用函數(shù)D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)程序文獻(xiàn)中39.以下敘述中不對(duì)的的是(C)。A.在一個(gè)函數(shù)中,可以有多條return語(yǔ)句B.函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套C.函數(shù)必須有返回值D.不同的函數(shù)中可以使用相同名字的變量40.函數(shù)重載是指(A)。A.兩個(gè)或兩個(gè)以上的函數(shù)取相同的函數(shù)名,但形參的個(gè)數(shù)或類型不同B.兩個(gè)以上的函數(shù)取相同的名字和具有相同的參數(shù)個(gè)數(shù),但形參的類型可以不同C.兩個(gè)以上的函數(shù)名字不同,但形參的個(gè)數(shù)或類型相同D.兩個(gè)以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同41.以下關(guān)于函數(shù)模板敘述對(duì)的的是(C)。A.函數(shù)模板也是一個(gè)具體類型的函數(shù)B.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個(gè)概念C.通過(guò)使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)D.用函數(shù)模板定義的函數(shù)沒(méi)有類型42.下列(C)的調(diào)用方式是引用調(diào)用。A.形參和實(shí)參都是變量B.形參是指針,實(shí)參是地址值C.形參是引用,實(shí)參是變量D.形參是變量,實(shí)參是地址值43.為了提高程序的運(yùn)營(yíng)速度,可將不太復(fù)雜的功能用函數(shù)實(shí)現(xiàn),此函數(shù)應(yīng)選擇(A)。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸函數(shù)D.函數(shù)模板44.函數(shù)原型語(yǔ)句對(duì)的的是(B)。A.intFunction(voida);B.voidFunction(int);C.intFunction(a);D.voidint(doublea);45.C++中函數(shù)返回值的類型是由(B)決定的。A.return語(yǔ)句中表達(dá)式的類型B.該函數(shù)定義時(shí)的類型C.調(diào)用函數(shù)時(shí)的調(diào)用語(yǔ)句D.系統(tǒng)根據(jù)結(jié)果46.以下函數(shù)的返回結(jié)果是(A)。intfunction(char*x){char*p=x;while(*p++);return(p-x-1);}A.求字符串的長(zhǎng)度B.將字符串x連接到字符串p后面C.將字符串x復(fù)制到字符串p中D.將字符串x反向存放47.函數(shù)調(diào)用func((exp1,exp2),(exp3,exp4,exp5))中所含實(shí)參的個(gè)數(shù)為(B)個(gè)。A.1B.2C.4D.548.設(shè)有如下函數(shù)定義intf(char*s){char*p=s;while(*p!=’\0’)p++;return(p-s);}在主函數(shù)中用cout<<f(“good”)調(diào)用上述函數(shù),則輸出結(jié)果為(B)。A.3B.4C.5D.649.以下對(duì)的的函數(shù)原型語(yǔ)句是(C)。A.doublefun(intx,inty)B.doublefun(intx;inty)C.doublefun(int,int);D.doublefun(intx,y);50.以下對(duì)的的說(shuō)法是(B)。A.用戶調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)前,必須重新定義B.用戶可以重新定義標(biāo)準(zhǔn)庫(kù)函數(shù),若如此,該函數(shù)將失去原有含義C.系統(tǒng)不允許用戶重新定義標(biāo)準(zhǔn)庫(kù)函數(shù)D.用戶調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)前,不必使用預(yù)編譯命令將該函數(shù)所在文獻(xiàn)涉及到用戶源文獻(xiàn)中51.函數(shù)調(diào)用不可以(D)。A.出現(xiàn)在一個(gè)表達(dá)式中B.出現(xiàn)在執(zhí)行語(yǔ)句中C.作為一個(gè)函數(shù)的實(shí)參D.作為一個(gè)函數(shù)的形參52.以下對(duì)的的描述是(B)。A.函數(shù)的定義可以嵌套,函數(shù)的調(diào)用不可以嵌套B.函數(shù)的定義不可以嵌套,函數(shù)的調(diào)用可以嵌套C.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套53.若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是(A)。A.數(shù)組的首地址B.數(shù)組中第一個(gè)元素的值C.數(shù)組所有元素的值D.數(shù)組元素的個(gè)數(shù)54.以下錯(cuò)誤的描述是(D)。A.被調(diào)用函數(shù)中可以不用return語(yǔ)句B.被調(diào)用函數(shù)中可以用多個(gè)return語(yǔ)句C.被調(diào)用函數(shù)中,假如有返回值,就一定要有return語(yǔ)句D.被調(diào)用函數(shù)中,一個(gè)return語(yǔ)句可返回多個(gè)值給調(diào)用函數(shù)55.以下對(duì)的的描述是(C)。A.不允許設(shè)立參數(shù)的默認(rèn)值B.設(shè)立參數(shù)的默認(rèn)值只能在定義函數(shù)時(shí)設(shè)立C.設(shè)立參數(shù)的默認(rèn)值時(shí),應(yīng)當(dāng)設(shè)立右邊的參數(shù)D.設(shè)立參數(shù)的默認(rèn)值時(shí),應(yīng)當(dāng)所有參數(shù)都設(shè)立56.采用重載函數(shù)的目的是(D)。A.實(shí)現(xiàn)共享B.減少空間C.提高速度D.使用方便,提高可讀性57.將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串時(shí),選用(C)函數(shù)。A.strlen()B.strcap()C.strcat()D.strcmp()58.以下敘述中對(duì)的的是(B)。A.使用#define可認(rèn)為常量定義一個(gè)名字,該名字在程序中可以再賦此外的值B.使用const定義的常量名有類型之分,其值在程序運(yùn)營(yíng)時(shí)是不可改變的C.在程序中使用內(nèi)聯(lián)函數(shù)使程序的可讀性變差D.在定義函數(shù)時(shí)可以在形參表的任何位置給出缺省形參值59.下面的標(biāo)記符中,(C)是文獻(xiàn)級(jí)作用域。A.函數(shù)形參B.語(yǔ)句標(biāo)號(hào)C.外部靜態(tài)類標(biāo)記符D.自動(dòng)類標(biāo)記符60.以下敘述不對(duì)的的是(D)。A.宏替換不占用運(yùn)營(yíng)時(shí)間B.宏名無(wú)類型C.宏替換只是字符替換D.宏名必須用大寫(xiě)字母表達(dá)61.C++語(yǔ)言的編譯系統(tǒng)對(duì)宏命令的解決是(D)。A.在程序運(yùn)營(yíng)時(shí)進(jìn)行B.在程序連接時(shí)進(jìn)行C.和C++程序的其它語(yǔ)句同時(shí)進(jìn)行編譯D.在對(duì)源程序中其它成分正式編譯之前進(jìn)行62.當(dāng)#include后面的文獻(xiàn)名用雙引號(hào)括起來(lái)時(shí),尋找被包含文獻(xiàn)的方式是(B)。A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B.先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄C.僅僅搜索源程序所在目錄D.搜索當(dāng)前邏輯盤上的所有目錄63.當(dāng)#include后面的文獻(xiàn)名用尖括號(hào)括起來(lái)時(shí),尋找被包含文獻(xiàn)的方式是(A)。A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B.先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄C.僅僅搜索源程序所在目錄D.搜索當(dāng)前邏輯盤上的所有目錄64.在下面存儲(chǔ)類中,(C)對(duì)象的可見(jiàn)性與生存期不一致。A.外部類B.自動(dòng)類C.內(nèi)部靜態(tài)類D.寄存器類65.在下面存儲(chǔ)類中,(A)的對(duì)象不是局部變量。A.外部靜態(tài)類B.自動(dòng)類C.函數(shù)形參D.寄存器類66.關(guān)于局部變量,下面說(shuō)法對(duì)的的是(C)。A.定義該變量的程序文獻(xiàn)中的函數(shù)都可以訪問(wèn)B.定義該變量的函數(shù)中的定義處以下的任何語(yǔ)句都可以訪問(wèn)C.定義該變量的復(fù)合語(yǔ)句中的定義處以下的任何語(yǔ)句都可以訪問(wèn)D.定義該變量的函數(shù)中的定義處以上的任何語(yǔ)句都可以訪問(wèn)67.文獻(xiàn)包含命令中被包含的文獻(xiàn)的擴(kuò)展名(C)。A.必須是.hB.不能是.hC.可以是.h或.cppD.必須是.cpp68.預(yù)解決命令在程序中都是以(B)符號(hào)開(kāi)頭的。A.*B.#C.&D.@69.設(shè)array為一個(gè)數(shù)組,則表達(dá)式sizeof(array)/sizeof(array[0])的結(jié)果為(B)。A.array數(shù)組首地址B.array數(shù)組中元素個(gè)數(shù)C.array數(shù)組中每個(gè)元素所占的字節(jié)數(shù)D.array數(shù)組占的總字節(jié)數(shù)70.用new運(yùn)算符創(chuàng)建一個(gè)含10個(gè)元素的一維整型數(shù)組的對(duì)的語(yǔ)句是(C)。A.int*p=newa[10];B.int*p=newfloat[10];C.int*p=newint[10];D.int*p=newint[10]={1,2,3,4,5}71.下列給字符數(shù)組賦初值時(shí),對(duì)的的是(A)。A.chars1[]=”abcdef”;B.chars2[4]=”abcd”;C.chars3[2][3]={“abc”,”xyz”};D.chars4[4][]={‘a(chǎn)’,’x’,’s’,’t’};72.設(shè)有定義“staticintdata[5][6];”,設(shè)該數(shù)組在靜態(tài)存儲(chǔ)區(qū)中的起始地址為十進(jìn)制的100,若每個(gè)int型數(shù)占4個(gè)字節(jié),則數(shù)組元素data[2][3]的地址為(D)。A.115B.124C.130D.16073.假定變量m定義為“intm=7;”,則定義變量p的對(duì)的語(yǔ)句為(B)。A.intp=&m;B.int*p=&m;C.int&p=*m;D.int*p=m;74.假定k是一個(gè)double類型的變量,則關(guān)于變量p的對(duì)的定義語(yǔ)句為(D)。A.doublep=&k;B.int*p=&k;C.double&p=*k;D.char*p=”Thankyou!”;75.變量s的定義為“char*s=”Helloworld!”;”,要使變量p指向s所指向的同一個(gè)字符串,則應(yīng)選?。ˋ)。A.char*p=s;B.char*p=&s;C.char*p;p=*s;D.char*p;p=&s;76.關(guān)于void指針,下列說(shuō)法對(duì)的的是(C)。A.void指針就是未指向任何數(shù)據(jù)的指針B.void指針就是已定義而未初始化的指針C.指向任何類型數(shù)據(jù)的指針可直接賦值給一個(gè)void指針D.void指針值可直接賦給一個(gè)非void指針77.假定一條定義語(yǔ)句為“inta[10],x,*pa=a;”,若要把數(shù)組a中下標(biāo)為3的元素值賦給x,則不對(duì)的的語(yǔ)句為(D)。A.x=pa[3];B.x=*(a+3);C.x=a[3];D.x=*pa+3;78.假定有定義“intb[10];int*pb;”,則不對(duì)的的賦值語(yǔ)句為(D)。A.pb=b;B.pb=&b[0];C.*pb=newint;D.pb=b[5];79.假定p是具有double類型的指針變量,則表達(dá)式++p使p的值(以字節(jié)為單位)增長(zhǎng)(C)。A.1B.4C.sizeof(double)D.sizeof(p)80.假定p指向的字符串為”string”,則cout<<p+3的輸出結(jié)果為(C)。A.stringB.ringC.ingD.i81.假定p指向的字符串為”string”,若要輸出這個(gè)字符串的地址值,則使用(D)。A.cout<<*p;B.cout<<p;C.cout<<&p;D.cout<<(void*)p;82.定義p并使p指向動(dòng)態(tài)空間中的包含30個(gè)整數(shù)的數(shù)組所使用的定義語(yǔ)句為(A)。A.int*p=newint[30];B.int*p=newint(30);C.int*p=new[30];D.*p=newint[30];83.假定p是具有int**類型的指針變量,則給p賦值的對(duì)的語(yǔ)句為(B)。A.p=newint;B.p=newint*;C.p=newint**;D.p=newint[10];84.要使語(yǔ)句“p=newint[10][20];”可以正常執(zhí)行,p應(yīng)被事先定義為(D)。A.int*p;B.int**p;C.int*p[20];D.int(*p)[20];85.假定有“structBOOK{chartitle[40];floatprice;};BOOK*book=newBOOK;”,則對(duì)的的語(yǔ)句為(A)。A.strcpy(book->title,”WangTao”);B.strcpy(book.title,”WangTao”);C.strcpy(*book.title,”WangTao”);D.strcpy((*book)->title,”WangTao”);86.假定有“structBOOK{chartitle[40];floatprice;};BOOK*book;”,則不對(duì)的的語(yǔ)句為(A)。A.BOOK*x=newbook;B.BOOKx={"C++Programming",27.0};C.BOOK*x=newBOOK;D.BOOK*x=book;87.假定有“structBOOK{chartitle[40];floatprice;}book;”,則對(duì)的的語(yǔ)句為(B)。A.BOOK&x=&book;B.BOOK&x=book;C.BOOK&x=newBOOK;D.BOOK&x=BOOK;88.下列對(duì)引用的陳述中不對(duì)的的是(C)。A.每一個(gè)引用都是其所引用對(duì)象的別名,因此必須初始化B.形式上針對(duì)引用的操作事實(shí)上作用于它所引用的對(duì)象C.一旦定義了引用,一切針對(duì)其所引用對(duì)象的操作只能通過(guò)該引用間接進(jìn)行D.不需要單獨(dú)為引用分派存儲(chǔ)空間89.假定變量a和pa定義為“doublea[10],*pa=a;”,要將12.35賦值給a中的下標(biāo)為5的元素,不對(duì)的的語(yǔ)句是(D)。A.pa[5]=12.35;B.a[5]=12.35;C.*(pa+5)=12.35;D.*(a[0]+5)=12.35;90.假定變量b和pb定義為“intb[10],*pb=b;”,要將24賦值給b[1]元素中,不對(duì)的的語(yǔ)句是(C)。A.*(pb+1)=24;B.*(b+1)=24;C.*++b=24;D.*++pb=24;91.假定指針變量p定義為“int*p=newint(100);”,要釋放p所指向的動(dòng)態(tài)內(nèi)存,應(yīng)使用語(yǔ)句(A)。A.deletep;B.delete*p;C.delete&p;D.delete[]p;92.假定指針變量p定義為“int*p=newint[30];”,要釋放p所指向的動(dòng)態(tài)內(nèi)存,應(yīng)使用語(yǔ)句(D)。A.deletep;B.delete*p;C.delete&p;D.delete[]p;93.假定變量x定義為“intx=5;”,要使rx成為x的引用(別名),rx應(yīng)定義為(D)。A.intrx=x;B.intrx=&x;C.int*rx=&x;D.int&rx=x;94.關(guān)于消息,下列說(shuō)法中不對(duì)的的是(B)。A.發(fā)送消息的對(duì)象請(qǐng)求服務(wù),接受消息的對(duì)象提供服務(wù)B.消息的發(fā)送者必須了解消息的接受者如何相應(yīng)消息C.在C++中,消息的發(fā)送具體體現(xiàn)為對(duì)接受消息的對(duì)象的某個(gè)函數(shù)的調(diào)用D.每個(gè)對(duì)象只能接受某些特定格式的消息95.關(guān)于封裝,下列說(shuō)法中不對(duì)的的是(D)。A.通過(guò)封裝,對(duì)象的所有屬性和操作結(jié)合在一起,形成一個(gè)整體B.通過(guò)封裝,一個(gè)對(duì)象的實(shí)現(xiàn)細(xì)節(jié)被盡也許地隱藏起來(lái)(不可見(jiàn))C.通過(guò)封裝,每個(gè)對(duì)象都成為相對(duì)獨(dú)立的實(shí)體D.通過(guò)封裝,對(duì)象的屬性都是不可見(jiàn)的96.面向?qū)ο蠓椒ǖ亩鄳B(tài)性是指(C)。A.一個(gè)類可以派生出多個(gè)特殊類B.一個(gè)對(duì)象在不同的運(yùn)營(yíng)環(huán)境中可以有不同的變體C.針對(duì)一消息,不同的對(duì)象可以以適合自身的方式加以響應(yīng)D.一個(gè)對(duì)象可以是由多個(gè)其他對(duì)象組合而成的97.軟件產(chǎn)品在需求發(fā)生變化、運(yùn)營(yíng)環(huán)境發(fā)生變化或發(fā)現(xiàn)軟件產(chǎn)品自身的錯(cuò)誤或局限性時(shí)進(jìn)行相應(yīng)的軟件更新的難易限度叫做軟件的(A)。A.可維護(hù)性B.可復(fù)用性C.兼容性D.對(duì)的性98.軟件產(chǎn)品可被所有或部分地再用于新的應(yīng)用的能力叫做軟件的(B)。A.可維護(hù)性B.可復(fù)用性C.兼容性D.對(duì)的性99.軟件產(chǎn)品與其他軟件產(chǎn)品組合成一個(gè)整體的難易限度叫做軟件的(C)。A.可維護(hù)性B.可復(fù)用性C.兼容性D.對(duì)的性100.軟件產(chǎn)品準(zhǔn)確執(zhí)行軟件需求規(guī)格說(shuō)明書(shū)中所規(guī)定的任務(wù)的能力叫做軟件的(D)。A.可維護(hù)性B.可復(fù)用性C.兼容性D.對(duì)的性二、填空題1.C++語(yǔ)言是在__C____語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的。2.C++語(yǔ)言的編譯單位是擴(kuò)展名為_(kāi)__.cpp_____的__程序_____文獻(xiàn)。3.行尾使用注釋的開(kāi)始標(biāo)記符為_(kāi)___//____。4.多行注釋的開(kāi)始標(biāo)記符和結(jié)束標(biāo)記符分別為_(kāi)/*________和___*/_____。5.用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出流對(duì)象是_cout_____。6.用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入流對(duì)象是___cin___。7.一個(gè)完整程序中必須有一個(gè)名為_(kāi)_main____的函數(shù)。8.一個(gè)函數(shù)的函數(shù)體就是一條__復(fù)合_____語(yǔ)句。9.當(dāng)執(zhí)行cin語(yǔ)句時(shí),從鍵盤上輸入每個(gè)數(shù)據(jù)后必須接著輸入一個(gè)_空白_____符,然后才干繼續(xù)輸入下一個(gè)數(shù)據(jù)。10.在C++程序中包含一個(gè)頭文獻(xiàn)或程序文獻(xiàn)的預(yù)編譯命令為_(kāi)_#include______。11.程序中的預(yù)解決命令是指以__#___字符開(kāi)頭的命令。12.一條表達(dá)式語(yǔ)句必須以___分號(hào)___作為結(jié)束符。13.在#include命令中所包含的頭文獻(xiàn),可以是系統(tǒng)定義的頭文獻(xiàn),也可以是___用戶(或編程者)____定義的頭文獻(xiàn)。14.使用#include命令可以包含一個(gè)頭文獻(xiàn),也可以包含一個(gè)_程序___文獻(xiàn)。15.一個(gè)函數(shù)定義由_函數(shù)頭____和__函數(shù)體____兩部分組成。16.若一個(gè)函數(shù)的定義處在調(diào)用它的函數(shù)之前,則在程序開(kāi)始可以省去該函數(shù)的_原型(或聲明)____語(yǔ)句。17.C++頭文獻(xiàn)和源程序文獻(xiàn)的擴(kuò)展名分別為_(kāi)__.h___和___.cpp___。18.程序文獻(xiàn)的編譯錯(cuò)誤分為_(kāi)__警告(warning)____和__致命(error)___兩類。19.當(dāng)使用__void____保存字作為函數(shù)類型時(shí),該函數(shù)不返回任何值。20.當(dāng)函數(shù)參數(shù)表用__void____保存字表達(dá)時(shí),則表達(dá)該參數(shù)表為空。21.從一條函數(shù)原型語(yǔ)句“intfun1(void);”可知,該函數(shù)的返回類型為_(kāi)_int____,該函數(shù)帶有_0___個(gè)參數(shù)。22.當(dāng)執(zhí)行cout語(yǔ)句輸出endl數(shù)據(jù)項(xiàng)時(shí),將使C++顯示輸出屏幕上的光標(biāo)從當(dāng)前位置移動(dòng)到_____下一行___的開(kāi)始位置。23.假定x=5,y=6,則表達(dá)式x++*++y的值為_(kāi)___35______。24.假定x=5,y=6,則表達(dá)式x--*--y的值為_(kāi)____25_____。25.假定x=5,y=6,則執(zhí)行表達(dá)式y(tǒng)*=x++計(jì)算后,x和y的值分別為_(kāi)__6_______和___30_______。26.假定x=5,y=6,則執(zhí)行表達(dá)式y(tǒng)+=x--計(jì)算后,x和y的值分別為_(kāi)___4______和____11______。27.C++常數(shù)0x145相應(yīng)的十進(jìn)制值為_(kāi)____325_____。28.C++常數(shù)0345相應(yīng)的十進(jìn)制值為_(kāi)____2_____。29.十進(jìn)制常數(shù)245相應(yīng)的十六進(jìn)制的C++表達(dá)為_(kāi)___0xf5______。30.十進(jìn)制常數(shù)245相應(yīng)的八進(jìn)制的C++表達(dá)為_(kāi)___0365______。31.signedchar類型的值域范圍是__-128______至__+127______之間的整數(shù)。32.int和float類型的數(shù)據(jù)分別占用__4_____和____4____個(gè)字節(jié)。33.float和double類型的數(shù)據(jù)分別占用____4_____和____8____個(gè)字節(jié)。34.bool和char類型的數(shù)據(jù)分別占用____1_____和_____1___個(gè)字節(jié)。35.unsignedshortint和int類型的長(zhǎng)度分別為_(kāi)____2____和___4_____。36.字符串”This\’sabook.\n”的長(zhǎng)度為_(kāi)____15_____。37.字符串”\nThis\’sapen\n\n”的長(zhǎng)度為_(kāi)____15_____。38.在C++中存儲(chǔ)字符串”abcdef”至少需要____7____個(gè)字節(jié)。39.在C++中存儲(chǔ)字符串”a+b=c”至少需要____6____個(gè)字節(jié)。40.假定x和y為整型,其值分別為16和5,則x%y和x/y的值分別為_(kāi)___1____和___3_____。41.假定x和y為整型,其值分別為16和5,則x/y和double(x)/y的值分別為_(kāi)___3______和_____3.2____。42.假定x是一個(gè)邏輯量,則x&&true的值為_(kāi)___x_____。43.假定x是一個(gè)邏輯量,則x||true的值為_(kāi)____true(或1)____。44.假定x是一個(gè)邏輯量,則x&&false的值為_(kāi)____false(或0)____。45.假定x是一個(gè)邏輯量,則x||false的值為_(kāi)___x______。46.假定x是一個(gè)邏輯量,則!x||false的值為_(kāi)___!x______。47.假定x是一個(gè)邏輯量,則x&&!x的值為_(kāi)____false(或0)_____。48.假定x是一個(gè)邏輯量,則x||!x的值為_(kāi)___true(或1)_____。49.數(shù)學(xué)算式的C++表達(dá)式為_(kāi)_____(x+y)/(2*x*y)______。50.數(shù)學(xué)算式的C++表達(dá)式為_(kāi)___3*x*y/(x+y)_______。51.數(shù)學(xué)算式的C++表達(dá)式為_(kāi)___1/(a*x*x+b*y*y)____________。52.設(shè)enumPrintstatus{ready,busy,error};則cout<<busy的輸出結(jié)果是_1____。53.設(shè)enumPrintstatus{ready=2,busy,error};則cout<<busy的輸出結(jié)果是__3____。54.常數(shù)-4.205和6.7E-9分別具有____4______和_____2_____位有效數(shù)字。55.枚舉類型中的每個(gè)枚舉值都是一個(gè)_____枚舉常量_____,它的值為一個(gè)___整數(shù)______。56.常數(shù)100和3.62的數(shù)據(jù)類型分別為_(kāi)___int____和___double_____。57.若x=5,y=10,則計(jì)算y*=++x表達(dá)式后,x和y的值分別為_(kāi)6___和___60___。58.假定x和ch分別為int型和char型,則sizeof(x)和sizeof(ch)的值分別為_(kāi)__4___和__1____。59.假定x=10,則表達(dá)式x<=10?20:30的值為_(kāi)_20____。60.表達(dá)式sqrt(81)和pow(6,3)的值分別為_(kāi)__9___和__216____。61.含隨機(jī)函數(shù)的表達(dá)式rand()%20的值在__0___至__9____區(qū)間內(nèi)。62.在switch語(yǔ)句中,每個(gè)語(yǔ)句標(biāo)號(hào)所含關(guān)鍵字case后面的表達(dá)式必須是整型_常量______。63.在if語(yǔ)句中,每個(gè)else關(guān)鍵字與它前面同層次并且最接近的____if____關(guān)鍵字相配套。64.作為語(yǔ)句標(biāo)號(hào)使用的C++保存字case和default只能用于____switch____語(yǔ)句的定義體中。65.執(zhí)行switch語(yǔ)句時(shí),在進(jìn)行作為條件的表達(dá)式求值后,將從某個(gè)匹配的標(biāo)號(hào)位置起向下執(zhí)行,當(dāng)碰到下一個(gè)標(biāo)號(hào)位置時(shí)__不斷止______執(zhí)行。66.若while循環(huán)的“頭”為“while(i++<=10)”,并且i的初值為0,同時(shí)在循環(huán)體中不會(huì)修改i的值,則循環(huán)體將被反復(fù)執(zhí)行____11__次后正常結(jié)束。67.若do循環(huán)的“尾”為“while(++i<10)”,并且i的初值為0,同時(shí)在循環(huán)體中不會(huì)修改I的值,則循環(huán)體將被反復(fù)執(zhí)行___10___次后正常結(jié)束。68.當(dāng)在程序中執(zhí)行到___break_____語(yǔ)句時(shí),將結(jié)束本層循環(huán)類語(yǔ)句或switch語(yǔ)句的執(zhí)行。69.當(dāng)在程序中執(zhí)行到____continut____語(yǔ)句時(shí),將結(jié)束所在循環(huán)語(yǔ)句中循環(huán)體的一次執(zhí)行。70.在程序中執(zhí)行到___return__語(yǔ)句時(shí),將結(jié)束所在函數(shù)的執(zhí)行過(guò)程,返回到調(diào)用該函數(shù)的位置。71.在程序執(zhí)行完___主(或main)__函數(shù)后,將結(jié)束整個(gè)程序的執(zhí)行過(guò)程,返回到操作系統(tǒng)下的C++集成開(kāi)發(fā)窗口。72.元素類型為int的數(shù)組a[10]共占用__40_____字節(jié)的存儲(chǔ)空間。73.元素類型為double的二維數(shù)組a[4][6]共占用_192__字節(jié)的存儲(chǔ)空間。74.元素類型為char的二維數(shù)組a[10][30]共占用__300___字節(jié)的存儲(chǔ)空間。75.存儲(chǔ)字符’a’和字符串”a”分別需要占用___1___和__2____個(gè)字節(jié)。76.空串的長(zhǎng)度為_(kāi)_0___,存儲(chǔ)它需要占用____1___個(gè)字節(jié)。77.字符串”\’a\’xy=4\n”的長(zhǎng)度為_(kāi)_8____。78.字符串”a:\\xxk\\數(shù)據(jù)”的長(zhǎng)度為_(kāi)11___。79.用于存儲(chǔ)一個(gè)長(zhǎng)度為n的字符串的字符數(shù)組的長(zhǎng)度至少為_(kāi)__n+1___。80.若a是一個(gè)字符數(shù)組,則從鍵盤上向該數(shù)組輸入一個(gè)字符串的表達(dá)式為_(kāi)__cin>>a___。81.若a是一個(gè)字符數(shù)組,則向屏幕輸出a中所存字符串的表達(dá)式為_(kāi)___cout<<a____。82.一個(gè)二維字符數(shù)組a[10][20]可以存儲(chǔ)_____10___個(gè)字符串,每個(gè)字符串的長(zhǎng)度至多為_(kāi)__19_____。83.對(duì)一個(gè)二維字符數(shù)組a進(jìn)行初始化的數(shù)據(jù)為{”123”,”456”,”789”},則a[1]元素相應(yīng)的字符串為_(kāi)”456”_____。84.strlen(”apple”)的值為_(kāi)_5___,strcmp(”a”,”A”)的值為_(kāi)__1___。85.若需要把一個(gè)字符串”aaa”賦值到字符數(shù)組a中,則需要執(zhí)行__strcpy(或strcpy(a,”aaa”))___函數(shù)的調(diào)用來(lái)實(shí)現(xiàn)。86.假定對(duì)二維數(shù)組a[3][4]進(jìn)行初始化的數(shù)據(jù)為{{3,5,6},{2,8},{7}},則a[1][1]和a[2][3]分別被初始化為_(kāi)__8____和___0_____。87.在C++語(yǔ)言中,一個(gè)函數(shù)由函數(shù)頭和__函數(shù)體______組成。88.重載一個(gè)函數(shù)的條件是:該函數(shù)必須在參數(shù)的個(gè)數(shù)或參數(shù)的__類型____上與其它同名函數(shù)有所不同。89.假如一個(gè)函數(shù)只允許同一文獻(xiàn)中的函數(shù)調(diào)用,則應(yīng)在該函數(shù)定義前加上___static____C++保存字。90.若“doublex=100;”是文獻(xiàn)F1.CPP中的一個(gè)全局變量定義語(yǔ)句,若文獻(xiàn)F2.CPP中的某個(gè)函數(shù)需要訪問(wèn)此x,則應(yīng)在文獻(xiàn)F2.CPP中添加對(duì)x的聲明語(yǔ)句為_(kāi)_externdoublex_____。91.定義一個(gè)函數(shù)模板要用到的第一個(gè)修飾符是___template___。92.在函數(shù)模板的參數(shù)中,用class修飾的參數(shù)稱為_(kāi)虛擬類型(或類型)___參數(shù)。93.假如一個(gè)函數(shù)直接或間接地調(diào)用自身,這樣的調(diào)用稱為_(kāi)___遞歸_____調(diào)用。94.已知intcubin(intn){returnn*n*n;}和doublecubin(doublen){returnn*n*n;}是一個(gè)函數(shù)模板的兩個(gè)實(shí)例,假定類型參數(shù)用T表達(dá),則該函數(shù)模板的定義是_____template<classT>Tcubin(Tn){returnn*n*n;______。95.對(duì)于無(wú)返回值函數(shù),定義函數(shù)時(shí)要用____void_____修飾函數(shù)類型。96.假如一個(gè)函數(shù)定義使用了____static____修飾,則該函數(shù)不允許被其它文獻(xiàn)中的函數(shù)調(diào)用。97.假如一個(gè)函數(shù)中有多個(gè)默認(rèn)參數(shù),則默認(rèn)參數(shù)必須所有處在形參表的__右邊或(后面)___部分。98.定義外部變量時(shí),不用存儲(chǔ)類說(shuō)明符__extern_____,而聲明外部變量時(shí)用它。99.調(diào)用系統(tǒng)函數(shù)時(shí),要先使用#include命令包含該系統(tǒng)函數(shù)的原型語(yǔ)句所在的__頭文獻(xiàn)____。100.函數(shù)形參的作用域是該函數(shù)的_____函數(shù)體_______。101.C++提供的預(yù)解決命令有宏定義命令,條件編譯命令和____文獻(xiàn)包含命令_______。102.程序的編譯是以___文獻(xiàn)____為單位進(jìn)行的。103.C++程序運(yùn)營(yíng)時(shí)的內(nèi)存空間可以提成全局?jǐn)?shù)據(jù)區(qū),堆區(qū),棧區(qū)和__代碼區(qū)(程序區(qū))______。104.全局變量和靜態(tài)局部變量具有靜態(tài)生存期,存放在內(nèi)存的___全局?jǐn)?shù)據(jù)_______區(qū)中。105.局部變量具有局部生存期,存放在內(nèi)存的___棧______區(qū)中。106.若二維數(shù)組a有m列,設(shè)a[0][0]位于數(shù)組的第一個(gè)位置上,則計(jì)算任一元素a[i][j]在數(shù)組中位置序號(hào)的公式為_(kāi)__I*m+j+1_________。107.若有定義“doublea[3][5];”,則a數(shù)組中行下標(biāo)和列下標(biāo)的最大值分別為_(kāi)__2_____和___4____。108.若有定義“structAA{inta;charb;doublec;}x;”,則x占用空間大小為_(kāi)_13______字節(jié)。109.當(dāng)定義一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)分派給該變量的內(nèi)存大小等于各成員所需內(nèi)存大小的___總和____。110.一個(gè)指針類型的對(duì)象占用內(nèi)存的___4____個(gè)字節(jié)的存儲(chǔ)空間。111.一個(gè)指針指向一個(gè)數(shù)據(jù)對(duì)象,它保存著該數(shù)據(jù)對(duì)象的___地址_____,若數(shù)據(jù)對(duì)象為DataType類型,則相應(yīng)的指針類型為_(kāi)DataType*_____。112.若要把一個(gè)整型指針p轉(zhuǎn)換為字符指針,則采用的強(qiáng)制轉(zhuǎn)換表達(dá)式為_(kāi)_(char*)p____。113.假定一個(gè)數(shù)據(jù)對(duì)象為int*類型,則指向該對(duì)象的指針類型為_(kāi)int**______。114.假定p是一個(gè)指向整數(shù)對(duì)象的指針,則用__*p______表達(dá)該整數(shù)對(duì)象,用___&p_____表達(dá)指針變量p的地址。115.假定p是一個(gè)指針,則*p++運(yùn)算一方面訪問(wèn)___*p_____,然后使___p_____的值增1。116.假定p是一個(gè)指針,則(*p)++運(yùn)算一方面訪問(wèn)___*p_____,然后使___*p_____的值增1。117.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為42,則*p++的值為_(kāi)_25______。118.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為42,則*++p的值為_(kāi)__42_____。119.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為42,則執(zhí)行(*p)++運(yùn)算后,p所指對(duì)象的值為_(kāi)__26_____。120.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為42,則執(zhí)行*p++運(yùn)算后,p所指對(duì)象的值為_(kāi)___42____。121.假定對(duì)數(shù)組a[]進(jìn)行初始化的數(shù)據(jù)為{2,7,9,6,5,7,10},則a[2]和a[5]分別被初始化為_(kāi)___9____和____7____。三、程序填空,對(duì)程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標(biāo)號(hào)把合適的內(nèi)容填寫(xiě)到程序下面相應(yīng)標(biāo)號(hào)的后面。1、打印出100到200之間的所有素?cái)?shù)(即除1和它自身再?zèng)]有其他約數(shù)的數(shù))。#include<iostream.h>#include<math.h>voidmain(){inti,j;for(i=100;i<=200;i++){inttemp=int(sqrt(i));for(j=2;(1);j++)if(i%j==0)(2);if((3))cout<<i<<'';}cout<<'\n';}(1)j<=temp(2)break(3)j>temp2、斐波那契數(shù)列的第1和第2個(gè)數(shù)分別為0和1,從第三個(gè)數(shù)開(kāi)始,每個(gè)數(shù)等于其前兩個(gè)數(shù)之和。求斐波那契數(shù)列中的前20個(gè)數(shù),規(guī)定每行輸出5個(gè)數(shù)。#include<iostream.h>voidmain(){intf,f1,f2,i;cout<<”斐波那契數(shù)列:\n”;f1=0;f2=1;cout<<setw(6)<<f1<<setw(6)<<f2;for(i=3;i<=20;i++){f=______(1)______;cout<<setw(6)<<f;if(_____(2)______)cout<<endl;f1=f2;f2=____(3)_______;}cout<<endl;}(1)f1+f2(2)i%5==0(3)f3、計(jì)算的值。#include<iostream.h>voidmain(){ doublex,p1=1,p2=1,s=0; inti,j=1; cout<<"輸入x的值:"; cin>>x; for(i=1;i<=10;i++){ p1*=___(1)_____; p2*=____(2)____; s+=j*p1/p2;//j的值為(-1)i+1 j=____(3)____; } cout<<s<<endl;}(1)x(2)I(3)-j4、采用輾轉(zhuǎn)相除法求出兩個(gè)整數(shù)的最大公約數(shù)。#include<iostream.h>voidmain(){inta,b; cout<<"請(qǐng)輸入兩個(gè)正整數(shù):"; cin>>a>>b; while(a<=0||__(1)___){cout<<"重新輸入:";cin>>a>>b;} while(b){ intr;r=a%b; ___(2)___;___(3)___;//分別修改a和b的值 } cout<<a<<endl;//輸出最大公約數(shù)}(1)b<=0(2)a=b(3)b=r5、把從鍵盤上輸入的一個(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)x<3(或x<=2)(2)x%i==0(3)i++6、下面函數(shù)是求兩個(gè)整型參數(shù)a和b的最小公倍數(shù)。intf2(inta,intb){ inti=2,p=1; do{ while(a%i==0&&___(1)___){ p*=i;a/=i;b/=i; } ___(2)___; }while(a>=i&&___(3)___); returnp*a*b;}(1)b%i==0(2)i++(或++i)(3)b>=i7、在輸出屏幕上打印出一個(gè)由字符’*’組成的等腰三角形,該三角形的高為5行,從上到下每行的字符數(shù)依次為1,3,5,7,9。#include<iostream.h>voidmain(){ inti,j; for(i=1;___(1)___;i++){ for(j=1;j<=9;j++) if(j<=5-i||___(2)___)cout<<’’; else___(3)___; cout<<endl; }}(1)i<=5(2)j>=5+i(3)cout<<’*’8、記錄字符串中英文字母?jìng)€(gè)數(shù)的程序。#include<iostream.h>intcount(charstr[]);voidmain(){chars1[80];cout<<”Enteraline:”;cin>>s1;cout<<”count=”<<count(s1)<<endl;}intcount(charstr[]){intnum=0;//給記錄變量賦初值for(inti=0;str[i];i++)if(str[i]>=’a’&&str[i]<=’z’||___(1)___)___(2)___;___(3)___;}(1)str[i]>=’A’&&str[i]<=’Z’(2)num++(3)returnnum9、主函數(shù)調(diào)用一個(gè)fun函數(shù)將字符串逆序。#include<iostream.h>#include<string.h>___(1)___;voidmain(){chars[80];cin>>s;___(2)___;cout<<”逆序后的字符串:”<<s<<endl;}voidfun(charss[]){intn=strlen(ss);for(inti=0;___(3)____;i++){charc=ss[i];ss[i]=ss[n–1–i];ss[n–1–i]=c;}}(1)voidfun(charss[])(2)fun(s)(3)i<n/210、從一個(gè)字符串中刪除所有同一個(gè)給定字符后得到一個(gè)新字符串并輸出。#include<iostream.h>constintlen=20;voiddelstr(chara[],charb[],charc);voidmain(){ charstr1[len],str2[len];charch; cout<<"輸入一個(gè)字符串:"; cin>>str1; cout<<"輸入一個(gè)待刪除的字符:";cin>>ch; delstr(str1,str2,ch);cout<<str2<<endl;}voiddelstr(chara[],charb[],charc){ intj=0; for(inti=0;___(1)___;i++) if(___(2)___)b[j++]=a[i]; b[j]=___(2)___;}(1)a[i](或a[i]!=’\0’)(2)a[i]!=c3)'\0'11、采用指針訪問(wèn)方式從鍵盤給數(shù)組a[N]輸入數(shù)據(jù),然后對(duì)元素值重新按逆序存放并輸出。#include<iostream.h>constintN=8;voidmain(){inta[N],*p,*q;for(p=a;p<a+N;p++)___(1)___;p=a;q=a+N-1;while(p<q){ intr=*p;*p=*q;*q=r;___(2)___;___(3)___; }for(p=a;p<a+N;p++)cout<<*p<<'';cout<<endl;}(1)cin>>*p(2)p++(或++p)(3)q--(或--q)12、從鍵盤上輸入一個(gè)正整數(shù),然后把它轉(zhuǎn)換成的二進(jìn)制數(shù)的每一位存放到一維數(shù)組中,最后輸出該二進(jìn)制數(shù)。注意二進(jìn)制數(shù)的存放是按照從低位到高位的順序進(jìn)行的。#include<iostream.h>voidmain(){ intx;cout<<"輸入一個(gè)整數(shù):";cin>>x;inta[20],k=0,r;do{ r=x%2;a[k++]=r;x=___(1)___; }while(___(2)___);for(--k;k>=0;k--)___(3)___;cout<<endl;}(1)x/2(2)x!=0(3)cout<<a[k]13、對(duì)數(shù)組a[n]按升序進(jìn)行的選擇排序算法voidSelectSort(inta[],___(1)___){ inti,j,k; for(i=1;i<n;i++){//進(jìn)行n-1次選擇和互換k=i-1; for(j=i;j<n;j++) if(a[j]<a[k])___(2)___; intx=a[i-1];a[i-1]=a[k];___(3)___; }}(1)intn(2)k=j(3)a[k]=x14、對(duì)數(shù)組a[n]按升序進(jìn)行的插入排序算法voidInsertSort(___(1)___,intn){ inti,j,x; for(i=1;i<n;i++){//進(jìn)行n-1次循環(huán)x=a[i]; for(j=i-1;j>=0;j--)//為x順序向前尋找合適的插入位置 if(x<a[j])___(2)___;else___(3)___; a[j+1]=x; }}(1)inta[](或int*a)(2)a[j+1]=a[j](3)break15、用插入排序方法對(duì)table指針數(shù)組中size個(gè)指針?biāo)赶虻淖址M(jìn)行按升序排序的算法。voidsort(char*table[],intsize){for(inti=1,___(1)___;i++){char*p=table[i];for(intj=i-1;j>=0;j--)if(strcmp(p,table[j])<0)___(2)___;elsebreak;table[j+1]=___(3)___;}}(1)i<size(2)table[j+1]=table[j](3)p16、假定有定義為“structNODE{intdata;NODE*next;};”,下面算法根據(jù)table數(shù)組中的n個(gè)元素建立一個(gè)表頭指針為L(zhǎng)的鏈表,鏈表中結(jié)點(diǎn)值的順序與數(shù)組元素值的順序相同。voidf5(NODE*&L,inttable[],intn){ if(n<=0){L=NULL;return;} L=newNODE;//生成附加的頭結(jié)點(diǎn) inti=0; NODE*p=L; while(___(1)___){ p=p->next=___(2)___; p->data=___(3)___; i++; } p->next=NULL;//把最后一個(gè)結(jié)點(diǎn)的指針域置空 p=L; L=L->next;//使L指向鏈表的第一個(gè)帶值的結(jié)點(diǎn) deletep;}(1)i<n(2)newNODE(3)table[i]17、假定有定義為“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)i<n(2)table[i](3)L=p18、假定有定義為“structNODE{intdata;NODE*next;};”,下面算法是依次顯示輸出以L為表頭指針的鏈表中各結(jié)點(diǎn)的值。voidf7(NODE*L){ for(___(1)___;p!=NULL;___(2)___) cout<<___(3)___<<''; cout<<endl;}(1)NODE*p=L(2)p=p->next(3)p->data19、假定有定義為“structNODE{intdata;NODE*next;};”,下面算法是把以L為表頭指針的鏈表中各結(jié)點(diǎn)依次按相反順序鏈接并返回新鏈表的表頭指針。NODE*f8(NODE*L){ if(L==NULL)returnNULL; NODE*p=NULL,*q=L,*t; while(q!=NULL){ t=q; q=___(1)___; t->next=___(2)___; p=t; } ___(3)___;}(1)q->next(2)p(3)returnp四、寫(xiě)出程序運(yùn)營(yíng)結(jié)果1.#include<iostream.h>#include<stdlib.h>voidmain(){ inta[8]={25,48,32,85,64,18,48,29};intmax,min; max=min=a[0]; for(inti=0;i<8;i++){if(ma

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論