華科C期末考試試卷答案_第1頁
華科C期末考試試卷答案_第2頁
華科C期末考試試卷答案_第3頁
華科C期末考試試卷答案_第4頁
華科C期末考試試卷答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2008-2009學(xué)年度第二學(xué)期

華中科技人當(dāng)《C++語言程序設(shè)計》試卷(A)

(考試時間:150分鐘考試方式:閉卷)

所有答案必須寫在答題紙上

一、單項選擇題(30小題,每小題1分,共30分)

1、C++程序中的語句必須以(B)結(jié)束

A冒號B分號C空格D花括號

2、下列選項中,(A)不是分隔符

A標(biāo)識符B;C:D()

3、執(zhí)行語句

inta=10,b;

int&pa=a,&pb=b;

后,下列正確的語句是(B)

A&pb=a;Bpb=pa;C&pb=&pa;D*pb=*pa;

4、設(shè)I=1,J=2,則表達式I+++J的值為(C)

A1B2C3D4

5、執(zhí)行下列語句后,

intx,y;

x=y=1;++x||++y;

y的值是(C)

A不確定B0C1D2

6、逗號表達式

(x=4*5,x*5),x+25

的值為(D)

A25B20C100D45

7、已知inti,x,y;在下列選項中錯誤的是(C)

Aif(x&&y)i++;Bif(x=y)i——;

Cif(xy)i——;Dif(x+y)i++;

8、i=2,執(zhí)行下列語句后的值為(B)

switch(i)

{case1:i++;

case2:i---;

case3:++i;break;

case4:i;

default:i++;

A1B2C3D4

9、已知inti=3;下面do_while語句執(zhí)行時循環(huán)次數(shù)為(B)

do{i一;cout?i?endl;}while(i!=1);

A1B2C3D無限

10、以下為死循環(huán)的程序段是(B)

Afor(intx=0;x<3;){x++;};

Bintk=0;

do{++k;}while(k>=0);

Cinta=5;while(a){a---;};

Dinti=3;for(;i;i---);

11、以下正確的函數(shù)原型為(1))

Af(intx;inty);Bvoid(x,y);

Cvoid(intx,y);Dvoidf(int,int);

12、有函數(shù)原型voidfun2(int*),下面選項中,正確的調(diào)用是(C)

Adoublex=2.17;fun2(&x);Binta=15;fun2(a*3.14);

Cintb=100;fun2(&b);I)fun2(256);

13、有聲明

intfund(int);int(*pf)(int)=fund;

下面選項正確的是(B)

Ainta=15;intn=fun4(&a);Binta=15;cout?pf(a*3.14);

Ccout?(*pf)(256);Dcout?*pf(256);

14、函數(shù)參數(shù)的默認值不允許為(C,D)

A全局常量B全局變量

C局部變量D函數(shù)調(diào)用

15、下列的描述中(B)是錯誤的。

A使用全局變量可以從被調(diào)用函數(shù)中獲取多個操作結(jié)果

B局部變量可以初始化,若不初始化,則系統(tǒng)默認它的值為0

C當(dāng)函數(shù)調(diào)用完后,靜態(tài)局部變量的值不會消失

D全局變量若不初始化,則系統(tǒng)默認它的值是0

16、以下對一維數(shù)組a的正確定義是(C)

Aintn=5,a[n];Cinta(5);

Bconstintn=5;inta[n];Dintn;cin?n;inta[n];

17^已知inta[10]=知1,2,3,4,5,6,7,8,9}和*p=a,則不能表示數(shù)組a中元素的式子是

(C)

A*aB*pCaDa[p-a]

18、以下不能對二維數(shù)組a進行正確初始化的語句是(C)

Ainta[2][3]=0;

Binta[][3]={{0,1},{0});

Cinta[2][3]={{0,1},{2,3},{4,5}}

Dinta[][3]={{0,1},{2,3,4},{5,6},{7})

19、已知inta[3][3]={1,2,3,4,5,6,7,8,9},則不能表示數(shù)組元素a[2][1]的地址是(B)

