c++復(fù)習(xí)題及答案_第1頁
c++復(fù)習(xí)題及答案_第2頁
c++復(fù)習(xí)題及答案_第3頁
c++復(fù)習(xí)題及答案_第4頁
c++復(fù)習(xí)題及答案_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、選擇題在每個C++程序中都必須包具有這樣一種函數(shù),該函數(shù)的函數(shù)名為

A

。A.main

B.MAIN

C.name

D.function若a,b均為int型變量,為了將10賦給a,將20賦給b,則對應(yīng)如下cin語句的對的輸入方式為B。(<CR>代表回車換行,_代表空格)。cin>>a>>b;A.1020<CR>B.10_20<CR>C.10,20<CR>D.20_10<CR>在如下有關(guān)C++語言的注釋的論述中,不對的的是C。A.C++程序中,注釋可用"/*"、"*/"形式表達(dá),也可用"http://"形式表達(dá)B.C++編譯器在編譯一種程序時,將跳過注釋,不對其進(jìn)行處理C.C++編譯器在編譯一種程序時,可發(fā)現(xiàn)注釋中的單詞拼寫錯誤D.程序中注釋的多少不會影響所生成的可執(zhí)行文獻(xiàn)的長度如下論述不對的的是C。A.在C++程序中,嚴(yán)格辨別大小寫字母B.一種C++源程序有且僅有一種main函數(shù)C.在C++程序中,注釋只能位于一條語句的背面D.一種C++程序總是從main函數(shù)開始執(zhí)行C++語言對C語言做了諸多改善,C++語言相對于C語言的最主線的變化是DA.增長了某些新的運算符B.容許函數(shù)重載,并容許設(shè)置缺省參數(shù)C.規(guī)定函數(shù)闡明符必須用原型D.引進(jìn)了類和對象的概念C++是C面向?qū)ο蟮某绦蛟O(shè)計語言構(gòu)造化程序設(shè)計語言既是面向?qū)ο蟮某绦蛟O(shè)計語言又是構(gòu)造化程序設(shè)計語言非構(gòu)造化程序設(shè)計語言下列合法的標(biāo)識符為Dabde+B.#KDJFC.67KDJD.DK3_有關(guān)字符串和字符的關(guān)系對的的是C“A”與’A’是相似的字符串是常量,字符是變量“A”與’A’是不一樣的if(x>y){z=x;s=z*z;}else{z=y;s=1/(z*z);}if(x>y)z=x;s=z*z;elsez=y;s=1/(z*z);“if(x>y){z=x;s=z*z;}else{z=y;s=1/(z*z);}if(x>y)z=x;s=z*z;elsez=y;s=1/(z*z);下面有關(guān)語句的說法對的的是B下面這兩段程序的執(zhí)行效果是一致的空語句是只有一種分號的語句,它其實什么也不干語句的構(gòu)成不一定需要分號語句的書寫對程序的運行不起作用,因此可以隨便寫都可以如下各標(biāo)識符中,合法的顧客標(biāo)識符組為D。PAd,P#d,b-b,abc,_0123,ssipedcin,a10,CPP,float,del_word,signedvoid,max,hiy,<fr>,list,*jera,temp,_isw,INT,keep,wind在VC++中,如下語句的輸出為D。shortintk=-1;cout<<k<<','<<(unsignedshort)k<<endl;A.-1,-1B.-1,32767C.-1,32768D.-1,65535若給出如下程序,其輸出為B。#include<iostream>usingnamespacestd;intmain(){inta=4,b=7;cout<<(a=a+1,b+a,b+1)<<endl;return0;}A.5B.8C.11D.程序有錯誤,無法運行字符串“\”EOF=-\61\””的長度是A。A.8B.9C.12D.非法字符串?dāng)?shù)學(xué)式在C++程序中對應(yīng)對的的體現(xiàn)式為B。A.sqrt(sin(x)>0?sin(x):-sin(x))B.sqrt(fabs(sinx))C.sqrt(sqrt(sinx*sinx))D.fabs(sqrt(sin(x)))下列A是C++語言的有效標(biāo)識符?A._No1 B.No.1C.12345 D.intC++語言中,表達(dá)一條語句結(jié)束的標(biāo)號是BA.# B.;C.// D.}每個C++程序中都必須有且僅有一種CA.類 B.預(yù)處理命令C.主函數(shù) D.語句下列數(shù)據(jù)類型不是C++語言基本數(shù)據(jù)類型的是D。A.字符型B.整型C.實型D.?dāng)?shù)組下列字符列中,可作為C++語言程序自定義標(biāo)識符是B。A.switchB.fileC.breakD.do運算符+、<=、=、%中,優(yōu)先級最低的運算符是C。A.+B.<=C.=D.%下列字符列中,可以作為“字符串常量”的是B。A.ABCB.″xyz″C.′uvw′D.′a′設(shè)變量m,n,a,b,c,d均為0,執(zhí)行(m=a==b)||(n=c==d)后,m,n的值是D。A.0,0B.0,1C.1,0D.1,1字符串"vm\x43\\\np\102q"的長度是A。A.8B.10C.17D.16

