C++程序設(shè)計(jì)-周志德-等級(jí)考試題目_第1頁(yè)
C++程序設(shè)計(jì)-周志德-等級(jí)考試題目_第2頁(yè)
C++程序設(shè)計(jì)-周志德-等級(jí)考試題目_第3頁(yè)
C++程序設(shè)計(jì)-周志德-等級(jí)考試題目_第4頁(yè)
已閱讀5頁(yè),還剩108頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目錄TOC\o"1-5"\h\z.選擇題 (1).填空題 (7).基本概念題 (7).閱讀程序題 (8).完善程序題 (23).上機(jī)改錯(cuò)題 (42)上機(jī)編程題 (67)答案 (78)選擇題. (1) 能用作用戶自定義的標(biāo)識(shí)符A.friend B.varC.3Xyz一D.Float.設(shè)有說明語(yǔ)句"inta[3J[4]={1,2,3,4,5,6,7,8,9,10,11,12};int冊(cè)=&a[0][〇];",能夠iF確表示數(shù)組元素al21⑵的表達(dá)式是 (2)A.p[2][2]B*(*(P+2)+2)C.(p+10)D.*(p+8).在循環(huán)語(yǔ)句的循環(huán)體中使用break語(yǔ)句的作用是 (循A.結(jié)束本次循環(huán) B.結(jié)束該層的循環(huán)C,結(jié)束開關(guān)語(yǔ)句D.結(jié)束程序執(zhí)行.設(shè)有說明語(yǔ)句“intA[4][3]={{1,2},{3,4,5},{6,7,8},{9,10)卜”,則A[〇][2]和A[2]⑵的初始化值分別為(4)。A.0,7B.3,8C.3,7D.0,8TOC\o"1-5"\h\z.以下語(yǔ)句的輸出結(jié)果是 (5) 0charc1=100,c2—100;cout<<(cl*c2);A.越界(出錯(cuò))B.10000C.負(fù)數(shù) Dー個(gè)字符.設(shè)有語(yǔ)句"float(*p)(int,int);”,該語(yǔ)句的作用是(6) 0A.函數(shù)原型說明B.p為指向函數(shù)的指針變量 C.函數(shù)定義D.p為指向整數(shù)的指針變量7.ー個(gè)類的析構(gòu)函數(shù) (7)A,是唯一的B.允許重載C.至多可有兩個(gè)D,只能是缺省的.下列有關(guān)類和對(duì)象的說法中,正確的是⑻ 。A.類與對(duì)象沒有區(qū)別B.要為類和對(duì)象分配存儲(chǔ)空間C.對(duì)象是類的實(shí)例,為對(duì)象分配存儲(chǔ)空間而不為類分配存儲(chǔ)空間D.類是對(duì)象的實(shí)例,為類分配存儲(chǔ)空間而不為對(duì)象分配存儲(chǔ)空間.循環(huán)語(yǔ)句for(く表達(dá)式〈表達(dá)式2》;〈表達(dá)式3>=〈語(yǔ)句〉屮,〈語(yǔ)句〉的執(zhí)行情況是 (9)A.至少執(zhí)行一次 B,至少執(zhí)行兩次C,可能執(zhí)行,也可能不執(zhí)行D,不執(zhí)行10,下列有關(guān)編譯預(yù)處理命令的說明中,正確的是(10)A,以“#”開關(guān)的行,可出現(xiàn)在函數(shù)定義內(nèi)或函數(shù)定義外B,以“#”開頭的行,后面不可有分號(hào)C,以“#”開頭,可出現(xiàn)在一行中的任何位置D.以“#”開頭,必放在程序開頭11.下面四個(gè)選項(xiàng)中,均不能作為用戶標(biāo)識(shí)符使用的是 (11)。A.m,P-0,doB.float,kaO,一AC.-123,temp,INTD.b一a,goto,int12.設(shè)有說明,1inta-15,b=17,c;”,執(zhí)行表達(dá)式“c=all(b+=b)”后,貝リa、b、c的值分別是(12)。A.15、17、1B.1、34、35C.15、34、!D.15、17、1513.設(shè)有說明intx=10,y=4,f;floatm;”,執(zhí)行表達(dá)式"f=m=x/y”后,則f,m的值分別是(13)A.2,2.5B.3,2,5C.2.5,2.5 D.2,2.014.設(shè)有三個(gè)語(yǔ)句^ints—100;intss[s];cin>>ss;",則編譯認(rèn)為(14) 0A.僅第二個(gè)語(yǔ)句“intssIs);”錯(cuò)B.僅第三個(gè)語(yǔ)句“ein>>ss;”錯(cuò)、C.第一個(gè)語(yǔ)句正確,后兩個(gè)語(yǔ)句錯(cuò) D.三個(gè)語(yǔ)句都正確,沒有語(yǔ)法錯(cuò)15.設(shè)有函數(shù)定義“int日(void)(return100,20〇;}”,調(diào)用函數(shù)fl()時(shí),(15) 0A,函數(shù)返回值100 B,函數(shù)返回兩個(gè)值100和200C,函數(shù)返回值200。D,語(yǔ)句"return100,200;”語(yǔ)法錯(cuò),不能調(diào)用函數(shù)16.設(shè)有語(yǔ)句"intfun(char*,int&);charstr[100];intk:”,則對(duì)函數(shù)fun的正確的調(diào)用形式是(16)A.fun(str,&k)B.fun(str,k)C.fun(str[100],k)D.fun(str[100],&k).對(duì)于ー個(gè)C++的類,(17)A,只能有一個(gè)構(gòu)造函數(shù)和一個(gè)析構(gòu)函數(shù)B.可有一個(gè)構(gòu)造函數(shù)和多個(gè)析構(gòu)函數(shù)C.可有多個(gè)構(gòu)造函數(shù)和一個(gè)析構(gòu)函數(shù) D.可有多個(gè)構(gòu)造函數(shù)和多個(gè)析構(gòu)函數(shù).設(shè)有宏定義和語(yǔ)句如下:#defineM(a,b)a*b;//EIntx=M(3+4,5+6),y;//Fy=M(3,4); //G則(18)A.編譯時(shí),E行有語(yǔ)法錯(cuò) B.編譯時(shí),F行有語(yǔ)法錯(cuò)C.編譯時(shí),G行有語(yǔ)法錯(cuò) D,編譯時(shí),F行和G行有語(yǔ)法錯(cuò).一個(gè)基類以私有方式派生時(shí),其基類中的公有成員和保護(hù)成員在派生類中(19)。A,均成為私有的成員B.均成為公有的成員C,均成為保護(hù)的成員D.仍為公有的和保護(hù)的成員TOC\o"1-5"\h\z.虛函數(shù) (20)A.可實(shí)現(xiàn)靜態(tài)多態(tài)性B.可實(shí)現(xiàn)動(dòng)態(tài)多態(tài)性C,不能實(shí)現(xiàn)多態(tài)性D.既可實(shí)現(xiàn)靜態(tài)多態(tài)性,又可實(shí)現(xiàn)動(dòng)態(tài)多態(tài)性.系統(tǒng)約定c+十源程庠文件名的缺省的擴(kuò)展名為 (21)。A.cppB.c++C.beeD.vcc.設(shè)有說明語(yǔ)句“intk=7,x=12:”,則能使值為3的表達(dá)式是 (22)。A.x%=(k%=5)B.x%=(k—k%5)C.x%二k-k/5 D.(x%=k)一(k%二5).實(shí)型變量x的取值范圍為閉區(qū)間仁[一2,10]或開區(qū)間(15,34),則正確表示x取值范圍的邏輯表達(dá)式是 (23)—2<=x<=10ll15<x<40(一2〈二x&&x<=10=ll(15<x&&xV34=一2V=xV二10&&15Vx<40(一2<=x&&x<=10=&&(15Vx&&xV34=.設(shè)有兩個(gè)語(yǔ)句“intx(ヽ’);cin>>x;",則編譯器認(rèn)為(24)。A.說明語(yǔ)句"intxFa,];”錯(cuò)B.兩個(gè)語(yǔ)句都錯(cuò)C.語(yǔ)句"cin>>x:”錯(cuò) D.兩個(gè)語(yǔ)句正確,沒有語(yǔ)法錯(cuò).設(shè)有語(yǔ)句"voidf(inta[10],int&x);inty[10],*py=y,n;”,則對(duì)函數(shù)f的正確調(diào)用語(yǔ)句是(25)A.f(py[10],n);B.f(py,n);C.f(*py,&n);D.f(py,&n);.break語(yǔ)句只能用在.,(26)A.開關(guān)語(yǔ)句中 B.函數(shù)體中允許語(yǔ)句出現(xiàn)的任一位置C.循環(huán)語(yǔ)句中D,開關(guān)語(yǔ)句或循環(huán)語(yǔ)句中27.重載運(yùn)算“十”,實(shí)現(xiàn)a+b運(yùn)算,則(27) 。A.a必須為對(duì)象,b可為整數(shù)或?qū)崝?shù) B.a和b必須為對(duì)象,C.b必須為對(duì)象,a可為整數(shù)或?qū)崝?shù) D.a和b均可為整數(shù)或?qū)崝?shù)28.設(shè)有宏定義和語(yǔ)句:#defineP(x,Y)x/y#definePP(a,b)a*bintc=P(2+3,2+3)+PP(2+3,(2+3);TOC\o"1-5"\h\z則變量c的值是 (28) 。A.26 B.17C.17.5 D.3129.設(shè)有語(yǔ)句"fortinti=5>sum=0;i<10;sum++,i++=sum+=i:”,則for()語(yǔ)句的執(zhí)行情況是 (29) 。A.循環(huán)0次 B.循環(huán)4次 C.循環(huán)5次D.循環(huán)6次.設(shè)類B是基類A的派生類,并有語(yǔ)句“Aal,*pa二&al;Bbljpb=&bl;",則正確的語(yǔ)句是 (30) 。A.pb二pa;B.bl=al;C.al=bl;D.*pb二*pa;.數(shù)學(xué)式/sinxI在C++程序中對(duì)應(yīng)的正確表達(dá)式是 (31)。A.sqrt(x>0?sin(x):-sin(x))B.sqrt(fats(sin(x)))C.sqrt(sqrt(sinx*sinx)) D.fabs(sqrt(sin(x))).設(shè)有四個(gè)常數(shù):①4e0.5、②,\87i、③OX5A、④ヤ”,其中符合C++語(yǔ)法規(guī)則的常量是(32) 。A.②③B.②?C.③④D.①②.設(shè)有說明"intx()={1,2,345),*P==x;",輸出值不是5(數(shù)組X的元素個(gè)數(shù))的是〇cout<<sizeof(x)/sizeof(int)<<'\n1;cout<<sizeof(x)/sizeof(x[OJ)<<'\n';C.cout<<sizeof(p)/sizeof(int)<<'\n':D.cout<<sizeof(x)/sizeof(1)<<'\n';TOC\o"1-5"\h\z34.循環(huán)語(yǔ)句“for(intx=0,y=0;y!=100llx<10;)x++;",執(zhí)行的循環(huán)次數(shù)是 (34)。A,無限次B.10C.11D.10035.下列數(shù)組定義中錯(cuò)誤的是 (35) 。A.charsi['a']; B.chars2[6]="string":staticinta[4]={l}: D.char*p0={"A","B","C");36.設(shè)有宏定義definef(x)(-x*2)",執(zhí)行語(yǔ)句Kcout?f(3+4)?endl;w,則輸出是(36) 。A.-14B.2C.-5D.5.下列關(guān)于類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的敘述中,不正確的是 (37)〇A.類的析構(gòu)函數(shù)可以重載B.類的構(gòu)造函數(shù)可以重載C.定義ー個(gè)類時(shí)可以不顯式定義構(gòu)造函數(shù)D.定義ー個(gè)類時(shí)可以不顯式定義析構(gòu)函數(shù).若有說明“char*S[]={"1234","567879012”,"3456","7890"},則表達(dá)式?S[l]>*S13]比較的是(38) 。A."1234”和"9012" B.5和‘3' C.T和‘9' D."5678"和"3456".下列敘述中不正確的是 (39) 。A.含純虛函數(shù)的類為抽象類 B.不能直接由抽象類建立對(duì)象C.抽象類不能作為派生類的基類D.純虛函數(shù)沒有其函數(shù)的實(shí)現(xiàn)部分.以下關(guān)于運(yùn)行時(shí)的多態(tài)性的敘述中,不正確的是(40)〇A.運(yùn)行時(shí)的多態(tài)性耍通過虛函數(shù)來實(shí)現(xiàn)B.運(yùn)行時(shí)的多態(tài)性要通過指向基類的指針來實(shí)現(xiàn)C.運(yùn)行時(shí)的多態(tài)性是在編譯時(shí)確定其要執(zhí)行的函數(shù)D.運(yùn)行時(shí)喳/性是在執(zhí)行過程中根據(jù)具體被操作的對(duì)象來確定要運(yùn)行的函數(shù).在數(shù)學(xué)式5姉中,變量x和y的取值為整數(shù),而變量a和b的取值為實(shí)數(shù),在C++程序屮對(duì)應(yīng)的正確表達(dá)式是 (41) 。A.3/5*xy/a/bB.3*x*y/5/a/bC.3*x*y/5*a*bD.3/a/b/5*x*y.關(guān)于字符‘、。’,不正確的說法是(42) 。A,常用來作為字符串的結(jié)束標(biāo)志B,在計(jì)算機(jī)中存儲(chǔ)時(shí)占ー個(gè)字節(jié)的內(nèi)存C,是空格字符的轉(zhuǎn)義表示形式D,作為邏輯值使用時(shí)等價(jià)于邏輯“假”.設(shè)有說明"inta,b,C;a=b=C=5;”,執(zhí)行語(yǔ)句"b+=++a>b&&++c>b;”,則a、b、c的值分別是(43) 。A.6,7,6B.6,6,6 C.6,6,5D.6,1,6.執(zhí)行以下程序段時(shí),輸出(44) 。intsl==0,s2—0,s3=0,s4ニ。;for(intt=l;t<—4;t++)switch(t){caset>—4:sl++;break;caset>=3:s2++;break;caset>=2:s3++;default:s4++)C0UI<<S1<<', <<s2<< '<<s3<<','<<s4<<'\n';A.語(yǔ)法錯(cuò),編譯不通過 B.1,1,1,2C.1,2,3,2 D.1,1,2,2.下列數(shù)組定義中,正確的是 (45)。A.inti=100,a[I];B.intj;j==100;intb[j];C.constinti-20;inty[1];D.intk;intm[k];.編譯以下程序時(shí),結(jié)果是(46) 。include<iostream.h>//第1行defineas123;//第2行voidmain(void)//第3行!cout<<as<<’、n';=//第4行A.編譯時(shí)第2行出錯(cuò)B.編譯時(shí)第4行出錯(cuò)C.編譯時(shí)第2行和第4行均出錯(cuò)D.編譯時(shí)無錯(cuò)誤.以下有關(guān)對(duì)象的敘述中,不正確的是 (47) -A.產(chǎn)生對(duì)象時(shí)必定要調(diào)用構(gòu)造函數(shù)B.撤消對(duì)象時(shí)必定要調(diào)用析構(gòu)函數(shù)C.對(duì)象被保護(hù),其私有成員不能任意訪問D.對(duì)象可以沒有構(gòu)造函數(shù)或析構(gòu)函數(shù).設(shè)有說明語(yǔ)句‘'char*s[]={"Student","Teacher',"Father1,"Mother"},*ps=s[2];”,執(zhí)行語(yǔ)句"cout<<*s[1]<<',’<<ps<< '<<*ps<<'\n';”,則輸出結(jié)果是,(48)。A.T,Father,F B.Teacher,F,FatherC.Teacher,Father,FatherD.語(yǔ)法錯(cuò)無輸出.下面有關(guān)ー個(gè)類的友元函數(shù)的敘述中,正確的是 (49) 。A,允許在類外訪問類中除私有成員以外的任何成員B.允許在類外訪問類中的任何成員C.友元函數(shù)也是該類的成員函數(shù)D,友元函數(shù)的定義必須放在該類的公有部分.以下關(guān)于多態(tài)性的描述中,錯(cuò)誤的是(50) 。A.動(dòng)態(tài)多態(tài)是通過類的繼承關(guān)系和虛函數(shù)來實(shí)現(xiàn)的B,靜態(tài)多態(tài)是通過函數(shù)的重載或運(yùn)算符的軍載來實(shí)現(xiàn)的C,多態(tài)性通常使用虛函數(shù)或重載技術(shù)來實(shí)現(xiàn)D.為實(shí)現(xiàn)動(dòng)態(tài)多態(tài),基類必須定義為含有純虛函數(shù)的抽象類.在下列標(biāo)識(shí)符中,能用作用戶自定義標(biāo)識(shí)符的是(51)。A.privateB.friendC.IntD.double.設(shè)有說明語(yǔ)句:chars[]="ab\0\123\Wn79";strlen(s)的值是(52)〇A.2B.3C.8D.14.設(shè)有變量說明:inta=3,b=4,c=5;下列表達(dá)式中,值為〇的表達(dá)式是(53)。A.'a'&&'b' B.a<=bC.allb十c&&b-c D.!(a<b&&c<bllb).設(shè)el和e3是表達(dá)式,與語(yǔ)句for(el;:e3)s:等同的語(yǔ)句是(54) 。A.for(el;el;e3)s;B.for(el;e3;e3)s;C.for(el;0;e3)sD.for(e1:1;e3)s;.設(shè)有說明語(yǔ)句:floatfun(int&,char*);Intx;chars[200];TOC\o"1-5"\h\z以下對(duì)函數(shù)fun的調(diào)用中,正確的調(diào)用格式是 (55) 。A.fun(&x,s)B.fun(x,s)C.fun(x,*s)D.fun(&x,*s).以下四組語(yǔ)句中,不符合C++語(yǔ)法規(guī)則的是 (56) 。A.charstr[]—"Goodmorning"; B.charstr[20];str="Goodmorning";C.char*p="Goodmorning"; D.char*p;p="Goodmorning";.以下有關(guān)析構(gòu)函數(shù)的敘述中,正確敘述的是 (5函 0A.析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù)B.可以重載析構(gòu)函數(shù)C.析構(gòu)函數(shù)可以定義為虛函數(shù) D.必須顯式地自足義析構(gòu)函數(shù).設(shè)有語(yǔ)句:charsロ="246".*ptr=s;TOC\o"1-5"\h\zcout<<(char)(*(ptr+l)+l)<<'\n':執(zhí)行以上語(yǔ)句后,輸出(58) 。A.5B.6C.46D.56.若一個(gè)C++源程序中包含頭文件iostream,h,則標(biāo)識(shí)符cin是 (59) 。A.C+十預(yù)定義的關(guān)鍵字B.類名C,函數(shù)名D.對(duì)象名60.下面有關(guān)基類與其派生類的敘述中,正確的是 (60) 。A.派生類對(duì)象不能賦給基類對(duì)象 B.派生類對(duì)象的地址不能賦給其基類的指針變量C.基類對(duì)象不能賦給派生類對(duì)象D.基類對(duì)象的地址能賦給其派生類的指針變TOC\o"1-5"\h\z.在以下選項(xiàng)中,能用作用戶自定義標(biāo)識(shí)符的是 (61) 。A.sizeofB.for+whileC.DoubleD.do.若al,a2,a3和a4均為整型變量,則以下選項(xiàng)中,符合C++語(yǔ)法規(guī)則的表達(dá)式是2) °A.al=25%3,3B.a2=al+a3=3*5C.a3=O78D.a4=OXa263.設(shè)有語(yǔ)句:for(ints=l,i=2;i<=6;i++)s*=i/2;執(zhí)行該語(yǔ)句后,s的值是(63)0A.1B.12C.22 D.22.5.若有doublea[3][4];則sizeof(a)的值是(64) 。A.7B.12C.48D.96.若定義函數(shù):intf(intx)(x++;returnx;}執(zhí)行以下語(yǔ)句:inta=5;f(a)+f(a);則a的值是 (65) 。5 B.6C.7 D.866,在以下的函數(shù)原型說明中,存在語(yǔ)法錯(cuò)誤的是(66) 。voidf(inta,int); B.voidf2(int,int);voidf3(int,int=5); D.intf4(intx;inty);.對(duì)于基類中的private成員,其在公有派生類中的訪問權(quán)限為(67) 。A.不可訪問 B.privateC.protectedD.public.假定AB為個(gè)類的類名,則該類的拷貝構(gòu)造函數(shù)的函數(shù)原型是 (68) .A.AB&(ABx);B.AB(ABx);C.AB(AB&x);D.AB(AB*x);.執(zhí)行下面的程序段后,v的值為(69) 。#defineS(x)x*xinty,z=10;y=S(z+1);A.10B.21C.121D.語(yǔ)法錯(cuò),不能求出y的值.下面有關(guān)類的構(gòu)造函數(shù)與析構(gòu)函數(shù)的敘述中,正確的是(70).A.同一個(gè)類的析構(gòu)函數(shù)只能有一個(gè)B.同一個(gè)類的構(gòu)造函數(shù)只能有一個(gè)C,同一個(gè)類的析構(gòu)函數(shù)可定義多個(gè)D.類的構(gòu)造函數(shù)名可任意定義二、填空題1.基本概念題TOC\o"1-5"\h\z.在C+十中,函數(shù)名的值是 (1)。.在C+十中,作用域共分為五類:塊作用域、文件作用域、 ⑵ 、(3)和(4k.若有宏定義:#defineT(x,Y,z)x*y*z/4則表達(dá)式T(3+4.2*4.4+4)的值是⑸ 。.在C++中,'Students”的值是 (1) 。.靜態(tài)整型變量有確定的初值,其缺省的初侑是(2) 。.設(shè)有語(yǔ)句?'intm;floatx,y;y=m=x=7.99;",則y的侑是(3) 0.多態(tài)性分為兩種:靜態(tài)多態(tài)性和動(dòng)態(tài)多態(tài)性。函數(shù)重載屬于兩種多態(tài)性中的哪?種:(4) ".在定義ー個(gè)類時(shí),缺省的構(gòu)造函數(shù)是唯一的。當(dāng)自定義的構(gòu)造函數(shù)的每ー個(gè)參數(shù)均有缺省值或ー!>ー,這種構(gòu)造函數(shù)是缺省的構(gòu)造函數(shù)。.設(shè)有語(yǔ)句“inta=[10];”,則a的侑是(1) 。.全局指針變量有確定的初值,其缺省的初值是 (2)。1.設(shè)有語(yǔ)句“intx[4][3]={3,4,5,6,7,8,9,10,II,12);w?則x[3J【〇]的初侑是⑶ 。12,在C十十的文件流中,打開文件的方法有兩種:一種是使用成員函數(shù)。pen(),另ー種是使用(4)。.在多重派生中,要使一個(gè)基類在派生類中只有一個(gè)拷貝,則必須將這個(gè)基類說明為⑸。.break語(yǔ)句只能用在循環(huán)語(yǔ)句和 (1)語(yǔ)句中。TOC\o"1-5"\h\z.設(shè)有語(yǔ)句“inta=6,b=3;floatx=8,y;y=b/a*x/2;",則v的值是(2) ..設(shè)有語(yǔ)句"chars[]="Rep\OCh";intm=sizeof(s);”,則m的值是 ⑶ 。.在C十十中,運(yùn)算符的重載有兩種實(shí)現(xiàn)方法,ー種是通過成員函數(shù)來實(shí)現(xiàn),另種則通過(4) 來實(shí)現(xiàn)。.設(shè)有語(yǔ)句"inta=258,b;unsignedchare;b=c=a;”,則b的值是 ⑸ 。.continue語(yǔ)句只能用在 (1)語(yǔ)句中。.設(shè)有語(yǔ)句"floatx=2.9;inta=5,b;b=a+x;”,則變量b的值是 (2) 。.設(shè)有語(yǔ)句"chars[]="China\ONanjin";intm=strlen(s):”,則m的值是 ⑶ 。.在C十十中函數(shù)的參數(shù)傳遞方式有三種:第?種是值傳遞,第二種是指針傳遞,第三種是 ⑷傳遞。.設(shè)有語(yǔ)句"inta=5,b=7,c—15,d;d=b>aII(c=a+b):",則c的值是⑸ 。.函數(shù)重載是指函數(shù)名相同,但函數(shù)的(1)不同或函數(shù)的(2)不同。.設(shè)有循環(huán)語(yǔ)句:for(intI=0,x=0,s=0;1<=9&&x!=55;1++){cin?x;s+=x;)在這個(gè)循環(huán)語(yǔ)句中,循環(huán)體最多執(zhí)行 (3)次,最少執(zhí)行 (4)次。.任一個(gè)類至少包含兩個(gè)構(gòu)造函數(shù),ー個(gè)是缺省的的構(gòu)造函數(shù)或用戶顯示定義的構(gòu)造函數(shù),另ーI個(gè)是 (5)〇.在C++中,編譯預(yù)處理包括三個(gè)方面的內(nèi)容,它們分別是包含文件、 ⑴和⑵.在類定義中,如果僅定義了數(shù)據(jù)成員,而沒有定義成員函數(shù)時(shí),則由系統(tǒng)自動(dòng)生成的成員函數(shù)有缺省構(gòu)造函數(shù)、析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)和 (3)函數(shù)。.設(shè)有說明語(yǔ)句:charsロ="123\t456\00089",*P=s:執(zhí)行以ド兩個(gè)語(yǔ)句:cout?*(P+5)?S';cout?(P+5)?>\n1;則輸出分別為⑷和⑸ 。閱讀程序題.以下程序的輸出結(jié)果是 ⑹#include<iostream.h>voidp(int*a,int*b){int*t=a;a=b;b=t;}voidmain(void){intx=100,y=2(M);p(&x,&y);cout?x?,\t,?y?,\n,;}.以下程序的輸出結(jié)果是 ⑺ ⑻#include<iostream.h>voidmain(void){intj,k,s,m;for(k=l;k<7;k++){s=1;m=k+2;for(j=k;j<m;j++,k4-+))cout?,,s=,,?s?,\t,?,,k=,,?k?,\n,;.以下程序輸出結(jié)果的第一行是 (9) 第二行是 (10)#include<iostream.h>voidf(int*s,intnhintn2){intt;while(nl<n2){t=*(s+nl);*(s+nl)=*(s+n2);*(s+n2)=t;n1++;n2--;}voidmain(void){inta[10]={l,2,3,4,5,6,7,8,9,0},i,*p=a;f(p,0,3);f(p+3,l,6);for(i=0;i<10;i++){if(i%5==0)coutvv'\n';cout?a[i];4.以下程序輸出結(jié)果的第一行是 (11) 第二行 (12)#include<iostream.h>classX{public:virtualvoidf(){cout?,,aa\nM;}};classY:publicX{public:voidf(){cout?,,bb\n,,;J);voidmain(void){Yy,*xy=&y;X*xp=&y;xyYf();xp->f();}.將上題中標(biāo)有〃A的一行中virtual去掉,則程序輸出結(jié)果的第二是一(13).以下程序輸出結(jié)果的第二行是 (14)第二行(15) 第三行 (16)#include<iostream.h>voidshow(char*s){if(*s)show(s+l);cout?*s;}voidmain(void){show("abcd\nefg\nhi了');cout?endl;}.以下程序的第一行是 (17)第二行(18)#include<iostream.h>intk;voidmain(void){k=10;for(inti=0;i<5;i++){intk;k=i+l;cout?k?,4;::k++;)cout?,\n]?k?'\n,;).以下稈序的第一行是 (6) 第二行是 ⑺#include<iostream.h>voidf(int*a,intb){intt=*a;*a=b;b=t;}voidmain(void){intx=10,y=20;cout<<x?,\t,<<y?,\n,;f(&x,y);cout?x?,\t,?y?,\n,;).以下程序的第一行是 (8) 第二行是 (9)#include<iostream.h>voidmain(void){intx=6;do{x-=2;cout?x?,\n,;)while(—x))10.以下程序的第一行是.(10) 第三行是是1)#include<iostream.h>intf(intx){staticintu=l;x+=x;returnu*=x;)voidmain(void){intx=10;cout?f(x)?,\n,;cout?f(x)?endl;)11.以下程序的第二行是 (⑵第二行是3) 第三行是04)#include<iostream.h>voidp1(chars[],inti){if(s[i]!=O)pl(s,i+D;cout?s[i];}voidp2(chars[],inti){cout?s[i];if(s[i]!=O)p2(s,i+l);}voidmain(void){charstrロゴ123”;cout?str?^^\n^,;p1(str,0);cout?,\n,;p2(str,0);cout?,\n,;)12.以下程序的第一行是一 (15)第二行(16)#include<iostream.h>classBa{inty;public:intx;Ba(intb){x=b;y=x+x;}intGety(void){returny;});classA:publicBa{public:A(intc):Ba(c){}intGetx(void){returnx;});classB:publicBa{public:B(intd):Ba(d){}intGetx(){returnx;});classC:publicB,publicA{public:C(inte):A(e+30),B(e+100){}};voidmain(void){ Cc(100);cout?c.A::Gety()?,\t,?c.B::Gety()?,\n,;cout?c.A::Getx()?,\t,?c.B::Getx()?,\n,;}13.以下程序的第一行是 (17)第二行(18)#include<iostream.h>classX{public:voidvirtualf(){coutvv"X:lドm+mvv'\n';}voidvirtualg(){cout?,,X:22,,?,\n,;)I;classA:publicX{public:voidf(){cout?,,A:33,,?,\n,;}};classB:publicA(public:voidf(){cout?,,B:44,,?,\n,;)voidg(inti=0){coutvv"B:55''vv'\n';});voidmain(void){Bb;X*px=&b;px->f();px->g(); }14.以下程序的第一行是 (6) 第二行是 (7)#include<iostream.h>voids(inta,int&b){intt=a;a=b;b=t;}voidmain(void){intx=500,y=1000;coutv<xvv'\t'vvyvv'Xn';s(x,y);cout?x?,\t,?y?,\n,;}15.以下程序的第一行是 (8) 第二行是 (9)#include<iostream.h>voidmain(void){for(inta=l,b=1;a<=5;a++){if(b>=8)break;if(b%2==l){b+=7continue;}b-=3;)cout?,,a=,,?a?,\n,?,,b=,,?b?,\n,;)16.以下程序的第一行是. (10) 第三行是 ⑴)#include<iostream.h>intx=100voidmain(void){intx=200;x+=::x;{intx=500;::x+=x;}cout?x?endl;cout?::x?endl;).以下程序的第二行是.(12)第二行(13) 第三行是 (14)#include<iostream.h>voidf(inti)(if(i==l)return1;returni*f(i-l);)voidmain(void){intsumニ〇;for(intj=1;j<=4;j++){ t=f(j);sum+=t;//sum=l+2+6+24=33cout?t?,\t,?sum?,\n,;.以下程序的第二行是一 (15) 第三行 (16)#include<iostream.h>classE{intx;staticinty;public:E(inta){x=a;y+=x;}voidShow(){cout<<x?,\t,<<yvv'Xn';});intE::y=100voidmain(void){ Eel(10);el.Show();Ee2(50);e2.Show();el.Show();}.以下程序的第一行是 (17)第二行(18)#include<iostream.h>classX{intm;public:X(inta=0){m=a;}voidvirtualf(){cout?m+m?,\n,;}voidvirtualg(){cout?m*m?,\n,;});classA:publicX{intn;public:A(inta):X(100){n=a;}voidf(){cout?n?,\n,;}voidg(inta=0){cout?n*n?,\n,;)};voidmain(void){Aa(10);X*p=&a;p->f();p->g();).以下程序的第一行是一 (6) ,第二行是⑺#include<iostream.h>floatf(floatsum,floatx[],intn){for(inti=0;i<n;i++)sum+=x[i];returnsum/n;)voidmain(void){floatx[]={2,4,6,8},sum=0,y;y=f(sum,x,4);cout?,,sum=,'?sum?,\n';cout?My=,'?y?,\n,;}.以下程序的第一行是一 (8) , 第二行是(的#include<iostream.h>voidmain(void){inty=122,a[8];for(inti=0;y;i++){a[iJ=y%8;y=y/8;}for(intj=i-l;j>=O;j—)cout?a[j];cout?endl;cout?"y="?y?endl;).以下程序的第一行是「 (10) ,第三行是 (11)#include<iostream.h>intf(void){staticinta,b=10,c=l;a+=b;b+=c;returnc=a+b;)voidmain(void){cout?f()?endl;cout?f()?endl;1.以下程序的第一行是.(12)第二行(⑶ 第三行是 (14)#include<iostream.h>voidfun(int*p,inti){cout?p[i]?^t;if(i<7)fun(p,i+2);voidmain(void){inta[10]={10,2,5,14,15,8,11,8,19);fun(a,0);).以下程序的第二行是一 (15) 第三行 (1的#include<iostream.h>classA{public:intx;A(){x=100;}A(inti){x=i;}voidShow(){cout?Mx=M?x?M'?HAA\nn;});classB{public:inty;B(){y=300;}B(inti){y=i;}voidShow(){coutvv"y="vvyv<Y'?"BB\n”;});classC:publicA,publicB{public:inty;C(intajntb,intc):A(a),B(b){y=c;}voidShow(){coutvv”yゴvvyvv、tyCC\n”;}};voidmain(void){Ccl(400,500,600);cl.y=200;cl.Show();cl.A::Show();cl.B::Show();}.以下程序的第一行是 (17)第二行(18)#include<iostream.h>classA{intx,n;intmul;public:A(inta,intb){x=a;n=b;mul=1;}virtualintpower(void){mul=1;for(inti=l;iv=n;i++)mul*=x;returnmul;)voidshow(void){coutvvmulvv't';}};classB:publicA{inty,m;intp;public:B(inti,intj,intk,inth):A(ij){y=k;m=h;p=10;}intpower(void){p=l;for(inti=l;i<=m;i++)p*=y;returnp;)voidshow(void){A::show();cout?p?'\n";)};voidfun(A*f){cout?f->power()?,\n,;}voidmain(void){Aa(5,3);Bb(2,4,3,3);fun(&a);fun(&b);b.show();)26.以下程序的第一行是ー (6) 第二行是 (7)#include<iostream.h>float*f(float*p,floatx[],intn){floatsum=0;for(inti=0;i<n;i++)sum+=x[i];p=∑x[n]=sum;returnx+n;)voidmain(void){floatx[]={l,2,5,7,0},s=0,*pl,*p2=&s;pl=f(p2,x,4);cout?w*pl=',?*pl?,\n';cout?"*p2=',?*p2?,\n,;}27.以下程序的第一行是 (8) 第二行是一 (9)#include<iostream.h>voidmain(void){inty=290,b[10];for(inti=0;y;i++){b[i]=y%16;y=y/16;)for(intj=O;j<i;j++)cout?b(jj;習(xí)題1簡(jiǎn)述C++語(yǔ)言程序的結(jié)構(gòu)特點(diǎn)。答:C++程序由一個(gè)或多個(gè)函數(shù)組成,其中至少有一個(gè)主函數(shù)main(),程序從主函數(shù)開始執(zhí)行,由主函數(shù)來調(diào)用其他函數(shù)。C++函數(shù)由說明部分與函數(shù)體組成,函數(shù)體由變量定義和執(zhí)行語(yǔ)句兩部分組成。其中函數(shù)體中語(yǔ)句和變量說明以分號(hào)結(jié)束。一般函數(shù)結(jié)構(gòu)如下:#編譯預(yù)處理命令函數(shù)類型く函數(shù)名>(形式參數(shù)){/?注釋?/變量說明:執(zhí)行語(yǔ)句:〃注釋內(nèi)容(3)程序書寫規(guī)則為同一層語(yǔ)句同列書寫、內(nèi)層語(yǔ)句縮進(jìn)兩個(gè)字符、函數(shù)定義在第一列書寫。嚴(yán)格區(qū)分字母的大小寫,即大寫與小寫代表兩個(gè)不同變量。(4)C++輸入/輸出通過流cin和cout來實(shí)現(xiàn)的簡(jiǎn)述C++程序開發(fā)的步驟。答:(1)分析問題。根據(jù)實(shí)際問題,分析需求,確定解決方法,并用適當(dāng)?shù)墓ぞ呙枋鏊?2)編輯程序。編寫C++源程序,并利用ー個(gè)編輯器將源程序輸入,保存到計(jì)算機(jī)中的某ー個(gè)文件中。文件的擴(kuò)展名為.cpp。(3)編譯程序。編譯源程序,產(chǎn)生目標(biāo)程序。目標(biāo)程序文件的擴(kuò)展名為.obj。(4)連接程序。將一個(gè)或多個(gè)目標(biāo)程序與庫(kù)函數(shù)進(jìn)行連接后,產(chǎn)生一個(gè)可執(zhí)行文件。可執(zhí)行文件的擴(kuò)展名為.exe。(5)運(yùn)行調(diào)試程序。運(yùn)行可執(zhí)行文件,分析運(yùn)行結(jié)果。若有錯(cuò)誤進(jìn)行調(diào)試修改。在編譯、連接和運(yùn)行程序過程中,都有可能出現(xiàn)錯(cuò)誤,此時(shí)要修改源程序,并重復(fù)以上過程,直到得到正確的結(jié)果為止。設(shè)計(jì)ー個(gè)C++程序,輸出以下信息:Hello!解:#include<iostream.h>voidmain()cout?MHello!"vvヽn';cout?M***************”-\nしI設(shè)計(jì)ー個(gè)C++程序,輸入三個(gè)學(xué)生的成績(jī),求其總成績(jī)。解:#include<iostream.h>main(){intsl,s2,s3,sum;cout<<"請(qǐng)輸入三個(gè)學(xué)生的成績(jī):cin?s1?s2?s3;sum=sl+s2+s3;cout?,,sum=,'?sum?'\n';設(shè)計(jì)ー個(gè)C++程序,輸入a、b二個(gè)整數(shù),用sub()函數(shù)求兩數(shù)之差。解:^include<iostream.h>voidmain(void){intsub(intx,inty);inta,b,m;coutくくInputa,b:;cin?a?b;m二sub(a,b);coutくく"a-b="?m?endl;}intsub(intx,inty){intz;z=x-y;return(z);習(xí)題2簡(jiǎn)述標(biāo)識(shí)符定義。指出下列用戶自己定義的標(biāo)識(shí)符中哪些是合法的?哪些是非法的?如果是非法的,為什么?答:xyVBook-J 3abX(不能數(shù)字開頭)x_2JswitchX(保留字)integerVIX(不能包含’'-") 一nameJMyDeskV#NOX(不能包含“#")y.5X(不能包含".”) charX(保留字).C++語(yǔ)言中有哪些數(shù)據(jù)類型?_短整型 shortint整型 _短整型 shortint整型 J整型 intし長(zhǎng)整型 ]ongint,,r單精度型floatL雙精度型double字符型char無值型void數(shù)組指針結(jié)構(gòu)體共同體類基本類型JC++數(shù)據(jù)類型〈I導(dǎo)出類型y什么是常量?什么是變量?答:在程序執(zhí)行過程中,其值不能被改贏被詼齦郵常量。在程序執(zhí)行過程中,其值可以改變的量稱為變量。變量必須用標(biāo)識(shí)符來命名。下列常量的表示在C++中是否合法?若合法,指出常量的數(shù)據(jù)類型;若非法,指出原因。答:-123V(整型,十進(jìn)制)0321V(整型,ハ進(jìn)制).567J(浮點(diǎn)型,十進(jìn)制小數(shù))1.25e2.4X(指數(shù)部分有''.”,必須是整數(shù))32LV(長(zhǎng)整型,十進(jìn)制)M'V(字符型,字符常量)"Computer”。(字符型,字符串常量)'x'V(字符型,字符常量)"x"V(字符型,字符串常量)A85'X(85不是ハ進(jìn)數(shù))字符常量與字符串常量有什么區(qū)別?答:C++中字符常量為用單引號(hào)括起來的單個(gè)字符,而字符串常量為用雙引號(hào)括起來的多個(gè)字符,且字符串最后加入結(jié)束標(biāo)志‘、?!G蟪鱿铝兴阈g(shù)表達(dá)式的值:x+a%3*(int)(x+y)%2/4 設(shè)x=2.5,y=4.7,a=7答:按優(yōu)先級(jí)先計(jì)算強(qiáng)制類型轉(zhuǎn)換:(int)(2.5+4.7)=7再按左結(jié)合性計(jì)算:a%3*7%2/4=7%3*7%2/4=l*7%2/4=7%2/4=1/4=0最后計(jì)算x+0=2.5+0=2.5(float)(a+b)/2-(int)x%(int)y設(shè)a=2,b=3,x=3.5,y=2.5答:按優(yōu)先級(jí)先計(jì)算強(qiáng)制類型轉(zhuǎn)換:(float)(a+b)/2=5.0/2=2.5(int)x%(int)y=(int)3.5%(int)2.5=3%2=l最后計(jì)算(float)(a+b)/2-(int)x%(int)y=2.5-1=1.5

