C++程序設(shè)計-模擬題答案 中國地質(zhì)大學(xué)_第1頁
C++程序設(shè)計-模擬題答案 中國地質(zhì)大學(xué)_第2頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C+程序設(shè)計模擬題一、單項選擇題1.下列為合法的c+常量的是( ).A.105B.BeC.x-yD.07ff正確答案是:C 2.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為( ).A.intB.floatC.doubleD.不確定正確答案是:C 3.以下語句中無法正確賦值的是( ).A.charb10=H,e,l,l,o,!B.charb10;b=Hello!C.char*b;b=Hello!D.charb10=Hello!正確答案是:B 4.以下程序的輸出結(jié)果是( ).#includevoid main() int i,j,x=0; for(i=0;i2;i+) x+; for(j=

2、0;j3;j+) if(j%2) continue; x+; x+; coutxendl;A.4B.8C.6D.12正確答案是:B 5.設(shè)有定義:unsigned op=2,則與語句op=1等價的語句為( ).A.op*=2B.op/=2C.op*=4D.op/=4正確答案是:A 6.c+語言源程序文件的擴(kuò)展名是( ).A.cppB.objC.exeD.c+正確答案是:A 7.c+語言程序中可以對程序進(jìn)行注釋,注釋部分必須用符合( )括起來.A.和B.和C.(*和*)D./*和*/正確答案是:D 8.已知字符b的ascII碼為98,執(zhí)行printf(%d,%c,b,b+1);語句后輸出為( )

3、.A.98,bB.語句不合法C.98,99D.98,c正確答案是:D 9.以下各項中,為非法常量數(shù)值的是( ).A.11B.18C.0 xabcdD.5L正確答案是:B 10.下列程序運行后,輸出結(jié)果是( ).#include void main() int i=0,j=0,a=6;if(+i0)|(+j0) a+;couti=i,j=j,a=aendl;A.i=0,j=0,a=6B.i=1,j=1,a=7C.i=1,j=0,a=7D.i=0,j=1,a=7正確答案是:C 11.表達(dá)式-1? (0?0:-1):(10?10:1)的值為( ).A.10B.1C.0D.-1正確答案是:D 12.以

4、下關(guān)于函數(shù)的敘述正確的是( ).A.函數(shù)中必須要有return語句B.函數(shù)中可以有多個return語句,但只有一個被執(zhí)行C.return語句中必須有一個表達(dá)式D.函數(shù)中定義的變量不能與其它函數(shù)中的變量同名正確答案是:B 13.若有以下的定義和語句,則值為5的表達(dá)式是( ).int a=1,2,3,4,5,6,7,8,9,10;A.a5B.aa4C.aa3D.aa5正確答案是:C 14.設(shè)有以下結(jié)構(gòu)體定義,則以下能輸出字符串grape的語句為( ).struct ww int no; char name10; cc4=1, apple,2, banana,3, grape,4, orange;A