A&a[2][1]B*(a[2]+1)

Ca[2]+1D*(a+2)+1

20、若用數(shù)組名作為調(diào)用函數(shù)的實參,則傳遞給形參的是(A)

A數(shù)組存儲首地址C數(shù)組的第一個元素值

B數(shù)組中全部元素的值D數(shù)組元素的個數(shù)

21、下列描述中,錯誤的是(A)

A輸出字符指針就是輸出字符串

B輸出字符指指針的間接引用就是輸出單個字符

C具有相同字符的兩個字符串常量相等

D兩個數(shù)組名的比較是地址的比較

22、判斷字符串si是否大于字符串s2的表達式為(D)

Asi>s2Bstrcmp(si,s2)==0

Cstrcpy(si,s2)>0Dstrcmp(s2,si)>0

23、在下列結(jié)構(gòu)變量的定義中,不正確的是(D)

AstructemployeeBstruct

{charname[20];{charname[20];

longcode;longcode;

}emp;}emp;

CstructemployeeDstruct

{charname[20];{charname[20];

longcode;longcode;

);}employee;

employeeemp;employeeemp;

24、假定有以下聲明和定義,則下面引用形式錯誤的的(B)

structstudent

{intnum;

floatscore;

}stu[3]={{1001,80},{1002,75},{1003,91}},*p=stu;

Ap->numB(p++).numC(p++)->numD(*p).num

25、若有以下聲明和定義,則下列錯誤的引用是(D)

structworker

{intno;

charname[20];

}w,*p=&w;

Aw.noBp->noC(*p).noD*p.no

26、關(guān)于類和對象不正確的說法是(C)

A類是一種類型,它封裝了數(shù)據(jù)和操作

B對象是為類的實例

C一個類的對象只有一個

D一個對象必屬于某個類

27、下面對構(gòu)造函數(shù)的不正確描述是(B)

A系統(tǒng)可以提供默認的構(gòu)造函數(shù)。

B構(gòu)造函數(shù)可以有參數(shù),所以也可以有返回值

C構(gòu)造函數(shù)可以重載。

D構(gòu)造函數(shù)可以設(shè)置默認參數(shù)。

28、在類定義的外部,可以被訪問的成員有(C)

A所有類成員Bprivate或protected的類成員

Cpublic的類成員Dpublic或private的類成員

29、在下列選項中,(C)是錯誤的。

Agets和函數(shù)puts可以輸入輸出包含空格的字符串

Bcin不能輸入包含空格的字符串

Ccout不能輸出包含空格的字符串

D使用賦值運算符總可以對字符數(shù)組整體賦值

30、下列選項中,(C)具有文件作用域。

A語句標(biāo)號B局部變量C全局變量D形式參數(shù)

二、程序填空(每空2分,共10分)

1、函數(shù)yanghui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,請?zhí)羁铡?/p>

voidyanghui(intx[6][6])

(

inti,j;

x[0][0]=l;

for(i=l;i<6;i++)

(

x[i][0]=_x[i][i]—(1)=1;

for(j=l;j<i;j++)

x[i]|j]=c(i,j)(2);〃此處c(i,j)為求組合的函數(shù)

2、函數(shù)fun的功能是逆置數(shù)組元素,數(shù)組a有n個元素,請?zhí)羁铡?/p>

voidfun(inta[],intn)

{inti,t;

for(i=0;i<_n/2_(3)___;i++)

(

t=a[i];

a[i]=a[_n-l-i_(4)___];

_a[n-l-i]_(5)___=t;

)

)

三、程序分析題:給出下面各程序的輸出結(jié)果。(5小題,每小題4分,共20分)

1>將下列程序的運行結(jié)果寫在右邊空白位置

#include<iostream.h>

voidmain()

