高級(jí)語言程序設(shè)計(jì)C++試題庫_第1頁
高級(jí)語言程序設(shè)計(jì)C++試題庫_第2頁
高級(jí)語言程序設(shè)計(jì)C++試題庫_第3頁
高級(jí)語言程序設(shè)計(jì)C++試題庫_第4頁
高級(jí)語言程序設(shè)計(jì)C++試題庫_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第15頁高級(jí)語言C++程序設(shè)計(jì)一、單項(xiàng)選擇題⒈下列符號(hào)中可作為C語言標(biāo)識(shí)符的是:A)x+y B)12ab C)abc D)for2.C語言if語句中,用于條件判斷的表達(dá)式是: A)關(guān)系表達(dá)式 B)邏輯表達(dá)式 C)算術(shù)表達(dá)式 D)任意表達(dá)式3.循環(huán)語句FORi:=trueTOfalseDOwrite(i);的循環(huán)遍數(shù)為:()

A.無意義;B.1次;C.0次;D.無數(shù)多次;⒋若有如下定義:autointx;而未對(duì)x進(jìn)行賦值,則變量x的值為:A、為0B、為空C、是一個(gè)任意的不可用的數(shù)值D、是一個(gè)任意的不可用的整數(shù)值5、在下列諸錯(cuò)誤中,哪一個(gè)是計(jì)算機(jī)系統(tǒng)不可能發(fā)現(xiàn)的錯(cuò)誤。()

A.以連續(xù)兩個(gè)減號(hào)替代一個(gè)減號(hào);

B.加號(hào)替代減號(hào);

C.在read語句中丟了一個(gè)閉括號(hào);6.下列程序段的輸出結(jié)果是:inti,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf(“%d\n”,m);A)12B)15C7.chr(ord('B')+ord('a')-ord('A'))之值是()

A.2;B.-'b';C.'b';D.ord('b')⒏下列程序輸出的結(jié)果哪個(gè)字母:main(){charx=‘A’;x=(x>=‘A’&&x<=‘Z’)?(x+32):x;printf(“%c\n”,x);}A、AB、aC、ZD、z9.以下程序的輸出結(jié)果是main(){inta[]={2,4,6,8,10},y=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf(“%d\n”,y);}A)17B)18C)19D)2010.(-11)MOD(-3)之值是()

A.3;B.-3;C.2;D.-213.write(2.0=2)輸出之值為()

A.出錯(cuò);B.true;C.false;D.2.014.關(guān)于C++語言的函數(shù),下列敘述中正確的是()。A.函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套B.函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套C.函數(shù)的定義和調(diào)用都不能嵌套D.函數(shù)的定義和調(diào)用都可以嵌套15、設(shè)x和y均為bool量,則x&&y為真的條件是()A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)為假16.關(guān)于類的靜態(tài)數(shù)據(jù)成員,下列描述中正確的是().A.靜態(tài)數(shù)據(jù)成員是類的所有對(duì)象所共有的B.靜態(tài)數(shù)據(jù)成員要在構(gòu)造函數(shù)內(nèi)初始化C.類的每個(gè)對(duì)象有自己的靜態(tài)數(shù)據(jù)成員D.靜態(tài)數(shù)據(jù)成員不能通過類的對(duì)象調(diào)用17、下面的哪個(gè)保留字不能作為函數(shù)的返回類型?()A.voidB.intC.newD.long18.要求通過函數(shù)來實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,可選用()。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸調(diào)用D.嵌套調(diào)用19、假定a為一個(gè)整型數(shù)組名,則元素a[4]的字節(jié)地址為()A.a+4B.a+8C.a+1620.以下關(guān)于構(gòu)造函數(shù)特征的敘述錯(cuò)誤的是()A.構(gòu)造函數(shù)可以重載B.構(gòu)造函數(shù)的函數(shù)名與類名相同C.構(gòu)造函數(shù)必須指定類型D.構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)21、下列變量名中,(

)是合法的。

A