在C++語言中,自定義的標(biāo)識符D。A.能使用關(guān)鍵字并且不辨別大小寫B(tài).不能使用關(guān)鍵字并且不辨別大小寫C.能使用關(guān)鍵字并且辨別大小寫D.不能使用關(guān)鍵字并且辨別大小寫設(shè)有代碼“inta=5;”,則執(zhí)行了語句“a+=a-=a*a;”后,變量a的值是C。A.3B.0C.-40D.–12設(shè)a為5,執(zhí)行下列代碼后,b的值不為2的是C。A.b=a/2B.b=6-(--a)C.b=a%2D.b=a<3?3:2設(shè)x和y均為bool量,則x&&y為真的條件是

A

。A.它們均為真

B.其中一種為真

C.它們均為假

D.其中一種為假若給定條件體現(xiàn)式(m)?(a++):(a--),則其中體現(xiàn)式mC。A.和(m==0)等價B.和(m==1)等價C.和(m!=0)等價D.和(m!=1)等價在C++語言的if語句中,用作判斷的體現(xiàn)式為D。A.關(guān)系體現(xiàn)式B.邏輯體現(xiàn)式C.算術(shù)體現(xiàn)式D.任意體現(xiàn)式設(shè)i和k都是int類型,則如下for循環(huán)語句B。for(i=0,k=-1;k=1;i++,k++)cout<<"****\n";A.判斷循環(huán)結(jié)束的條件不合法B.是無限循環(huán)C.循環(huán)體一次也不執(zhí)行D.循環(huán)體只執(zhí)行一次若有如下語句,則輸出成果為A。inta=2,b=1;cout<<a>b?"a不小于b":"a不不小于b"<<endl;A.a不小于bB.a不不小于bC.1D.輸出語句有錯intk=10;while(k=0)k=k-1;則下面描述對的的是C。A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次inta=1,b=2,c=2,t;while(a<b){t=a;a=b;b=t;c--;}cout<<a<<”,”<<b<<”,”<<c;運行成果為D。A.1,2,0B.2,1,0C.1,2,1D.2,1,1intx=-1;do{x=x*x;}while(!x);下列說法對的的是C。A.是死循環(huán)B.循環(huán)執(zhí)行兩次C.循環(huán)執(zhí)行一次D.有語法錯誤

如下能對的計算1*2*3*…*10的程序段是C。A.

