




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45216-2025危險貨物自反應(yīng)物質(zhì)和有機過氧化物包裝件爆燃試驗方法
- 共用墻合同范本
- 兼職防疫保安合同范本
- 出售吊車合同范例
- 加裝電梯托管合同范本
- 光伏銷售質(zhì)保合同范本
- 單位二手房交易合同范本
- 勞動合同范例 河南
- 買賣交易正規(guī)合同范本
- 個人買賣住房合同范本
- 無光纖傳輸技術(shù)Er:YAG激光口腔臨床應(yīng)用規(guī)范
- 醫(yī)療信息共享與互聯(lián)網(wǎng)醫(yī)療管理制度
- 人教版高中英語必修二詞匯表(默寫版)
- 汽車電器線束DFMEA范例
- 船模航模車模社團教案
- 【基于上市公司數(shù)據(jù)的康芝藥業(yè)盈利能力探析(定量論文)11000字】
- 幼兒園小班學(xué)情分析案例及分析
- 2024年社區(qū)工作者考試題庫及答案
- 2024年義務(wù)教師考試招聘考試試題及答案
- 無人機紅外技術(shù)培訓(xùn)
- 2024中考英語1500詞匯默寫匯總表練習(xí)(含答案)
評論
0/150
提交評論