CHINA

B

byte-size

C

double

D

A+a22.在一個(gè)被調(diào)用函數(shù)中,關(guān)于return語句使用的描述錯(cuò)誤的是()。A.被調(diào)用函數(shù)中可以不用return語句B.被調(diào)用函數(shù)中可以使用多個(gè)return語句C.被調(diào)用函數(shù)中的一個(gè)return語句,可以返回多個(gè)值給調(diào)用函數(shù)D.被調(diào)用函數(shù)如果有返回值,就一定要有return語句23、下面那種結(jié)構(gòu)不是C++的控制結(jié)構(gòu)()A順序結(jié)構(gòu)B選擇結(jié)構(gòu)C循環(huán)結(jié)構(gòu)D判斷結(jié)構(gòu)24、下列各種函數(shù)中,(

)不是類的成員函數(shù)。

A

構(gòu)造函數(shù)

B

析構(gòu)函數(shù)

C

友元函數(shù)

D

拷貝構(gòu)造函數(shù)25.以下敘述錯(cuò)誤的是()A.基類的保護(hù)成員在公有派生類中仍然是保護(hù)成員B.基類的保護(hù)成員在私有派生類中是私有成員C.基類的保護(hù)成員不能被派生類的對(duì)象訪問D.基類的保護(hù)成員在派生類中仍然是保護(hù)成員26、C++中,源代碼文件后綴為()A.cppB.objC.exeD.c27、下列(

)是正確的語句。

A

;

B

a=17

C

x+y

D

cout<<"\n"28.定義inta=2,b=3;能正確表示代數(shù)式的C++表達(dá)式是()。A.1.0/a*bB.1/(a*b)C.1/a/(float)bD.1.0/a/b29、循環(huán)while(inti=0)i--;執(zhí)行次數(shù)是(

)。

A

0

B

1

C

5

D

無限30.關(guān)于虛函數(shù)的描述中正確的是()A.虛函數(shù)是虛基類的成員函數(shù)B.虛函數(shù)是一個(gè)非成員函數(shù)C.虛函數(shù)既可以在函數(shù)說明時(shí)定義,也可以在函數(shù)實(shí)現(xiàn)時(shí)定義D.派生類的虛函數(shù)與基類中對(duì)應(yīng)的虛函數(shù)具有相同的參數(shù)個(gè)數(shù)和類型31、設(shè)intf(int);和intg(int);是函數(shù)f和g的原形,以下將f作為語句調(diào)用的是(

)。A

g(f(3));

B

f(g(3));

C

g(f(3)+2);

D

p=f(g(3)+1);32.以下說法中正確的是()。A.C++程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行B.C++程序總是從main函數(shù)開始執(zhí)行C.C++函數(shù)必須有返回值,否則不能使用函數(shù)D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)程序文件中33、設(shè)int*p2=&x,*p1=a;p2=*b;則a和b的類型分別是(

)。

A

int*和int

B

int*和int**

C

int

和int*

D

int*和int*34.在C++的類中,如果某雙目運(yùn)算符被重載為類的成員函數(shù),其參數(shù)的個(gè)數(shù)只能為()。A.一個(gè)B.兩個(gè)C.三個(gè)D.零個(gè)35、設(shè)intx;,則經(jīng)過(

)后,語句*px=0;可將x值置為0。

A

int*px;

B

intconst*px=&x;

C

int*constpx=&x;

D

constint*px=&x;36、下列是C++語言中合法標(biāo)識(shí)符的是( )。A.3three B.if C._1one D.while37、如果一個(gè)函數(shù)可以在定義中直接或間接的調(diào)用自己,這樣的函數(shù)稱為( )。A.函數(shù)聲明 B.嵌套函數(shù) C.定義函數(shù) D.遞歸函數(shù)38、設(shè)voidf1(int*m,long&n);inta;longb;則以下調(diào)用合法的是(

)。

A

f1(a,b);

B

f1(&a,b);

C

f1(a,&b);

D