,a'+x%3+5/2-\24I 設(shè)x=8,a,+x%3+5/2-\24,=97+8%3+5/2-24=97+2+2-20=81'\24'為ハ進(jìn)制,4\24=024(ハ進(jìn)制)=2*8+4(十進(jìn)制)=20(十進(jìn)制)H的ASCI!碼為97寫出以下程序的運(yùn)行結(jié)果。#include<iostream.h>voidmain(void){inti,j,m,n;i=8;j=10;m=++i;n=j++; //i=9m=9,n=10j=l1cout?i?'\t,<<j?,\n';coutvvmvv't'vvnvvヽn';)答:程序運(yùn)行結(jié)果:TOC\o"1-5"\h\z9 119 10將下列數(shù)學(xué)表達(dá)式寫成C++中的算術(shù)表達(dá)式。a+b . (2)'p(p-a)(p-b)(p-c)解:算術(shù)表達(dá)式(a+b)/(x-y)sqrt(p*(p-a)*(p-b)*(p-c))sin(x)/2/m或sin(x)/(2*m)(a+b)/2*h在C++語(yǔ)言中如何表示“真”和“假”?系統(tǒng)又是如何判斷ー個(gè)量的“真”和“假”的?答:C++語(yǔ)言中用“1”表示“真”,“〇”表示“假”。系統(tǒng)判斷“真”和“假”的方法為:ー個(gè)量非零為“真”,等于零為“假”2.10設(shè)有變量說明:inta=3,b=2,c=l;求出下列表達(dá)式的值:(1)a>b(2)a<=b(3)a!=b(4)(a>b)==c(5)a-b==c解:(1)1 (2)0 (3)1 (4)1(5)1設(shè)有變量說明:inta=3,b=1,x=2,y=0;求出下列表達(dá)式的值:(2)a>b&&x>y(4)yllb&&ylla(a>b)&&(2)a>b&&x>y(4)yllb&&ylla(3)(yllb)&&(ylla)!aIIa>b解:(1)(a>b)&&(x>y)=(3>l)&&(2>0)=1&&1=1a>b&&x>y=3>l&&2>0=1&&1=1(yllb)&&(ylla)=(0111)&&(0113)=1&&1=1yllb&&ylla=yll(b&&y)Ila=011(1&&0)II3=0110113=0113=1!alla>b=!3II3>1=0111=12.12設(shè)有變量說明:intw=3,x=10,z=7;charch=D';求出下列表達(dá)式的值。(1)w++llz++ (2)!w>z(3)w&&z (4)x>10IIz<9(5)ch>='A,&&ch<='Z'解:w++llz++=3H7=l(先用后加,w=4,z=8)!w>z=!3>7=0>7=0w&&z=3&&7=1x>10llz<9=10>10ll7<9=0111=1ch>='A,&&ch<='Z'='D'>='A'&&'D'v=Z=1&&1=12.13設(shè)a、b的值分別為6、7?指出分別運(yùn)算下列表達(dá)式后a、b、c、d的值。c=d=a (2)b+=b(3)c=b/=a (4)d=(c=a/b+15)解:c=d=ac=(d=6)=6 a=6,b=7,c=6,d=6b+=b b=b+b=14 a=6,b=14,c,d不定c=b/=a c=(b=b/a)=(b=7/6)=1 a=6,b=l,b=l,c=l,d不定d=(c=a/b+l5)d=(c=6/7+15)=(c=0+15)=15 a=6,b=7,c=15,d=15設(shè)a、b、c的值分別為5、8、9:指出分別運(yùn)算下列表達(dá)式后x、y的值。y=(a+b,b+c,c+a) (2)x=a,y=x+b解:y=(a+b,b+c,c+a)=(5+8,8+9,9+5)=(13,17,14)=14 y=14x=a,y=x+b=(x=5,y=x+b)=(5,y=5+8)=(5,y=13)=13 x=5,y=13設(shè)計(jì)ー個(gè)程序,從鍵盤輸入ー個(gè)圓的半徑,求其周長(zhǎng)和面積。解:#include<iostream.h>voidmain(){floatr,L,S;coutくく”請(qǐng)輸入園的半徑:cin?r;L=2*3.14*r;S=r*r*3.14;cout?"r="?r<<,\n>;cout?"L="?L<<endl;cout?"S="?S<<endl;設(shè)計(jì)ー個(gè)程序,從鍵盤輸入一個(gè)小寫字母,將它轉(zhuǎn)換成大寫字母。解:#include<iostream.h>voidmain(){charc,C;coutくく〃請(qǐng)輸入小寫字母:〃;cin?c;C=c-0x20; 〃此為十六進(jìn)制,也可以用十進(jìn)制C=c-32;coutくく〃0”くくCくぐ、n';從鍵盤輸入ー個(gè)三位數(shù)abc,從左到右用a、b、c表示各位的數(shù)字,現(xiàn)要求依次輸出從右到左的各位數(shù)字,即輸出另ー個(gè)三位數(shù)cba,例如:輸入123,輸出321,試設(shè)計(jì)程序。(算法提示:a=n/100,b=(n-a*100)/10,c=(n-a*100)%10,m=c*100+b*10+a)解:include<iostream.h>include<math.h>mainO{inta,b,c,n,m;coutくく〃請(qǐng)輸入三位十進(jìn)制整數(shù):〃;cin>>n;a=n/100;b=n%100/10;c=n%100%10;m=c*100+b*10+a;coutくく〃m=〃くくmくく‘、n';習(xí)題3程序的ユ種基本控制結(jié)構(gòu)是什么?答:程序的三種基本控制結(jié)構(gòu)是:順序程序結(jié)構(gòu)、分支程序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)程序結(jié)構(gòu)。C++語(yǔ)言中的語(yǔ)句分哪幾類?答:C++語(yǔ)言中的語(yǔ)句分為6類,即:說明語(yǔ)句、控制語(yǔ)句、函數(shù)調(diào)用語(yǔ)句、表達(dá)式語(yǔ)句、空語(yǔ)句、復(fù)合語(yǔ)句。怎樣區(qū)分表達(dá)式和語(yǔ)句?答:表達(dá)式與語(yǔ)句的區(qū)別是:表達(dá)式不需要用分號(hào)結(jié)尾,而語(yǔ)句必須以分號(hào)結(jié)尾。程序的多路分支可通過哪二種語(yǔ)句來實(shí)現(xiàn)?說出用這兩種語(yǔ)句實(shí)現(xiàn)多路分支的區(qū)別。答:程序的多路分支可用if語(yǔ)句嵌套實(shí)現(xiàn)與switch語(yǔ)句來實(shí)現(xiàn)。switch語(yǔ)句只能用于條件表達(dá)式的值為整型或字符型的場(chǎng)合,而if語(yǔ)句可用于條件表達(dá)式為任意類型值的場(chǎng)合。使用switch開關(guān)語(yǔ)句時(shí)應(yīng)注意哪些問題?答:使用switch開關(guān)語(yǔ)句應(yīng)注意:(1)必須用break才能退出當(dāng)前一case語(yǔ)句:(2)表達(dá)式值與常量值只能是整型或字符型;(3)每個(gè)case后面的常量表達(dá)式的值必須互不相同:(4)case后可有多個(gè)語(yǔ)句,而不必用花括號(hào)。用于實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的循環(huán)語(yǔ)句有哪三種?分別用于實(shí)現(xiàn)哪二種循環(huán)結(jié)構(gòu)?這三種循環(huán)語(yǔ)句在使用上有何區(qū)別?答:實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的循環(huán)語(yǔ)句有while、dowhile,for三種語(yǔ)句。while,for語(yǔ)句分別用于實(shí)現(xiàn)當(dāng)型循環(huán)結(jié)構(gòu)。dowhile用于實(shí)現(xiàn)直到型循環(huán)結(jié)構(gòu)。while,for語(yǔ)句用于先判斷循結(jié)束后執(zhí)行循環(huán)體場(chǎng)合,而dowhile用于先執(zhí)行循環(huán)體后判斷循環(huán)結(jié)束的場(chǎng)合。分支程序與循環(huán)程序常用于解決哪些實(shí)際問題?答:能夠用分支與循環(huán)結(jié)構(gòu)程序解決的實(shí)際問題有:累加和、連乘積、求一批數(shù)的和及最大值與最小值、求數(shù)列的前n項(xiàng)、判素?cái)?shù)、求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)、用迭代法求平方根、用窮舉法求不定方程組的整數(shù)解、打印圖形等等。continue語(yǔ)句與break語(yǔ)句均用于循環(huán)結(jié)構(gòu),在使用上有何區(qū)別?答:break語(yǔ)句只能用在循環(huán)語(yǔ)句和switch語(yǔ)句中,其功能是終止循環(huán)語(yǔ)句和switch語(yǔ)句的執(zhí)行。continue語(yǔ)句只能用在循環(huán)語(yǔ)句中,其功能是結(jié)束本次循環(huán),重新開始下一次循環(huán)。程序的正常終止與異常終止有何區(qū)別,分別用什么函數(shù)來實(shí)現(xiàn)?使用這些函數(shù)時(shí)應(yīng)包含什么頭文件?答:程序的正常終止用exit()函數(shù)來完成,此時(shí)系統(tǒng)要做終止程序執(zhí)行前的收尾工作,如關(guān)閉該程序打開的文件。釋放變量所占用的存儲(chǔ)空間(不包括動(dòng)態(tài)分配的存儲(chǔ)空間)等。程序的異常終止用abort()函數(shù)來完成,系統(tǒng)不做結(jié)束程序前的收尾工作,直接終止程序的執(zhí)行。使用這兩個(gè)函數(shù)時(shí)應(yīng)包含stdlib.h頭文件?寫出下列程序的運(yùn)行結(jié)果:#include<iostream.h>voidmain(void){inta=2,b=—1,c=2;if(a<b)if(b<0)c=0;elsec=c+l;cout?c?endl;}解:運(yùn)行結(jié)果:2寫出下列程序的運(yùn)行結(jié)果:#include<iostream.h>voidmain(void){inti=10;switch(i){case9:i=i+l;case10:i=i+l;case1l:i=i+l;default:i=i+l;)cout?i?endl;}解:運(yùn)行結(jié)果:13設(shè)計(jì)ー個(gè)程序,判斷從鍵盤輸入的整數(shù)的正負(fù)性和奇偶性。解:#include<iostream.h>voidmain()(inta;coutvv"請(qǐng)輸入整數(shù)";