do{i=1;s=1;B.do{i=1;s=0;s=s*i;i++;}s=s*i;i++;}while(i<=10);while(i<=10);C.i=1;s=1;D.i=1;s=0;do{s=s*i;do{s=s*i;i++;}i++;}while(i<=10);while(i<=10);如下描述對的的是C。A.由于do-while循環(huán)中循環(huán)體語句只是一條可執(zhí)行語句,因此循環(huán)體內(nèi)不能使用復(fù)合語句B.do-while循環(huán)由do開始,用while結(jié)束,在while(體現(xiàn)式)背面不能寫分號C.在do-while循環(huán)體中,一定要有能使while背面體現(xiàn)式的值變?yōu)榱悖ā凹佟保┑牟僮鱀.do-while循環(huán)中,根據(jù)狀況可以省略whileC++中while和do-while循環(huán)的重要區(qū)別是A。A.do-while的循環(huán)體至少無條件執(zhí)行一次B.while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格C.do-while容許從外部轉(zhuǎn)到循環(huán)體內(nèi)D.do-while的循環(huán)體不能是復(fù)合語句下面有關(guān)for循環(huán)的對的描述是D。A.for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的狀況B.for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷體現(xiàn)式C.for循環(huán)中,不能用break語句跳出循環(huán)體D.for循環(huán)的循環(huán)體語句中,可以包括多條語句,但必須用花括號括起來對for(體現(xiàn)式1;;體現(xiàn)式3)可理解為B。A.for(體現(xiàn)式1;0;體現(xiàn)式3)B.for(體現(xiàn)式1;1;體現(xiàn)式3)C.for(體現(xiàn)式1;體現(xiàn)式1;體現(xiàn)式3)D.or(體現(xiàn)式1;體現(xiàn)式3;體現(xiàn)式3)for(i=2;i==0;)printf(“%d”,I--);循環(huán)執(zhí)行的次數(shù)是B。A.無限次B.0次C.1次D.2次在C++編程語言中,如下對的的描述是B。A.continue語句的作用是結(jié)束整個循環(huán)的執(zhí)行B.只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句C.在循壞體內(nèi)使用break語句或continue語句的作用相似D.從多層循環(huán)嵌套中退出,只能使用goto語句下面程序段D。for(t=1;t<=100;t++){cin>>x;if(x<0)continue;cout<<t;}A.當(dāng)x<0時整個循環(huán)結(jié)束B.x>=0時什么也不輸出C.cout永遠(yuǎn)也不執(zhí)行D.最多容許輸出100個非負(fù)整數(shù)定義一種函數(shù)實現(xiàn)互換x和y的值,并將成果對的返回??梢詫崿F(xiàn)此功能的是C。A.swap(intx,inty){intt;t=x;x=y;y=t;}B.swap(int*x,int*y){intt;t=x;x=y;y=t;}C.swap(int*x,int*y){intt;t=*x;*x=*y;*y=t;}D.swap(int*x,int*y){int*t;t=x;x=y;y=t;}闡明語句"int(*p)();"的含義是C。A.p是一種指向一維數(shù)組的指針變量B.p是指針變量,指向一種整型數(shù)據(jù)C.p是一種指向函數(shù)的指針,該函數(shù)的返回值是一種整型D.以上都不對設(shè)有闡明int(*p)[4];其中的標(biāo)識符p是C。A.4個指向整型變量的指針變量B.指向4個整型變量的函數(shù)指針C.一種指向具有4個整型元素的一維數(shù)組的指針D.具有4個指向整型變量的指針元素的一維指針數(shù)組若有如下申明,下列說法錯誤的是C。structem{chara;charb;};A.struct是構(gòu)造體類型關(guān)鍵字B.em是構(gòu)造體類型名C.em是顧客申明的構(gòu)造體變量D.a,b是構(gòu)造體組員名若有下列定義,則對構(gòu)造體變量的組員引用錯誤的是C。structdate{intyear;intmonth;intday;};structstudent{intno;charname[16];datebirthday;}stud;A.stud.noB.C.stud.birthdayD.stud.birthday.year下列論述中,不對的的是B。A.類的構(gòu)造函數(shù)可以重載B.類的析構(gòu)函數(shù)可以重載C.一種類可以不定義構(gòu)造函數(shù)D.一種類可以不定義析構(gòu)函數(shù)已知宏定義:#defineN3#defineY(n)((N+1)*n)((N+1)*5+1)執(zhí)行語句z=2*(N+Y(5+1));后,變量z的值是B。A.42B.48C.52D.出錯類的構(gòu)造函數(shù)的作用是CA)一般組員函數(shù)的初始化 B)類的初始化C)對象的初始化 D)刪除類創(chuàng)立的對象下列說法對的的是BA)內(nèi)置函數(shù)在運行時是將該函數(shù)的目的代碼插入每個調(diào)用該函數(shù)的地方B)內(nèi)置函數(shù)在編譯時是將該函數(shù)的目的代碼插入每個調(diào)用該函數(shù)的地方C)類的內(nèi)置函數(shù)必須在類體內(nèi)定義D)類的內(nèi)置函數(shù)必須在類體外通過加關(guān)鍵字inline定義二、填空題程序的三種基本的控制構(gòu)造是:次序構(gòu)造、選擇構(gòu)造、選擇構(gòu)造假定一種構(gòu)造類型定義為:“struct

D{int

a;

union{int

b;double

c;};D

*d[2];};”,則該類型的大小為

20

字節(jié)。C++語言中的每條基本語句以

作為結(jié)束符,每條復(fù)合語句以

}

作為結(jié)束符。關(guān)系體現(xiàn)式x+y>5的相反體現(xiàn)式為

x+y<=5

。下面的程序段中循環(huán)體的執(zhí)行次數(shù)是3。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);下面程序段的運行成果為**。x=2;do{cout<<“*”;x--;}while(!x==0);定義內(nèi)置函數(shù)的措施是在函數(shù)的返回值類型之前增長關(guān)鍵字inline。假定a為一種整型數(shù)組名,則元素a[4]的字節(jié)地址為

a+16

。假定一種一維數(shù)組的定義為“char

a[8];”,則該數(shù)組所含元素的個數(shù)為

8

,所占存儲空間的字節(jié)數(shù)為

32

。已知inta[3][2]={3,2,1};則體現(xiàn)式“a[0][0]/a[0][1]/a[0][2]”的值是1。若用數(shù)組名作為函數(shù)調(diào)用時的實參,則實際上傳遞給形參的是數(shù)組首地址。假如一種函數(shù)無返回值,定義它時函數(shù)類型應(yīng)是void。預(yù)處理命令以#開頭。假定a是一種二維數(shù)組,則a[i][j]的指針訪問方式為