f1(&a,&b);39、下列是合法的C++語言語句的是( )。A.if(x>0)thenx=x-1;elsex=x+1;B.if(x>0)x=x-1;elsex=x+1;C.ifx>0x=x-1;elsex=x+1;D.ifx>0x=x-1;40、以下結(jié)構(gòu)類型可用來構(gòu)造鏈表的是(

)。

A

structaa{inta;int*b;};

B

structbb{inta;bb*b;};

C

structcc{int*a;ccb;};

D

structdd{int*a;aab;};41、下面那一種不是計(jì)算機(jī)內(nèi)部表示整數(shù)的方法()A二進(jìn)制碼B原碼C補(bǔ)碼D反碼42、使用操作符setw對(duì)數(shù)據(jù)進(jìn)行格式輸出時(shí),需要包含(

)文件。

A

iostream.h

B

fstream.h

C

iomanip.h

D

stdlib.h43、表達(dá)式0x55^0xB4的結(jié)果為( )。A.0xF5 B.0x15 C.0xE1 D.0x1E44、在C++語言中,下列數(shù)為合法的實(shí)數(shù)的是( )。A.5E-3 B.5E-3.5 C.E5 D.-3.5E45、設(shè)inta=3,*p=&a;,則*p的值是(

)。

A

變量a的地址值

B

無意義

C

變量p的地址值

D