{inti,s=0;

for(i=0;i<5;i++)

switch(i)

{case0:s+=i;break;

case1:s+=i;break;

case2:s+=i;break;

default:s+=2;

)

cout<〈"s="<<s<<endl;

S=7

2、將下列程序的運行結(jié)果寫在右邊空白位置

/include<iostream.h>

intfl(inta,intb){returna+b;}

intf2(inta,intb){returna-b;}

intf3(int(*t)(int,int),inta,intb){return(*t)(a,b);

voidmain()

{int(*p)(int,int);

P=fl;

cout<<f3(p,4,8)<<endl;

P=f2;

cout?f3(p,8,4)?endl;

)

12

4

3、將下列程序的運行結(jié)果寫在右邊空白位置

intf(int[][3],int,int);

#include<iostream.h>

voidmainO

{inta[][3]={0,1,2,3,4,5,6,7,8};

cout?f(a,3,3)?endl;

)

intf(inta[][3],introw,intcol)

{inti,j,t=1;

for(i=0;i<row;i++)

for(j=0;j<col;j++)

{a[i][j]++;

if(i=j)t*=a[i][j];

}

returnt;

}

45

4、將下列程序的運行結(jié)果寫在右邊空白位置

#include<iostream.h>

#include<math.h>

classpoint

{public:

point(floatx,floaty)

{a=x;b=y;cout<<"點("<<a<<","<<b<<")";}

friendfloatd(point&A,point&B)

{returnsqrt((A.a-B.a)*(A.a-B.a)+(A.b-B.b)*(A.b-B.b));}

private:

floata,b;

};

voidmain()

{pointpl(2,3);

cout<<“到〃;

pointp2(4,5);

cout<<”的距離是:"<<d(pl,p2)?endl;

)

點(2,3)到點(4,5)的距離是:2.82843

5、將下列程序的運行結(jié)果寫在右邊空白位置

#include<iostream.h>

classT

{public:

T(intx){a=x;b+=x;};

staticvoiddisplay(Tc)

{cout<<,,a=,/<<c.\t'<X"b=〃<〈c.b<<endl;}

private:

inta;

staticintb;

);

intT::b=5;

voidmainO

{TA(3),B(5);

T::display(A);

T::display(B);

}

a=3b=13

a=5b=13

四、程序設(shè)計題(4小題,每小題10分,共40分)

1、輸入某學(xué)生成績,若成績在通常情況下85分以上輸出”verygood",若成績在60分到

85分之間輸出"goodH,若成績低于60分輸出"nogood”。

#include<iostream>

usingnamespacestd;

voidmainO

(

intscore;

cout<<〃輸入分?jǐn)?shù):〃;

cin>>score;

if(score>=85)cout?,zverygood!〃;

elseif(score>=60)cout?z,good!";

elsecout?/znogood!”;

}

2、編寫一個程序,包含三個重載的display函數(shù)和一個主函數(shù)。要求第一個函數(shù)輸出double

值,前面用字符串“adouble:"引導(dǎo),第二個函數(shù)輸出一個int值,前面用字符串“aint:"

引導(dǎo),第三個函數(shù)輸出一個char字符值,前面用字符串"achar:"引導(dǎo),在主函數(shù)中分別

用double>int和char型變量作為實參調(diào)用display函數(shù)。

#include<iostream>

usingnamespacestd;

voiddisplay(doublex)

(

cout<<z,adouble:zz<<x;

)

voiddisplay(intx)

(

cout<<z,aint:〃<〈x;

)

voiddisplay(charx)

{

cout<<,,achar:zz?x;

)

voidmain()

(

display(1.345);cout<<endl;

display(3);cout<<endl;

display('a');cout<<endl;

)

3、編寫程序,按照指定長度生成動態(tài)數(shù)組,用隨機數(shù)對數(shù)組元素賦值,然后逆置該數(shù)組元

素。輸出逆置前后的數(shù)組元素序列。要求逆置時不使用輔助數(shù)組。

#include<iostream>

#include<ctime>

#include<cstdlib>

#include<iomanip>

usingnamespacestd;

voidmain()

(

intn;

cout<<"輸入數(shù)組長度:”;

cin>>n;

int*p=newint[n];

srand(unsigned(time(0)));

for(int*a=p;a<p+n;++a)

(

*a=rand()%n;

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論