5、.coutcc2&name0endlB.coutcc2name0endlC.coutcc2&nameendlD.coutcc2nameendl正確答案是:D 15.下面程序段的輸出結(jié)果是( ).char p110= abc, p2=ABC, str50= xyz;strcpy(str+2, strcat(p1,p2);coutstrendl;A.xyabcABCB.ZabcABCC.YzabcABCD.xyzabcABC正確答案是:A 16.以下選項中不正確的實型常量是( ).A.2.3B.0.23C.1E3.6D.2.3正確答案是:C 17.若a,b都是int類型變量,( )不是正確的賦值語

6、句.A.a=b=60B.a=30C.a=1,3D.b=0正確答案是:C 18.下列各語句定義了數(shù)組,( )是不正確的.A.inta13B.intx22=1,2,3,4C.intx2=1,2,4,6D.intm3=1,2,3,4,5,6正確答案是:C 19.a,b均為double型變量,且a5.5,b2.5,則(int)a+b/b的值是( ).A.6.5B.6C.5.5D.6正確答案是:D 20.以下各標(biāo)識符中,正確的標(biāo)識符是( ).A.a-bB.123_C._123D.signed正確答案是:C 21.以下不能用作標(biāo)識符的是( ).A._26B.coutC.caseD.Double正確答案是:

7、C 22.滿足x為奇數(shù)時值為真,x為偶數(shù)時值為假的表達(dá)式是( ).A.!(x%2=1)B.x%2=0C.x%2D.!(x%2)正確答案是:C 23.在定義int * p 3;中,標(biāo)識符p( ).A.是一個指向整型變量的指針B.是一個指針數(shù)組,包含3個指向整型數(shù)據(jù)的指針變量C.是一個函數(shù)指針,可以指向返回值類型為int型的函數(shù)D.是一個指針變量,它可以指向一個具有三個元素的一維數(shù)組正確答案是:B 24.以下程序的輸出結(jié)果是( ). char ss16= test0abcnt; coutstrlen(ss),sizeof(ss)endl;A.4,16B.11,16C.11,11D.4,11正確答案

8、是:A 25.以下程序段的輸出結(jié)果為( ).union uchar *name; int age; int income; s;=WangLing;s.age=28;s.income=1000; couts.agey)1+2B.if(x=y)&(x!=0)x+=yC.if(x!=y)cinx;elsecinyD.if(x10?20:(x+5);后,x的值為( ).A.10B.20C.25D.30正確答案是:A 二、問答題1.標(biāo)識符的命名規(guī)則是什么?正確答案是:由字母,數(shù)字,下劃線組成(2分),第一個字符只能是字母或下劃線(2分). 2.在C+語言中,重載有哪幾種方式?正確答案是:函

9、數(shù)重載和運算符重載 3.說明在派生類定義中,基類前public,private,protected是什么意思?正確答案是:不同的繼承方式,導(dǎo)致不同訪問屬性的基類成員在派生類中的訪問屬性也有所不同:(1)public公有繼承,使得基類公有和保護(hù)成員的訪問屬性在派生類中不變,而基類私有成員不可訪問.(2)private私有繼承,使得基類公有和保護(hù)成員都以私有成員身份出現(xiàn)在派生類中,而基類私有成員不可訪問.(3)protected保護(hù)繼承,基類公有和保護(hù)成員都以保護(hù)成員身份出現(xiàn)在派生類中,而基類私有成員不可訪問. 4.#includevoid main() int n=3,r(1); do r*=n

10、; n-; while(n=1); coutrendl; 正確答案是:6 5.#include class CPoint public: CPoint(int xx=0, int yy=0) X=xx; Y=yy; countP+; CPoint() countP-; void GetC() coutcountP=countPendl;private: int X,Y; static int countP;int CPoint:countP=0;void main() CPoint A(4,5),B; A.GetC(); CPoint C(1,2);C.GetC(); B.GetC();正確答

11、案是:countP=2countP=3countP=2 6.#includevoid main() int n,r(1); for(n=4;n=1;n-) r*=n; coutrendl; 正確答案是:24 7.#include template class CPluspublic: CPlus(T m1,P n1)m=m1;n=n1; P plus(); T m; P n;template P CPlus:plus() P s; s=(P)(m+n); return(s);void main() CPlus a(12.345,6); couta=a.plus()endl; CPlus b(1

12、4,2.56f); coutb=b.plus()endl;正確答案是:a=18 b=16.568.如果下面程序輸入5,輸出是什么?#includevoid main() int n,r(1); cinn; while(n=1) r*=n; n-; coutrendl; 正確答案是:120 9.class類類型中,拷貝構(gòu)造函數(shù)應(yīng)具有哪些特征?正確答案是:拷貝構(gòu)造函數(shù)的特點如下:(1) 該函數(shù)名與類名相同,因為它也是一種構(gòu)造函數(shù),并且該函數(shù)也不被指定返回類型;(1分)(2) 該函數(shù)只有一個參數(shù),并且是對同類的某個對象的引用;(1分)(3) 每個類都必須有一個拷貝構(gòu)造函數(shù);(1分)(4) 在新建對象