346、C++語言中數(shù)據(jù)類型最大的是()AlongBfloatCintDchar47、在每個(gè)C++程序中都必須包含有這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為()A.mainB.MAINC.nameD.function48、0X5A&0XB7結(jié)果是()A0X13B0X12C0X14D0X15二、填空題49、程序的基本控制結(jié)構(gòu)包括( )、( )和( )。50、C++目標(biāo)程序經(jīng)()后生成擴(kuò)展名為exe的可執(zhí)行程序文件。51、用來解決問題的,與有限多個(gè)步驟組成的具體過程稱為()。52.16位計(jì)算機(jī)中整型占()個(gè)字節(jié)存儲(chǔ)空間。53、整數(shù)類型變量a和b被初始化為3和10,則循環(huán)語句while(a<=b)a=a+2;共執(zhí)行( )次,執(zhí)行完語句后a的值為( ),b的的值為( )。54.要在屏幕上顯示"Hello,world!"應(yīng)執(zhí)行語句cout<<()55.表達(dá)式8&3的結(jié)果是()。56、在程序編譯階段的錯(cuò)誤主要分為兩類( )和( )。57、計(jì)算機(jī)中的數(shù)據(jù)可以分為()和()兩大類。58.作為語句的函數(shù)調(diào)用是通過()來體現(xiàn)的。59、字符型數(shù)據(jù)有兩種編碼方法:()和()60.設(shè)一維整型數(shù)組data已進(jìn)行了初始化,則其元素個(gè)數(shù)可由操作符sizeof通過表達(dá)式()計(jì)算出來。61、通過C++語言中的()機(jī)制,可以從現(xiàn)存類中構(gòu)建其子類。62.執(zhí)行if(x>=0||x<=0)cout<<"abcd";elsecout<<"wxyz";屏幕上顯示的是()。63.若一全局變量只允許本程序文件中的函數(shù)使用,則定義它時(shí)應(yīng)加上修飾符()。64、封裝要求一個(gè)對(duì)象應(yīng)具備明確的功能,并具有()以便和其它對(duì)象相互作用。65.設(shè)有intw[3][4];,pw是與數(shù)組名w等價(jià)的數(shù)組指針,則pw應(yīng)初始化為()。66、軟件工程中認(rèn)為影響一個(gè)程序質(zhì)量的主要因素包括( )、( )、( )、( )和( )等方面。而面向?qū)ο蟮某绦蛟O(shè)計(jì)特別強(qiáng)調(diào)軟件質(zhì)量的兩個(gè)方面( )和( )。67、15/3=(),16/3=(),15%3=(),16%3=()68、0XB4<<2及10110100向左連移兩次,結(jié)果為(),即0XD0,0XB4>>2即10110100向右連移動(dòng)兩次,邏輯右移的結(jié)果為(),即0X2D69.要使引用pr代表變量char*p;,則pr應(yīng)初始化為()。70、一種語言主要由()和()兩部分組成。71、為了讓編譯程序了解數(shù)據(jù)所屬的類型,同常程序設(shè)計(jì)語言都尊循“()”的原則。72、C++語言中的數(shù)據(jù)可分為()和()兩大類。三、判斷題73、構(gòu)造函數(shù)和析構(gòu)函數(shù)都可以有形參。()74、結(jié)構(gòu)化程序設(shè)計(jì)方法的主要技術(shù)是自頂向下、逐步求精,采用單入口/單出口的控制結(jié)構(gòu)。()75、在C++中,由new申請(qǐng)的動(dòng)態(tài)內(nèi)存空間,系統(tǒng)不會(huì)自動(dòng)釋放,需要通過調(diào)用delete命令來釋放。()76、帶有純虛函數(shù)的類稱為抽象類。()77、類是用戶定義的類型,具有類類型的變量稱作對(duì)象。()78、程序中以“//”開頭直至該行行尾的內(nèi)容成為注釋,用于說明或者解釋程序的功能。()79、在類的定義中,說明為protected的數(shù)據(jù)成員稱為保護(hù)成員。保護(hù)成員具有雙重作用:對(duì)于其派生類而言相當(dāng)于共有成員,而對(duì)于其外部的程序而言相當(dāng)于私有成員.()80、在公有繼承的情況下,基類中所有的成員都能被繼承,并且訪問權(quán)限保持不變。()抽象類只能作為基類來使用,不能用來聲明對(duì)象。()82、虛函數(shù)是動(dòng)態(tài)聯(lián)編的基礎(chǔ).()83、C++中,對(duì)基本數(shù)據(jù)類型的常量與變量進(jìn)行加工的過程成為運(yùn)算,表示各種不同運(yùn)算的符號(hào)成為運(yùn)算符,參與運(yùn)算的數(shù)據(jù)成為操作數(shù)。()84、當(dāng)將一個(gè)函數(shù)說明為類A的友元類時(shí),該函數(shù)可以直接訪問類A的所有成員。()85、表達(dá)式a?b=0:b=1,的求值次序是(a?(b=0):b)=1)()86、基類的公有成員一定能被派生類的對(duì)象訪問。()87、組成C++程序的最小單位是單詞,C++程序有5種單詞,保留字,標(biāo)志符、常量、運(yùn)算符和分界符。()四、完成程序題88、輸入十進(jìn)制整數(shù),轉(zhuǎn)換并輸出等值的八進(jìn)制數(shù),轉(zhuǎn)換功能用具有兩個(gè)參數(shù)的過程表示。

程序:

PROGRAMtrans(input,output);

VARten,eight:integer;

PROCEDUREchange____________________VARt,i:integer;

a:ARRAY[1..100]OF0..9;

BEGIN

i:=1;

REPEAT__________________m:=mDIV8;

i:=i+1

UNTILm=0;

t:=i-1;n:=0;

FORi:=1TOtDO

n:=n*10+______________________________END;

BEGIN

writeln('Pleaseinput!');

read(ten);

change(ten,eight);

writeln(eight)

END.89、下面程序的功能是統(tǒng)計(jì)子串substr在母串str中出現(xiàn)的次數(shù),請(qǐng)?zhí)羁?。main(){charstr[80],substr[80];intn;gets(str);gets(substr);printf(“%d\n”,count(str,substr));}count(char*str,char*substr){inti,j,k,num=0;for(i=0;①;i++)for(②,k=0;*(str+j)==*(substr+k);k++,j++)if(substr[③]==‘\0’){num++;break;}return(num);}90、計(jì)算并輸出下列擺動(dòng)級(jí)數(shù):