cin?a;if(a==O)coutvv"偶數(shù),非正非負(fù)(〇)";if(a>0)if(a%2==0)coutvv"偶數(shù)正數(shù)";elsecoutvv"奇數(shù)正數(shù)";)elseif(a%2==0)coutvv"偶數(shù)負(fù)數(shù)";elsecoutvv"奇負(fù)數(shù)";有下列函數(shù):(x<2)(2<x<4)(x24)「ーx+2.5(x<2)(2<x<4)(x24)-2-L5設(shè)計(jì)ー個(gè)程序,從鍵盤輸入x的值,輸出y的值。解:#include<iostream.h>voidmain(){floatx,y;cout?MpleaseInputx:cin?x;if(x<2)y=-x+2.5;elseif(x>=2&&x<4)y=2-1.5*(x-3)*(x-3);elsey=x/2-1.5;cout?"y="?y?endl;)設(shè)計(jì)ー個(gè)程序,從鍵盤輸入a、b、c三個(gè)整數(shù),將它們按照從大到小的次序輸出。解:#include<iostream.h>voidmain(){inta,b,c,temp;cout?HpleaseInputa,b,c:cin?a?b?c;if(a<b){temp=a;a=b;b=temp;) //a與b交換if(a<c){temp=a;a=c;c=temp;} 〃a與c交秧if(b<c){temp=b;b=c;c=temp;} //b與c交換cout?a?At,?b?,\t,?c?endl;)輸入平面直角坐標(biāo)系中一點(diǎn)的坐標(biāo)值(x,y),判斷該點(diǎn)是在那一個(gè)象限中或那一條坐標(biāo)軸上。解:#include<iostream.h>voidmain(){floatx,y;cout?"pleaseInputpalnecoordinate(x,y):cin?x?y;if(x>0&&y>0)cout?,,(',?x?,',n?y?,,)n?HisinfirstquadrantM?endl;elseif(x<0&&y>0)cout?,,(,,?x?,',,,?y?H),,?HisinSecondquadrantu?endl;elseif(x<0&&y<0)cout?,,(',?x?,',,,?y?")n?,"isinthirdquadrantM?endl;elseif(x>0&&y<0)coutvv"("vvxvv","v<yvv")"vv"isinfourquadrant*'?endl;elseif(x==0&&y==0)cout?M(M?x?M,M?y?M)M?Misonorigin"?endl;elseif(x==0&&y!=0)cout?,,(,,?x?,,,,,?y?,,)M?,'isonyaxisH?endl;elseif(x!=0&&y==0)cout?"("vvxvv"Jvvyvv")"vv"isonxaxisn?endl;}簡(jiǎn)單計(jì)算器。設(shè)Hー個(gè)程序計(jì)算表達(dá)式:datalopdata2的值,其中datal、data2為兩個(gè)實(shí)數(shù),op為運(yùn)算符(+、ー、*、ハ,并且都山鍵盤輸入。解:#include<iostream.h>voidmain(){floatx,y;charop;cout?HpleaseInputxopy:cin?x?op?y;switch(op){casecout?x?op?y?',=,'?x+y?endl;break;caseし':cout?x?op?y?,'=n?x-y?endl;break;case**':cout?x?op?y?"="?x*y?endl;break;case7':cout?x?op?y?,,="?x/y?endl;break;default:cout?MInputoperror!M?endl;}}獎(jiǎng)金稅率如下:(a代表獎(jiǎng)金,r代表稅率)av500(元) r=0%500くavlOOO r=3%1000Wav2000 r=5%2000くa<5000 r=8%a25000 r=12%輸入ー個(gè)獎(jiǎng)金數(shù),求稅率、應(yīng)交稅款及實(shí)得獎(jiǎng)金數(shù)。解:#include<iostream.h>voidmain(void){inta,b;floatr,tax,prise;cout?MpleaseInputprize:";cin?a;if(a>=5000)b=10;elseb=a/500;switch(b){case0:u0;break;r=3;break;r=5;break;r=8;break;r=12;break;default:cout?"Inputerror!";}tax=a*r/100;prise=a*(l-r/100);cout?"Taxrate:"?r?"%"?endl;cout?"Tax:M?tax?endl;cout?,'Prise:,'?prise?endl;|寫出下列程序的運(yùn)行結(jié)果:#include<iostream.h>voidmain(void){intn=4;while(—n)cout?n?At*;cout?endl;}答:3 21寫出下列程序的運(yùn)行結(jié)果:#include<iostream.h>voidmain(void){intx=3;docout?x?'\t,;while(!(x—));cout?endl;}答:3寫出下列程序的運(yùn)行結(jié)果:#include<iostream.h>voidmain(void){inti=0,j=0,k=0,m;for(m=0;m<4;m++)switch(m){case〇:i=m++;case1:j=m++;case2:k=m++;case3:m++;}cout?i?V<<j?\t'?k?^'?m?endl;)答:。1 2 5的值。求的值,即求解:的值。include<iostream.h>voidmain(){inti,n;floats;cout?°PleaseInputn:H;cin?n;s=0;i=l;while(i<=n){ s=s+1.0/i;i++;)cout?',s=,'?s?endl;)另解(for語(yǔ)句)include<iostream.h>voidmain(){inti,n;floats;cout?nPleaseInputn:H;cin?n;for(s=0,i=1;i<=n;i++)s=s+1.0/i;cout?ns=n?s?endl;的值(的值(x>l),直到最后ー項(xiàng)小于104為止。解:用當(dāng)型語(yǔ)句求解方法一:include<iostream.h>include<math.h>voidmain(void){inti;floatx,y,z;cout?nPleaseInputx:n;cin?x;if(x>l){i=l;y=l;z=1.0/pow(x,i);while(z>=0.0001){y+=z;i++;z=1.0/pow(x,i);cout?,,y=n?y?,\t'?,'l/xi=M?z?\t,?*,i="?i?endl;elsecout?Hx<=lerror!1';|方法二:#include<iostream.h>voidmain(void){floatx,y,z;cout?"PleaseInputx:";cin?x;if(x>l){y=l;z=1.0/x;while(z>=0.0001){y=y+z;z=z/x;}cout?"y="?y?endl;)elsecout?"x<=1error!";}方法三:include<iostream.h>voidmain(void){floatx,y,t;cout?"PleaseInputx:";cin?x;if(x>l){for(y=l,t=l,O/x;t>=O.OOOl;t=t/x)y=y+t;cout<<"y="?y<<endl;}elsecout?"x<=lerror!";)方法四(直到型)include<iostream.h>include<math.h>voidmain(){inti;floatx,y,z;cout?"PleaseInputx:";cin?x;if(x>l){i=l;y=l;z=1.0/pow(x,i);do{y+=z;i++;z=1.0/pow(x,i);}while(z>=0.0001);cout?,,y=,,?y?V?H1/xi=,,?z?\t'?,,i=H?i?endl;}elsecout?nx<=lerror!n;)輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。解:求兩個(gè)自然數(shù)m與n的最大公約數(shù)采用輾轉(zhuǎn)相除法,設(shè)最小公倍數(shù)(Leasecommonmultiple)為lcm=m*n;最大公約數(shù)(Gretestcommondivisor)為gcdo可采用如下循環(huán)實(shí)現(xiàn):r=m%n;m-n;n-r;直到r=0為止,此時(shí)最大公約數(shù)為gcd=n,最小公倍數(shù)為!cm=lcm/gcd例如:求m=4與n=6的最大公約數(shù):r=4%6=4;m-6;n-4;r=6%4=2;m-4;n-2;r=4%2=0;則最大公約數(shù)gcd=n=2最小公倍數(shù)lcm=4*6/2=12事實(shí)上:4的公約數(shù)為1、2、4,6的公約數(shù)為1、2、3、6,所以兩數(shù)公約數(shù)為1,2,最大公約數(shù)為2。4的公倍數(shù)為4、8、12、16等,6的公倍數(shù)為6、12、18等,所以兩數(shù)最小公倍數(shù)為12〇#include<iostream.h>voidmain(){intm,n,lcm,gcd,r;cout?Mpleaseinputm,n:M;cin?m?n;lcm=m*n;while(m%n!=0){r=m%n;m=n;n=r;)gcd=n;lcm=lcm/gcd;cout?MLeasecommonmultiple=,'?lcm?endl;cout?HGreatestcommondivisor=n?gcd?endl;某月十天內(nèi)的氣溫為:-5、3、4、〇、2、7、〇、5、T、2(℃),編程統(tǒng)計(jì)出氣溫在O°C以上、OC和OC以下各多少天?并計(jì)算出這十天的平均氣溫值。解:#include<iostream.h>voidmain(void){inti,positive=0,zero=0,negative=0;floatf,sum=0,ave;coutvv”請(qǐng)輸入10天的氣溫:";for(i=l;i<=10;i++){cin?f;if(f>0)positive++;elseif(f==0)zero++;elsenegative++;sum+=f;)ave=f710;coutvv”大于零度:“vvpositivevv”天\n等于零度:"vvzerovv”天Xn小于零度:”vvnegativevv"天”vvendl;coutvv”平均溫度:n?ave?endl;}求,即求1!+2!+3!+4!+ +10!。解:#include<iostream.h>voidmain(void){inti,n,k=l;longs=0;cout?uPleaseInputn:”;cin?n;for(i=l;i<=n;i++){k=k*i;s=s+k;}cout?Hs=n?s?endl;)設(shè)用!00元錢買!00支筆,其中鋼筆每支3元,圓珠筆每支2元,鉛筆每支0.5元,問鋼筆、圓珠筆和鉛筆可以各買多少支(每種筆至少買1支)?解:設(shè)鋼筆、圓珠筆和鉛筆各買i、j、k支,則應(yīng)有下列式子成立。3*i+2*j+O.5*k=lOOi+j+k=100用窮舉法將購(gòu)買鋼筆、圓珠筆的數(shù)量用二重循環(huán)遍歷?遍。從中找出符合上述條件的購(gòu)買方法。#include<iostream.h>voidmain(void){inti,j,k;for(i=|;i<=33;i++)for(j=l;j<=49;j++){k=100-i-j;if(k%2==0&&3*i+2*j+k/2==100)cout?,'pen=,'?i?"\tballpen=n<<j?M\tpencil=u?k?endl;)}編程顯示如下圖形:解:#include<iostream.h>voidmain(void){inti,j,n;coutvv”請(qǐng)輸入棱形的對(duì)角線半長(zhǎng)度n:“;cin?n;for(i=l;i<=n;i++)〃畫上半個(gè)棱形{for(j=l;j<=40-i;j++)cout?Hfor(j=1;j<=2*i-1;j++)cout?n*H;cout?endl;Ifor(i=n-l;i>0;i-)〃畫下半個(gè)棱形{for(j=l;j<=40-i;j++)cout?MM;for(j=1;j<=2*i-1;j++)cout?"*H;cout?endl;習(xí)題4什么是數(shù)組?答:數(shù)組是若干個(gè)同類型數(shù)據(jù)元素的集合。ー維數(shù)組與二維數(shù)組在內(nèi)存中是如何存儲(chǔ)的?答:ー維數(shù)組a[n]定義后,系統(tǒng)分配n*k個(gè)連續(xù)存儲(chǔ)單元,用于存放數(shù)組元素值,其中k=元素占用字節(jié)數(shù)。二維數(shù)組a[mHn]定義后,系統(tǒng)分配m*n*k個(gè)連續(xù)存儲(chǔ)單元,用于存放數(shù)組元素值,其中k=元素占用字節(jié)數(shù)。存放方式為按行存放,即先存第一行元素,再存第二行元素,依次把各行元素存入一串連續(xù)的存儲(chǔ)單元中。有如下數(shù)組定義:inta(20J;指出該數(shù)組的數(shù)組名、數(shù)組元素類型、數(shù)組元素個(gè)數(shù)、第一個(gè)數(shù)組元素的下標(biāo)值和最后ー個(gè)數(shù)組元素的下標(biāo)值。答:數(shù)組名為a,數(shù)組元素類型為整型,數(shù)組元素個(gè)數(shù)為20,第一個(gè)數(shù)組元素的下標(biāo)值為〇和最后ー個(gè)數(shù)組元素的下標(biāo)值為19〇#include<iostream.h>voidmain(void){inti,k,a[10],p[3];k=5;#include<iostream.h>voidmain(void){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論