XXXX春機(jī)械設(shè)計(jì)制造及其自動(dòng)化(機(jī)電)本科_第1頁
XXXX春機(jī)械設(shè)計(jì)制造及其自動(dòng)化(機(jī)電)本科_第2頁
XXXX春機(jī)械設(shè)計(jì)制造及其自動(dòng)化(機(jī)電)本科_第3頁
XXXX春機(jī)械設(shè)計(jì)制造及其自動(dòng)化(機(jī)電)本科_第4頁
XXXX春機(jī)械設(shè)計(jì)制造及其自動(dòng)化(機(jī)電)本科_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE教育部人才培養(yǎng)模式改革和開放教育項(xiàng)目湖州廣播電視大學(xué)《C++語言程序設(shè)計(jì)》形成性考核作業(yè)學(xué)生姓名學(xué)號班級湖州廣播電視大學(xué)編制PAGE81PAGE《C++語言程序設(shè)計(jì)》平時(shí)作業(yè)一批閱得分教師簽名一、單項(xiàng)選擇題1.C++源程序文件的默認(rèn)擴(kuò)展名為()。A.cppB.exeC.objD.lik2.由C++源程序文件編譯而成的目標(biāo)文件的默認(rèn)擴(kuò)展名為()。A.cppB.exeC.objD.lik3.由C++目標(biāo)文件連接而成的可執(zhí)行文件的默認(rèn)擴(kuò)展名為()。A.cppB.exeC.objD.lik4.C++程序從上機(jī)到得到結(jié)果的幾個(gè)操作步驟依次是()。A.編譯、編輯、連接、運(yùn)行B.編輯、編譯、連接、運(yùn)行C.編譯、運(yùn)行、編輯、連接D.編輯、運(yùn)行、編輯、連接5.以下標(biāo)識符中不全是保留字的是()。A.caseforintB.defaultthenwhileC.boolclasslongD.gotoreturnchar6.能作為C++程序的基本單位是()。A.字符B.語句C.函數(shù)D.源程序文件7.程序中主函數(shù)的名字為()。A.mainB.MAINC.MainD.任意標(biāo)識符8.C++程序的基本模塊為()。A.表達(dá)式B.標(biāo)識符C.語句D.函數(shù)9.可用作C++語言用戶標(biāo)識符的一組標(biāo)識符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof10.存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是()。A.0B.‘0’C.“0”D.0.011.程序運(yùn)行中需要從鍵盤上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用()符號作為分隔符。A.空格或逗號B.逗號或回車C.逗號或分號D.空格或回車12.設(shè)”inta=12;”,則執(zhí)行完語句”a+=a*a;”后,a的值是()。A.12B.144C.156D.28813.假設(shè)在程序中a、b、c均被定義成整型,所賦的值都大于1,則下列能正確表示代數(shù)式的表達(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é)果是()。A.15B.26,15C.15,26D.2615.設(shè)x是一個(gè)bool型的邏輯量,y的值為10,則表達(dá)式x&&y的值為()。A.1B.0C.與x值相同D.與x值相反16.x>0&&x<=10的相反表達(dá)式為()。A.x<=0||x>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>1017.x>0||y==5的相反表達(dá)式為()。A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==518.設(shè)x和y均為bool量,則x&&y為真的條件是()。A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)為假19.設(shè)x和y均為bool量,則x||y為假的條件是()。A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)為假20.字符串”a+b=12\n”的長度為()。A.6B.7C.8D.921.假定下列x和y均為int型變量,則不正確的賦值為()。A.x+=y++B.x++=y++C.x=++yD.++x=++y22.下列的符號常量定義中,錯(cuò)誤的定義是()。A.constM=10;B.constintM=20;C.constcharch;D.constboolmark=true;23.循環(huán)語句“for(inti=0;i<n;i++)cout<<i*i<<’’;”中循環(huán)體執(zhí)行的次數(shù)為()。A.1B.n-1C.nD.n+124.在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為()。for(inti=0;i<n;i++)if(i>n/2)break;A.n/2B.n/2+1C.n/2-1D.n-125.在下面循環(huán)語句中內(nèi)層循環(huán)體S語句的執(zhí)行總次數(shù)為()。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)語句中循環(huán)體執(zhí)行的次數(shù)為()。inti=0,s=0;while(s<20){i++;s+=i;}A.4B.5C.6D.727.在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為()。inti=0;doi++;while(i*i<10);A.4B.3C.5D.228.當(dāng)處理特定問題時(shí)的循環(huán)次數(shù)已知時(shí),通常采用()來解決。A.for循環(huán)B.while循環(huán)C.do循環(huán)D.switch語句29.循環(huán)體至少被執(zhí)行一次的語句為()。A.for循環(huán)B.while循環(huán)C.do循環(huán)D.任一種循環(huán)30.switch語句能夠改寫為()語句。A.forB.ifC.doD.while31.do語句能夠改寫為()語句。A.復(fù)合B.ifC.switchD.while32.在下面的一維數(shù)組定義中,哪一個(gè)有語法錯(cuò)誤。()A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];33.在下面的字符數(shù)組定義中,哪一個(gè)有語法錯(cuò)誤。()。A.chara[20]=”abcdefg”;B.chara[]=”x+y=55.”;C.chara[15];D.chara[10]=’5’;34.在下面的二維數(shù)組定義中,正確的是()。A.inta[5][];B.inta[][5];C.inta[][3]={{1,3,5},{2}};D.inta[](10);35.假定一個(gè)二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[1][2]的值為()。A.2B.4C.6D.836.假定一個(gè)二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為()。A.0B.4C.8D.637.若定義了函數(shù)double*function(),則函數(shù)function的返回值為()。A.實(shí)數(shù)型B.實(shí)數(shù)的地址C.指向函數(shù)的指針D.函數(shù)的地址38.以下說法中正確的是()。A.C++程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行B.C++程序總是從main函數(shù)開始執(zhí)行C.C++函數(shù)必須有返回值,否則不能使用函數(shù)D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)程序文件中39.以下敘述中不正確的是()。A.在一個(gè)函數(shù)中,可以有多條return語句B.函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套C.函數(shù)必須有返回值D.不同的函數(shù)中可以使用相同名字的變量40.函數(shù)重載是指()。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ù)模板敘述正確的是()。A.函數(shù)模板也是一個(gè)具體類型的函數(shù)B.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個(gè)概念C.通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)D.用函數(shù)模板定義的函數(shù)沒有類型42.下列()的調(diào)用方式是引用調(diào)用。A.形參和實(shí)參都是變量B.形參是指針,實(shí)參是地址值C.形參是引用,實(shí)參是變量D.形參是變量,實(shí)參是地址值43.為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實(shí)現(xiàn),此函數(shù)應(yīng)選擇()。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸函數(shù)D.函數(shù)模板44.函數(shù)原型語句正確的是()。A.intFunction(voida);B.voidFunction(int);C.intFunction(a);D.voidint(doublea);45.C++中函數(shù)返回值的類型是由()決定的。A.return語句中表達(dá)式的類型B.該函數(shù)定義時(shí)的類型C.調(diào)用函數(shù)時(shí)的調(diào)用語句D.系統(tǒng)根據(jù)結(jié)果46.以下函數(shù)的返回結(jié)果是()。intfunction(char*x){char*p=x;while(*p++);return(p-x-1);}A.求字符串的長度B.將字符串x連接到字符串p后面C.將字符串x復(fù)制到字符串p中D.將字符串x反向存放47.函數(shù)調(diào)用func((exp1,exp2),(exp3,exp4,exp5))中所含實(shí)參的個(gè)數(shù)為()個(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é)果為()。A.3B.4C.5D.649.以下正確的函數(shù)原型語句是()。A.doublefun(intx,inty)B.doublefun(intx;inty)C.doublefun(int,int);D.doublefun(intx,y);50.以下正確的說法是()。A.用戶調(diào)用標(biāo)準(zhǔn)庫函數(shù)前,必須重新定義B.用戶可以重新定義標(biāo)準(zhǔn)庫函數(shù),若如此,該函數(shù)將失去原有含義C.系統(tǒng)不允許用戶重新定義標(biāo)準(zhǔn)庫函數(shù)D.用戶調(diào)用標(biāo)準(zhǔn)庫函數(shù)前,不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中二、填空題1.C++語言是在_________語言的基礎(chǔ)上發(fā)展起來的。2.C++語言的編譯單位是擴(kuò)展名為__________的__________文件。3.行尾使用注釋的開始標(biāo)記符為__________。4.多行注釋的開始標(biāo)記符和結(jié)束標(biāo)記符分別為__________和__________。5.用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出流對象是_________。6.用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入流對象是________。7.一個(gè)完整程序中必須有一個(gè)名為________的函數(shù)。8.一個(gè)函數(shù)的函數(shù)體就是一條_________語句。9.當(dāng)執(zhí)行cin語句時(shí),從鍵盤上輸入每個(gè)數(shù)據(jù)后必須接著輸入一個(gè)________符,然后才能繼續(xù)輸入下一個(gè)數(shù)據(jù)。10.在C++程序中包含一個(gè)頭文件或程序文件的預(yù)編譯命令為__________。11.程序中的預(yù)處理命令是指以______字符開頭的命令。12.一條表達(dá)式語句必須以______作為結(jié)束符。13.在#include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是________定義的頭文件。14.使用#include命令可以包含一個(gè)頭文件,也可以包含一個(gè)______文件。15.一個(gè)函數(shù)定義由________和________兩部分組成。16.若一個(gè)函數(shù)的定義處于調(diào)用它的函數(shù)之前,則在程序開始可以省去該函數(shù)的______語句。17.C++頭文件和源程序文件的擴(kuò)展名分別為______和______。18.程序文件的編譯錯(cuò)誤分為________和________兩類。19.當(dāng)使用_______保留字作為函數(shù)類型時(shí),該函數(shù)不返回任何值。20.當(dāng)函數(shù)參數(shù)表用______保留字表示時(shí),則表示該參數(shù)表為空。21.從一條函數(shù)原型語句“intfun1(void);”可知,該函數(shù)的返回類型為______,該函數(shù)帶有______個(gè)參數(shù)。22.當(dāng)執(zhí)行cout語句輸出endl數(shù)據(jù)項(xiàng)時(shí),將使C++顯示輸出屏幕上的光標(biāo)從當(dāng)前位置移動(dòng)到________的開始位置。23.假定x=5,y=6,則表達(dá)式x++*++y的值為__________。24.假定x=5,y=6,則表達(dá)式x--*--y的值為__________。25.假定x=5,y=6,則執(zhí)行表達(dá)式y(tǒng)*=x++計(jì)算后,x和y的值分別為__________和__________。26.假定x=5,y=6,則執(zhí)行表達(dá)式y(tǒng)+=x--計(jì)算后,x和y的值分別為__________和__________。27.C++常數(shù)0x145對應(yīng)的十進(jìn)制值為__________。28.C++常數(shù)0345對應(yīng)的十進(jìn)制值為__________。29.十進(jìn)制常數(shù)245對應(yīng)的十六進(jìn)制的C++表示為__________。30.十進(jìn)制常數(shù)245對應(yīng)的八進(jìn)制的C++表示為__________。31.signedchar類型的值域范圍是________至__________之間的整數(shù)。32.int和float類型的數(shù)據(jù)分別占用_________和__________個(gè)字節(jié)。33.float和double類型的數(shù)據(jù)分別占用_________和________個(gè)字節(jié)。34.bool和char類型的數(shù)據(jù)分別占用_________和________個(gè)字節(jié)。35.unsignedshortint和int類型的長度分別為_________和________。36.字符串”This\’sabook.\n”的長度為__________。37.字符串”\nThis\’sapen\n\n”的長度為__________。38.在C++中存儲字符串”abcdef”至少需要________個(gè)字節(jié)。39.在C++中存儲字符串”a+b=c”至少需要________個(gè)字節(jié)。40.假定x和y為整型,其值分別為16和5,則x%y和x/y的值分別為__________和__________。41.假定x和y為整型,其值分別為16和5,則x/y和double(x)/y的值分別為__________和__________。42.假定x是一個(gè)邏輯量,則x&&true的值為__________。43.假定x是一個(gè)邏輯量,則x||true的值為__________。44.假定x是一個(gè)邏輯量,則x&&false的值為__________。45.假定x是一個(gè)邏輯量,則x||false的值為__________。46.假定x是一個(gè)邏輯量,則!x||false的值為__________。47.假定x是一個(gè)邏輯量,則x&&!x的值為__________。48.假定x是一個(gè)邏輯量,則x||!x的值為__________。49.數(shù)學(xué)算式的C++表達(dá)式為________________。50.數(shù)學(xué)算式的C++表達(dá)式為________________。51.數(shù)學(xué)算式的C++表達(dá)式為________________。52.設(shè)enumPrintstatus{ready,busy,error};則cout<<busy的輸出結(jié)果是________。53.設(shè)enumPrintstatus{ready=2,busy,error};則cout<<busy的輸出結(jié)果是________。54.常數(shù)-4.205和6.7E-9分別具有__________和__________位有效數(shù)字。55.枚舉類型中的每個(gè)枚舉值都是一個(gè)__________,它的值為一個(gè)__________。56.常數(shù)100和3.62的數(shù)據(jù)類型分別為__________和__________。57.若x=5,y=10,則計(jì)算y*=++x表達(dá)式后,x和y的值分別為______和______。58.假定x和ch分別為int型和char型,則sizeof(x)和sizeof(ch)的值分別為______和______。59.假定x=10,則表達(dá)式x<=10?20:30的值為______。60.表達(dá)式sqrt(81)和pow(6,3)的值分別為______和______。三、程序填充題,對程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標(biāo)號把合適的內(nèi)容填寫到程序下面相應(yīng)標(biāo)號的后面。1.斐波那契數(shù)列的第1和第2個(gè)數(shù)分別為0和1,從第三個(gè)數(shù)開始,每個(gè)數(shù)等于其前兩個(gè)數(shù)之和。求斐波那契數(shù)列中的前20個(gè)數(shù),要求每行輸出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)(2)(3)2.計(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)(2)(3)3.打印出2至99之間的所有素?cái)?shù)(即不能被任何數(shù)整除的數(shù))。#include<iostream.h>#include<math.h>voidmain(){inti,n; for(n=2;___(1)___;n++){ inttemp=int(sqrt(n));//求出n的平方根并取整 for(i=2;___(2)___;i++) if(n%i==0)___(3)___; if(i>temp)cout<<n<<''; } cout<<'\n';}(1)(2)(3)4.采用輾轉(zhuǎn)相除法求出兩個(gè)整數(shù)的最大公約數(shù)。#include<iostream.h>voidmain(){inta,b; cout<<"請輸入兩個(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)(2)(3)5.把從鍵盤上輸入的一個(gè)大于等于3的整數(shù)分解為質(zhì)因子的乘積。如輸入24時(shí)得到的輸出結(jié)果為“2223”,輸入50時(shí)得到的輸出結(jié)果為“255”,輸入37時(shí)得到的輸出結(jié)果為“37”。#include<iostream.h>voidmain(){ intx; cout<<"請輸入一個(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)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)(2)(3)7.在輸出屏幕上打印出一個(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)(2)(3)8.統(tǒng)計(jì)字符串中英文字母個(gè)數(shù)的程序。#include<iostream.h>intcount(charstr[]);voidmain(){chars1[80];cout<<”Enteraline:”;cin>>s1;cout<<”count=”<<count(s1)<<endl;}intcount(charstr[]){intnum=0;//給統(tǒng)計(jì)變量賦初值for(inti=0;str[i];i++)if(str[i]>=’a’&&str[i]<=’z’||___(1)___)___(2)___;___(3)___;}(1)(2)(3)9.主函數(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)(2)(3)10.從一個(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)(2)(3)四、寫出程序運(yùn)行結(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(max>a[i])max=a[i]; if(min<a[i])min=a[i]; } cout<<"max:"<<max<<endl; cout<<"min:"<<min<<endl;}2.#include<iostream.h>voidmain(){ inta,b;for(a=1,b=2;b<50;){ cout<<a<<''<<b<<''; a=a+b; b=a+b; } cout<<endl; cout<<a<<''<<b<<''<<endl;}3.#include<iostream.h>constintM=3,N=4;voidmain(){ inti,j,s=0; for(i=1;i<=M;i++) for(j=1;j<=N;j++) s+=i*j; cout<<”s=”<<s<<endl;}4.#include<iostream.h>voidmain(){ inta=2,b=5,c=0; if(a+b>10)c=a*b;elsec=3*a+b; if(c<=20)cout<<c*c;elsecout<<4+c-5; cout<<endl; a=a+b;b=a+b;c+=a+b; cout<<"a,b,c="<<a<<','<<b<<','<<c<<endl;}5.#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;}6.#include<iomanip.h>#include<math.h>inta[4]={36,-5,73,8};voidmain(){inti,y; for(i=0;i<4;i++){ if(a[i]<0)y=1; elseif(a[i]<10)y=a[i]*a[i]+3; elseif(a[i]<60)y=4*a[i]-5; elsey=int(sqrt(a[i]));//sqrt(x)為取x的平方根函數(shù) cout<<setw(5)<<a[i]<<setw(5)<<y; }}7.#include<iostream.h>inta[8]={36,25,20,43,12,70,66,35};voidmain(){ ints0,s1,s2; s0=s1=s2=0; for(inti=0;i<8;i++){ switch(a[i]%3){ case0:s0+=a[i];break; case1:s1+=a[i];break; case2:s2+=a[i];break; } } cout<<s0<<’’<<s1<<’’<<s2<<endl;}8.#include<iomanip.h>constintN=5;voidmain(){inti,p=1,s=0; for(i=1;i<N;i++){ p=p*i; s=s+p; cout<<setw(5)<<i<<setw(5)<<p; cout<<setw(5)<<s<<endl; }}9.#include<iomanip.h>constintM=20;voidmain(){ intc2,c3,c5; c2=c3=c5=0; for(inti=1;i<=M;i++){ if(i%2==0)c2++; if(i%3==0)c3++; if(i%5==0)c5++; } cout<<c2<<''<<c3<<''<<c5<<endl;}10.#include<iomanip.h>voidmain(){inti,j; for(i=0;i<5;i++){ for(j=i;j<5;j++)cout<<’*’; cout<<endl; }}11.#include<iostream.h>voidmain(){for(inti=1,s=0;i<20;i++){ if(i%2==0||i%3==0)continue; cout<<i<<’’; s+=i; } cout<<s<<endl;}五、指出程序或函數(shù)的功能1.#include<iostream.h>voidmain(){ inti,s=0; for(i=2;i<=30;i+=2)s+=i*i; cout<<"s="<<s<<endl;}2.#include<iostream.h>#include<stdlib.h>#include<math.h>voidmain(){inti=10,a; while(i>0){ a=rand()%90+10; intj,k=int(sqrt(a)+1e-5);//sqrt(x)為求x的平方根函數(shù)for(j=2;j<=k;j++) if(a%j==0)break; if(j>k){cout<<a<<'';i--;} }}3.voidtrans(intx){ chara[10]; inti=0,rem; do{ rem=x%16; x=x/16; if(rem<10)a[i]=48+rem;//’0’字符的ASCII碼為48 elsea[i]=65+rem;//’A’字符的ASCII碼為65 i++; }while(x!=0); while(i>0)cout<<a[i]; cout<<endl;}4.#include<iostream.h>doublef1(intn){ doublesign=1,s=1; for(inti=2;i<=n;i++){ s+=sign/(i*i); sign*=-1; } returns;}voidmain(){inta; cin>>a; cout<<f1(a)<<endl;}5.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); }}6.#include<iostream.h>#include<math.h>voidmain(){ intx,y; cin>>x; y=int(sqrt(x));//sqrt(x)為求x的算術(shù)平方根 for(inti=1;i<=y;i++) if(x%i==0)cout<<”x=”<<i<<’*’<<x/i<<endl;}7.#include<iostream.h>voidmain(){ inti,p=1,s=0; intN; cout<<"輸入一個(gè)正整數(shù):"; cin>>N; for(i=1;i<=N;i++){ p*=i; s+=p; } cout<<s<<endl;}8.#include<iostream.h>#include<stdlib.h>#include<time.h>constN=10;intff(intx,inty){ intz; cout<<x<<'+'<<y<<'='; cin>>z; if(x+y==z)return1;elsereturn0;}voidmain(){ inta,b,c=0;srand(time(0));//初始化隨機(jī)數(shù)序列 for(inti=0;i<N;i++){ a=rand()%20+1;//rand()函數(shù)產(chǎn)生0-32767之間的一個(gè)隨機(jī)數(shù) b=rand()%20+1; c+=ff(a,b); } cout<<"得分:"<<c*10<<endl;}9.ints1(intn){ intx;if(n==1)x=1;elsex=s1(n-1)+n*n;returnx;}10.voidfun5(char*a,constchar*b){while(*b)*a++=*b++; *a=0;}11.template<classT>boolfun8(Ta[],intn,Tkey){for(inti=0;i<n;i++) if(a[i]==key)returntrue; returnfalse;}六、編程題1.編一程序求出滿足不等式1+1/2+1/3+...+1/n≥5的最小n值。2.計(jì)算1+3+32+...+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)識符。3.求滿足不等式22+42+...+n2<1000的最大n值,假定分別用i和s作為取偶數(shù)值和累加值的變量,并限定使用do循環(huán)編程。4.已知,求出并顯示當(dāng)x依次取從鍵盤輸入的不同值時(shí)所對應(yīng)的y值,要求把a(bǔ)定義為常量,其值設(shè)定為10.2,x的每個(gè)值由鍵盤輸入,并假定用-100作為鍵盤輸入數(shù)據(jù)的終止標(biāo)志,求平方根函數(shù)為sqrt(x)。《C++語言程序設(shè)計(jì)》平時(shí)作業(yè)二批閱得分教師簽名一、單項(xiàng)選擇題1.面向?qū)ο筌浖_發(fā)中使用的OOA表示()。A.面向?qū)ο蠓治鯞.面向?qū)ο笤O(shè)計(jì)C.面向?qū)ο笳Z言D.面向?qū)ο蠓椒?.面向?qū)ο筌浖_發(fā)中使用的OOD表示()。A.面向?qū)ο蠓治鯞.面向?qū)ο笤O(shè)計(jì)C.面向?qū)ο笳Z言D.面向?qū)ο蠓椒?.關(guān)于面向?qū)ο笙到y(tǒng)分析,下列說法中不正確的是()。A.術(shù)語“面向?qū)ο蠓治觥笨梢杂每s寫OOA表示B.面向?qū)ο蠓治鲭A段對問題域的描述比實(shí)現(xiàn)階段更詳細(xì)C.面向?qū)ο蠓治霭▎栴}域分析和應(yīng)用分析兩個(gè)步驟D.面向?qū)ο蠓治鲂枰R別對象的內(nèi)部和外部特征4.在一個(gè)類的定義中,包含有()成員的定義。A.數(shù)據(jù)B.函數(shù)C.數(shù)據(jù)和函數(shù)D.數(shù)據(jù)或函數(shù)5.在類作用域中能夠通過直接使用該類的()成員名進(jìn)行訪問。A.私有B.公用C.保護(hù)D.任何6.在關(guān)鍵字public后面定義的成員為類的()成員。A.私有B.公用C.保護(hù)D.任何7.在關(guān)鍵字private后面定義的成員為類的()成員。A.私有B.公用C.保護(hù)D.任何8.假定AA為一個(gè)類,a為該類公有的數(shù)據(jù)成員,x為該類的一個(gè)對象,則訪問x對象中數(shù)據(jù)成員a的格式為()。A.x(a)B.x[a]C.x->aD.x.a9.假定AA為一個(gè)類,a()為該類公有的函數(shù)成員,x為該類的一個(gè)對象,則訪問x對象中函數(shù)成員a()的格式為()。A.x.aB.x.a()C.x->aD.x->a()10.假定AA為一個(gè)類,a為該類公有的數(shù)據(jù)成員,px為指向該類對象的一個(gè)指針,則訪問px所指對象中數(shù)據(jù)成員a的格式為()。A.px(a)B.px[a]C.px->aD.px.a11.假定AA為一個(gè)類,a為該類私有的數(shù)據(jù)成員,GetValue()為該類公有函數(shù)成員,它返回a的值,x為該類的一個(gè)對象,則訪問x對象中數(shù)據(jù)成員a的格式為()。A.x.aB.x.a()C.x->GetValue()D.x.GetValue()12.假定AA為一個(gè)類,inta()為該類的一個(gè)成員函數(shù),若該成員函數(shù)在類定義體外定義,則函數(shù)頭為()。A.intAA::a()B.intAA:a()C.AA::a()D.AA::inta()13.假定AA為一個(gè)類,a為該類公有的數(shù)據(jù)成員,若要在該類的一個(gè)成員函數(shù)中訪問它,則書寫格式為()。A.aB.AA::aC.a()D.AA::a()14.若需要把一個(gè)類外定義的成員函數(shù)指明為內(nèi)聯(lián)函數(shù),則必須把關(guān)鍵字()放在函數(shù)原型或函數(shù)頭的前面。A.inB.inlineC.inLineD.InLiner15.在多文件結(jié)構(gòu)的程序中,通常把類的定義單獨(dú)存放于()中。A.主文件B.實(shí)現(xiàn)文件C.庫文件D.頭文件16.在多文件結(jié)構(gòu)的程序中,通常把類中所有非內(nèi)聯(lián)函數(shù)的定義單獨(dú)存放于()中。A.主文件B.實(shí)現(xiàn)文件C.庫文件D.頭文件17.在多文件結(jié)構(gòu)的程序中,通常把含有main()函數(shù)的文件稱為()。A.主文件B.實(shí)現(xiàn)文件C.程序文件D.頭文件18.一個(gè)C++程序文件的擴(kuò)展名為()。A..hB..cC..cppD..cp19.在C++程序中使用的cin標(biāo)識符是系統(tǒng)類庫中定義的()類中的一個(gè)對象。A.istreamB.ostreamC.iostreamD.fstream20.在C++程序中使用的cout標(biāo)識符是系統(tǒng)類庫中定義的()類中的一個(gè)對象。A.istreamB.ostreamC.iostreamD.fstream21.假定AA是一個(gè)類,abc是該類的一個(gè)成員函數(shù),則參數(shù)表中隱含的第一個(gè)參數(shù)的類型為()。A.intB.charC.AAD.AA*22.假定AA是一個(gè)類,abc是該類的一個(gè)成員函數(shù),則參數(shù)表中隱含的第一個(gè)參數(shù)為()。A.abcB.*thisC.thisD.this&23.假定AA是一個(gè)類,“AA&abc();”是該類中一個(gè)成員函數(shù)的原型,若該函數(shù)存在對*this賦值的語句,當(dāng)用x.abc()調(diào)用該成員函數(shù)后,x的值()。A.已經(jīng)被改變B.可能被改變C.不變D.不受函數(shù)調(diào)用的影響24.假定AA是一個(gè)類,“AA*abc()const;”是該類中一個(gè)成員函數(shù)的原型,若該函數(shù)返回this值,當(dāng)用x.abc()調(diào)用該成員函數(shù)后,x的值()。A.已經(jīng)被改變B.可能被改變C.不變D.受到函數(shù)調(diào)用的影響25.類中定義的成員默認(rèn)為()訪問屬性。A.publicB.privateC.protectedD.friend26.結(jié)構(gòu)中定義的成員默認(rèn)為()訪問屬性。A.publicB.privateC.protectedD.friend27.當(dāng)類中一個(gè)字符指針成員指向具有n個(gè)字節(jié)的存儲空間時(shí),它所能存儲字符串的最大長度為()。A.nB.n+1C.n-1D.n-228.在一個(gè)用數(shù)組實(shí)現(xiàn)的隊(duì)列類中,假定數(shù)組長度為MS,隊(duì)首元素位置為first,隊(duì)列長度為length,則隊(duì)尾(即最后一個(gè))元素的位置為()。A.length+1B.first+lengthC.(first+length-1)%MSD.(first+length)%MS29.在一個(gè)用數(shù)組實(shí)現(xiàn)的隊(duì)列類中,假定數(shù)組長度為MS,隊(duì)首元素位置為first,隊(duì)列長度為length,則隊(duì)尾的后一個(gè)位置為()。A.length+1B.first+lengthC.(first+length-1)%MSD.(first+length)%MS30.在一個(gè)用數(shù)組實(shí)現(xiàn)的隊(duì)列類中,假定數(shù)組長度為MS,隊(duì)首元素位置為first,隊(duì)列長度為length,則隊(duì)首的后一個(gè)位置為()。A.first+1B.(first+1)%MSC.(first-1)%MSD.(first+length)%MS31.在一個(gè)用鏈表實(shí)現(xiàn)的隊(duì)列類中,假定每個(gè)結(jié)點(diǎn)包含的值域用elem表示,包含的指針域用next表示,鏈隊(duì)的隊(duì)首指針用elemHead表示,隊(duì)尾指針用elemTail表示,若鏈隊(duì)非空,則進(jìn)行插入時(shí)必須把新結(jié)點(diǎn)的地址賦給()。A.elemHeadB.elemTailC.elemHead->next和elemHeadD.elemTail->next和elemTail32.在一個(gè)用鏈表實(shí)現(xiàn)的隊(duì)列類中,假定每個(gè)結(jié)點(diǎn)包含的值域用elem表示,包含的指針域用next表示,鏈隊(duì)的隊(duì)首指針用elemHead表示,隊(duì)尾指針用elemTail表示,若鏈隊(duì)為空,則進(jìn)行插入時(shí)必須把新結(jié)點(diǎn)的地址賦給()。A.elemHeadB.elemTailC.elemHead和elemTailD.elemHead或elemTail33.隊(duì)列具有()的操作特性。A.先進(jìn)先出B.先進(jìn)后出C.進(jìn)出無序D.進(jìn)出任意34.棧具有()的操作特性。A.先進(jìn)先出B.先進(jìn)后出C.進(jìn)出無序D.進(jìn)出任意35.對于一個(gè)類的構(gòu)造函數(shù),其函數(shù)名與類名()。A.完全相同B.基本相同C.不相同D.無關(guān)系36.對于一個(gè)類的析構(gòu)函數(shù),其函數(shù)名與類名()。A.完全相同B.完全不同C.只相差一個(gè)字符D.無關(guān)系37.類的構(gòu)造函數(shù)是在定義該類的一個(gè)()時(shí)被自動(dòng)調(diào)用執(zhí)行的。A.成員函數(shù)B.數(shù)據(jù)成員C.對象D.友元函數(shù)38.類的析構(gòu)函數(shù)是一個(gè)對象被()時(shí)自動(dòng)調(diào)用的。A.建立B.撤消C.賦值D.引用39.一個(gè)類的構(gòu)造函數(shù)通常被定義為該類的()成員。A.公用B.保護(hù)C.私有D.友元40.一個(gè)類的析構(gòu)函數(shù)通常被定義為該類的()成員。A.私有B.保護(hù)C.公用D.友元41.假定AB為一個(gè)類,則執(zhí)行“ABx;”語句時(shí)將自動(dòng)調(diào)用該類的()。A.帶參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.賦值重載函數(shù)42.假定AB為一個(gè)類,則執(zhí)行“ABx(a,5);”語句時(shí)將自動(dòng)調(diào)用該類的()。A.帶參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.賦值重載函數(shù)43.假定AB為一個(gè)類,則執(zhí)行“AB*s=newAB(a,5);”語句時(shí)得到的一個(gè)動(dòng)態(tài)對象為_______。A.sB.s->aC.s.aD.*s44.假定AB為一個(gè)類,則執(zhí)行“ABr1=r2;”語句時(shí)將自動(dòng)調(diào)用該類的()。A.無參構(gòu)造函數(shù)B.帶參構(gòu)造函數(shù)C.賦值重載函數(shù)D.拷貝構(gòu)造函數(shù)45.若需要使類中的一個(gè)指針成員指向一塊動(dòng)態(tài)存儲空間,則通常在()函數(shù)中完成。A.析構(gòu)B.構(gòu)造C.任一成員D.友元46.當(dāng)類中的一個(gè)整型指針成員指向一塊具有n*sizeof(int)大小的存儲空間時(shí),它最多能夠存儲()個(gè)整數(shù)。A.nB.n+1C.n-1D.147.假定一個(gè)類的構(gòu)造函數(shù)為“A(intaa,intbb){a=aa;b=aa*bb;}”,則執(zhí)行“Ax(4,5);”語句后,x.a和x.b的值分別為()。A.4和5B.5和4C.4和20D.20和548.假定一個(gè)類的構(gòu)造函數(shù)為“A(intaa=1,intbb=0){a=aa;b=bb;}”,則執(zhí)行“Ax(4);”語句后,x.a和x.b的值分別為()。A.1和0B.1和4C.4和1D.4和049.假定AB為一個(gè)類,則()為該類的拷貝構(gòu)造函數(shù)的原型說明。A.AB(ABx);B.AB(AB&x);C.voidAB(AB&x);D.AB(intx);50.假定一個(gè)類的構(gòu)造函數(shù)為“B(intax,intbx):a(ax),b(bx){}”,執(zhí)行“Bx(1,2),y(3,4);x=y;”語句序列后x.a的值為()。A.1B.2C.3D.4二、填空1.假定a是一個(gè)一維指針數(shù)組,則a+i所指對象的地址比a大________字節(jié)。2.假定a是一個(gè)一維數(shù)組,則a[i]的指針訪問方式為________。3.假定a是一個(gè)一維數(shù)組,則a[i]對應(yīng)的存儲地址(以字節(jié)為單位)為____________。4.一個(gè)數(shù)組的數(shù)組名實(shí)際上是指向該數(shù)組________元素的指針,并且在任何時(shí)候都不允許________它。5.假定指向一維數(shù)組b中元素b[4]的指針為p,則p+3所指向的元素為_______,p-2所指向的元素為________。6.若要定義整型指針p并初始指向x,則所使用的定義語句為________。7.若p指向x,則________與x的表示是等價(jià)的。8.在一個(gè)二維數(shù)組inta[m][n]中,包含的一維元素a[i]的類型為________,訪問a[i]時(shí)返回值的類型為________。9.假定一個(gè)二維數(shù)組為c[5][8],則c[3]的值為二維元素________的地址,c[3]+2的值為二維元素________的地址。10.假定p為指向二維數(shù)組intd[4][6]的指針,則p的類型為________。11.假定a是一個(gè)二維數(shù)組,則a[i][j]的指針訪問方式為____________。12.若要把y定義為整型變量x的引用,則所使用的定義語句為________。13.若y是x的引用,則對y的操作就是對_______的操作。14.若y是x的引用,則&y和&x的值________,即為變量________的地址。15.執(zhí)行intp=newint操作得到的一個(gè)動(dòng)態(tài)分配的整型對象為________。16.執(zhí)行int*p=newint[10]操作,使p指向動(dòng)態(tài)分配的數(shù)組中下標(biāo)為0的元素,該元素可表示為_______或________。17.執(zhí)行char*p=newchar(’a’)操作后,p所指向的數(shù)據(jù)對象的值為________。18.執(zhí)行newchar[m][n]操作時(shí)的返回值的類型為________。19.執(zhí)行________操作將釋放由p所指向的動(dòng)態(tài)分配的數(shù)據(jù)空間。20.執(zhí)行________操作將釋放由p所指向的動(dòng)態(tài)分配的數(shù)組空間。21.NULL是一個(gè)符號常量,通常作為空指針值,它的具體值為________。22.變量v定義為“doublev=23.4;”,要使指針pv指向v,則定義pv的語句為______________。23.已知語句“cout<<p;”的輸出是“Hello!”,則語句“cout<<*p;”輸出的是__________。24.已知語句“cout<<s;”的輸出是“apple”,則執(zhí)行語句“cout<<s+2;”的輸出結(jié)果為__________。25.指針變量pv和pc定義為“void*pv=”Hello,word!”;char*pc;”,要將pv值賦給pc,則正確的賦值語句是_______________。26.數(shù)組b定義為“intb[20][100];”,要使p[j][k]與b[j][k]等效,則指針p應(yīng)定義為__________________。27.與結(jié)構(gòu)成員訪問表達(dá)式p->name等價(jià)的表達(dá)式是____________。28.與結(jié)構(gòu)成員訪問表達(dá)式(*fp).score等價(jià)的表達(dá)式是____________。29.已知變量a定義為“inta=5;”,要使ra成為a的引用,則ra應(yīng)定義為____________。30.已知有定義“intx,a[]={5,7,9},*pa=a;”,在執(zhí)行“x=++*pa;”語句后,x的值是________。31.已知有定義“intx,a[]={6,10,12},*pa=a;”,在執(zhí)行“x=*++pa;”語句后,*pa的值是________。32.已知有定義“intx,a[]={15,17,19},*pa=a;”,在執(zhí)行“x=*pa++;”后,*pa的值是________。33.以面向?qū)ο蠓椒?gòu)造的系統(tǒng),其

溫馨提示

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

評論

0/150

提交評論