1,-3/1!,5/2!,-7/3!,...,(-1)i*(2i+1)/i!,...

前若干項(xiàng)之和,使誤差不超過10-4。

程序:

PROGRAMgrade(output);

VAR

i,j,n:integer;

x,y:real;

BEGIN

i:=1;x:=1;y:=0;n:=1;

REPEAT

FORj:=1TOiDO

n:=n*j;

IF___________________THENy:=-(2*i+1)/n

ELSEy:=(2*i+1)/n;

x:=x+y;i:=i+1;________________________UNTIL________________________writeln(x:14:5)

END.91.以下程序調(diào)用invert函數(shù)按逆序重新放置a數(shù)組中元素的值,a數(shù)組中的值在main函數(shù)中讀入,請(qǐng)?zhí)羁铡#?分)#defineN10voidinvert(int*s,inti,intj){intt;if(i<j){t=*(s+i);①;*(s+j)=t;invert(s,②,j-1);}}main(){③;for(i=0;i<N;i++)scanf(“%d”,④);invert(a,0,N-1);for(i=0;i<N;i++)printf(“%d”,a[i]);}92、輸入一個(gè)大于5的奇數(shù),驗(yàn)證哥德巴赫猜想之一:任何大于5的奇數(shù)都可表示為3個(gè)素?cái)?shù)之和(且不唯一),輸出被驗(yàn)證之?dāng)?shù)及各種可能的組成。要求將“判斷某整數(shù)n是否為素?cái)?shù)”編為一個(gè)函數(shù)。

程序:PROGRAMgoldbach(input,output);

VARi,j,m:integer;

FUNCTIONprime(n:integer):boolean;

VARp:integer;

BEGIN

prime:=true;

FORMp:=2TOnDIV2DO

IF_____________________________THENprime:=false

END;

BEGIN

readln(m);

IF___________________________THENBEGIN

FORi:=2TOmDO

IF___________________________THENFORj:=2TOm-i-2DO

IF__________________________THEN

writeln(m:4,'=',i:4,'+',j:4,'+',m-i-j:4)

END

ELSEwriteln('Inputerror!')

END.93.下面是一個(gè)從數(shù)組a中找出最小元素的函數(shù)模板,填上適當(dāng)字句使函數(shù)模板定義完整。#include<iostream.h>template<typenameT>TMax(Ta[],intn){ intpos=①______________________; for(intk=1;k<n;k++) if(a[k]<a[pos]) pos=②______________________; returna[pos];}94.在下面橫線處填上適當(dāng)字句,完成類定義。#include<string.h>classBirthDay{private: intyear,month,day;public: BirthDay(inty,intm,intd){year=y;month=m;day=d;} voiddisplay(){ cout<<""<<year<<"-"<<month<<"-"<<day<<""; }};classStudent{private: charname[9]; charsex; BirthDaybirth;public: Student(char*xm,charxb,inty,intm,intd):①______________________ { strcpy(name,xm); sex=xb; } voiddisplay(void) { cout<<name<<""<<sex; ②______________________;//顯示生日信息 cout<<endl; }};voidmain(){ Studentp1("張三",'M',1988,12,25); p1.display();}95.在橫線處填上適當(dāng)字句,完成下面復(fù)數(shù)類的定義。#include<iostream.h>classComplex{private: doublereal,image;public: Complex(doubler=0,doublei=0){real=r;image=i;} friendComplexoperator+(Complex&a,constComplex&c);//復(fù)數(shù)加法運(yùn)算符 Complexoperator=(Complexc2);//復(fù)數(shù)賦值運(yùn)算符 };Complexoperator+(Complex&a,constComplex&b){ Complextemp(①______________________); returntemp;}ComplexComplex::operator=(Complexc2){ real=c2.real; image=c2.image; return(②______________________);}96.請(qǐng)?jiān)跈M線處填上適當(dāng)?shù)淖志?,以使程序完整?include<iostream.h>#include"math.h"classPoint {private: dou

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論