*(a[i]+j)

*(*(a+i)+j)

。C++在編譯時,可以將所調(diào)用函數(shù)的代碼直接嵌入到主調(diào)函數(shù)中,而不是將流程轉(zhuǎn)出去。這種嵌入到主調(diào)函數(shù)中的函數(shù)稱為內(nèi)置函數(shù)。使用內(nèi)置函數(shù)可以節(jié)省運行時間,但卻增長了目的函數(shù)的長度。C++容許用同一函數(shù)名定義多種函數(shù),這些函數(shù)的參數(shù)個數(shù)和參數(shù)類型不一樣。這就是函數(shù)的重載。運用C++編程語言可以建立一種通用函數(shù),其函數(shù)類型和形參類型不詳細(xì)指定,用一種虛擬的類型來代表。這個通用函數(shù)就稱為函數(shù)模板。對一種類中的數(shù)據(jù)組員的初始化可以通過構(gòu)造函數(shù)中的

初始化表

實現(xiàn),也可以通過構(gòu)造函數(shù)中的

函數(shù)體

實現(xiàn)。假定AB為一種類,則執(zhí)行“AB

a[10];”語句時,系統(tǒng)自動調(diào)用該類的構(gòu)造函數(shù)的次數(shù)為

10

。三、填空完畢下面的程序#include<iostream>usingnamespacestd;intmain(){inta,b,c,x;cin>>a;cout<<"a="<<a<<endl;cin>>b;cout<<"b="<<b<<endl;cin>>c;cout<<"c="<<c<<endl;if(a==b&&b==c)cout<<"thethreenumbersareeauql"<<endl;else{if(a>b&&a>c)x=a;elseif(b>c)x=b; elsex=c;cout<<"thegreatestnumberis:"<<x<<endl;}return0;}下面程序段是從鍵盤輸入的字符中記錄數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán),請?zhí)羁胀戤叧绦颉ntn=0,c;c=getchar();while(c!='\n'){if(c>='A'&&c<='Z'||c>='a'&&c<='z')n++;c=getchar();}雞、兔共有30只,腳共有90個,下面程序段是計算雞兔各有多少只,x代表有多少只雞,y代表有多少只兔子,請?zhí)羁胀戤叧绦?。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout<<x<<""<<y;}下面的程序是求2個或3個正整數(shù)中的最大數(shù),用帶有默認(rèn)參數(shù)的函數(shù)實現(xiàn)。請?zhí)羁胀戤叧绦颉?include<iostream>usingnamespacestd;intmain(){intmax(inta,intb,intc=0);inta,b,c,m1,m2;cin>>a>>b>>c;m1=max(a,b,c);m2=max(a,b);cout<<"a,b,c三個正整數(shù)中的最大數(shù)為:"<<m1<<endl;cout<<"a,b兩個正整數(shù)中的最大數(shù)為:"<<m2<<endl;return0;}intmax(inta,intb,intc){if(b>a)a=b;if(c>a)a=c;returna;}四、給出下列程序運行后的輸出成果#include<iostream>usingnamespacestd;voidSB(charch){switch(ch){case'A':case'a':

cout<<"well!";break;case'B':case'b':

cout<<"good!";break;case'C':case'c':

cout<<"pass!";break;

default:

cout<<"bad!";break;

}}intmain(){chara1='B',a2='c',a3='f';SB(a1);SB(a2);SB(a3);SB('A');cout<<endl;return0;}答案:good!

pass!

bad!

well!#include<iostream>usingnamespacestd;intmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}cout<<a<<endl;return0;}答案:8#include<iostream>usingnamespacestd;main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<“x=”<<x<<endl;}答案:x=8#include<iostream>usingnamespacestd;main(){inti;for(i=1;i<=5;i++){if(i%2)cout<<“*”;elsecontinue;cout<<“#”;}cout<<“$\n”;}答案:*#*#*#$#include<iostream>usingnamespacestd;voidmain(){intI,j,a=0;for(I=0;I<2;I++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}cout<<a<<endl;}答案:4運行如下程序時,從鍵盤鍵入right?請給出回車后運行的成果。#include<iostream>usingnamespacestd;voidmain(){charc;while((c=getchar())!='?')putchar(++c);}答案:sjhiu#include<iostream.h>voidmain(){intI;for(I=1;I<=5;I++)switch(I%2){case0:I++;cout<<"#";break;case1:I+=2;cout<<"*";default:cout<<"\n";}}答案:*##include<iostream>usingnamespacestd;inta=5;intmain(){inta=10,b=20;{inta=0,b=0;for(inti=1;i<6;i++){a+=i

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論