13、時,對對象進(jìn)行初始化時調(diào)用,對象之間賦值不調(diào)用.(1分)10.C+語言標(biāo)準(zhǔn)數(shù)據(jù)類型(即已有的)有哪些?正確答案是:char,int,short,long,float,double,bool,void. 11.類定義體中,有些函數(shù)之前有關(guān)鍵字virtual的意義是什么?正確答案是:該函數(shù)為虛擬函數(shù),指定為動態(tài)綁定方式.運行時該函數(shù)才與調(diào)用函數(shù)進(jìn)行綁定. 12.#includeint change(int x,int &y,int &z,int *dp) z=x-+-y; *dp=x-y-; return(x+y);void main() int a=4,b=4,c=4,d=4; a=change

14、(a,b,c,&d); couta,b,c,dendl; 正確答案是:5,2,7,0 13.#includevoid main() int i,n=6,r(1); for(i=1;i=n;i+) r*=i; coutrendl; 正確答案是:720 14.#includeint change(int x,int &y,int &z,int *dp) z=x-+-y; *dp=x-y-; return(x+y);void main() int a=8,b=8,c=8,d=8; a=change(a,b,c,&d); couta,b,c,dendl; 正確答案是:13,6,15,0 15.#inc

15、ludeclass CPoint private:int X,Y; public: CPoint(int i, int j) X=i; Y=j; virtual int Area() return 0;class CRectangle:public CPoint private:int W,H; public: CRectangle(int i, int j, int k, int l) :CPoint(i,j) W=k; H=l; int Area() return W*H;void fun(CPoint &s) coutArea=s.Area()endl; void main() CRec

16、tangle r(2, 3, 6, 8); fun(r); 正確答案是:Area=48 16.#include int fun(int n) int r; if(n=1|n=2) r=1; else r=fun(n-1)+fun(n-2); return r;void main() coutfun(6)endl; 正確答案是:8 17.什么叫類?什么叫對象?正確答案是:類是封裝了數(shù)據(jù)和方法的一種抽象數(shù)據(jù)類型(2分).對象是類的一個實例(2分).18.在C+語言中,請說明結(jié)構(gòu)體和聯(lián)合體的異同點.正確答案是:結(jié)構(gòu)體數(shù)據(jù)類型的變量可以同時存儲int,long,char和double型等已有數(shù)據(jù)類型的

17、數(shù)據(jù),這些數(shù)據(jù)使用不同的存儲空間,而聯(lián)合體雖然表面上可以存儲int,long,char或double等已有數(shù)據(jù)類型的數(shù)據(jù),但它們共享其占用空間最多的成員所分配的存儲空間,對某個成員賦值將影響其它成員的數(shù)值. 19.函數(shù)之間的參數(shù)傳遞的形式有哪幾種?正確答案是:傳值傳遞方式,地址傳遞方式,引用方式. 20.#include class B public: B(int i) coutconstructing B iendl; ;class C: public B public: C(int a, int b,int c):B(a),memberB(b) coutconstructing C cen

18、dl;private: B memberB;void main() C obj(1,2,3); 正確答案是:constructing B 1constructing B 2constructing C 321.#includeclass CPoint private:int X,Y; public: CPoint(int i, int j) X=i; Y=j; virtual int Area() return 0;class CTriangle:public CPoint private:int W,H; public: CTriangle (int i, int j, int k, int l) :CPoint(i,j) W=k; H=l; int Area() return W*H/2;void fun(CPoint &s) coutArea=s.Area()endl; void main() CTriangle r(9, 8, 7, 6); fun(r); 正確答案是:Area=21 22.#include class myclassprivate: int a,b; static int s; public: myclass(int

溫馨提示

  • 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

提交評論