




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言程序設(shè)計(jì)試卷,C++語(yǔ)言程序設(shè)計(jì)試題及答案
一、單項(xiàng)選擇題(每題1分,共20分)
1.C語(yǔ)言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置(C)。
A.必須在最開(kāi)始
B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面
C.可以任意
D.必須在最后
2.下面四個(gè)選項(xiàng)中,均是合法浮點(diǎn)數(shù)的選項(xiàng)是(B)o
A.+le+l5e-9.403e2
B.-.6012e-4-8e5
C.123e1.2e-.4+2e-l
D.
3.假設(shè)a=-14,b=3,那么條件表達(dá)式a<b?a:b+l的值為(A)0
A.-14B.-13C.3D.4
4.:intn,i=l,j=2;執(zhí)行語(yǔ)句n=i<j?i++:j++;那么i和j的值是(c).
A.1,2B.1,3C.2,2D.2,3
5.為了判斷兩個(gè)字符串si和s2是否相等,應(yīng)當(dāng)使用(D)
A.if(sl==s2)B.if(sl=s2)
C.if(strcmp(si,s2))
D.if(strcmp(si,s2)==0)
6.以下正確的描述是(B)。
A.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套。
B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。
C.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套。
D.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套。
7.在C語(yǔ)言中,下面對(duì)函數(shù)不正確的描述是(D)。
A.當(dāng)用數(shù)組名作形參時(shí),形參數(shù)組值的改變可以使實(shí)參數(shù)組之值相應(yīng)改變。
B.允許函數(shù)遞歸調(diào)用。
C.函數(shù)形參的作用范圍只是局限于所定義的函數(shù)內(nèi)。
D.子函數(shù)必須位于主函數(shù)之前。
8.如果在一個(gè)函數(shù)中的復(fù)合語(yǔ)句中定義了一個(gè)變量,那么以下正確的說(shuō)法是(A)o
A.該變蚩只在該復(fù)合語(yǔ)句中有效
B.該變量在該函數(shù)中有效
C.該變量在本程序范圍內(nèi)均有效
D.該變量為非法變量
9.以下正確的函數(shù)形式是(D)。
A.doublefun(intx,inty){z=x+y;returnz;}
B.fun(intx,y){intz;returnz;}
C.fun(x,y){intx,y;doublez;z=x+y;returnz;}
D.doublefun(intx,inty){doublez;z=x+y;returnz;}
10.以下程序的輸出結(jié)果是(B)o
#include<stdio.h>
#definePRINT(a)printf(int)(a))
voidmain(void)
(
intx=2;
PRINT(x*F(3));
}
A.10B.13C.11D.報(bào)錯(cuò)
11.以下程序中編譯和運(yùn)行結(jié)果均正確的一個(gè)是(C)<,
A.A.voidmain(void)
(
union
(
intn;
floatx;
}comm={1};
printf("%d”,comm.n);
}
B.B.voidmain(void)
(
union
(
intn;
floatx;
}comm={12.5};
H
printf("%fzcomm.x);
}
C.C.voidmain(void)
(
union
(
floatx;
intn;
}comm={12.5}
printf(n,comm.x);
)
D.D.voidmain(void)
(
union
(
intn;
floatx;
}comm=5;
printf("%d",comm.n);
)
12.設(shè)有定義:inta=l,*p=&a;floatb=2.0;charc=*A,;以下不合法的運(yùn)算是
(A)。
A.p++;B.a--;C.b++;D.c——;
13.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是(B)0
main()
(
int*p,*q,a,b;
p=&a;
printf("inputa:");
scanf("%d,\*p);
}
A.*p表示的是指針變量p的地址
B.*p表示的是變量a的值,而不是變量a的地址
C.*p表示的是指針變量p的值
D.*p只能用來(lái)說(shuō)明p是一個(gè)指針變量
14.假設(shè)num、a、b和c都是int型變蚩,那么執(zhí)行表達(dá)式num=(a=4,b=16,c=32j;后
num的值為(C)。
A.4B.16C.32D.52
15.已有如下定義和輸入語(yǔ)句,假設(shè)要求al,a2,cl,c2的值分別為10,20,A和B,當(dāng)從第
一列開(kāi)始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入月式是(C),(注:_表示空楮)
intal,a2,charcl,c2;
scanf(,,%d%c%d%c,*,&al,&cl,&a2,&c2);
A.10A_20_BB.10_A_20_BC.10A20BD.10A20_B
16.假設(shè)有點(diǎn)明:inta[10];那么對(duì)a數(shù)組元素的正確引用是(C)。
A.a[10]B.a[3.5]C.a[5-3]D.a[-l]
17.在C語(yǔ)言中,一維數(shù)組的定義方式為類(lèi)型說(shuō)明符數(shù)組名;(A)
A.[整型常量表達(dá)式]E.[表達(dá)式J
C.[整型常量]D.[整型表達(dá)式]
18.以下能對(duì)一維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是(C;。
A.ina[10]=(0,0.0,0,0);
B.inta[10]={};C.inta[]={0};
D.inta[10]={10*l:-;
19.以下程序段(C)o
x=-l;
do
(
x=x*x;
}
while(!x);
A.是死循環(huán)B.循環(huán)執(zhí)行二次
C.循環(huán)執(zhí)行一次D.有語(yǔ)法錯(cuò)誤
20.以下關(guān)于do-while循環(huán)的不正確描述是(B)。
A.do-while的循環(huán)體至少執(zhí)行一次
B.do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(表達(dá)式)后面不能寫(xiě)分號(hào)
C.在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱悖ā凹佟保┑牟僮?/p>
D.do-while的循環(huán)體可以是復(fù)合語(yǔ)句
二、是非判斷題(每題1分,共15分)
1.C語(yǔ)言規(guī)定,標(biāo)識(shí)符中的字母一般區(qū)分大、小寫(xiě)。T
2.控制臺(tái)標(biāo)準(zhǔn)輸入設(shè)備一般是指鍵盤(pán)。T
3.使用while和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)語(yǔ)句之前處理cT
4.循環(huán)體中continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行。F
5.關(guān)系表達(dá)式的值是(:或1。T
6.假設(shè)有說(shuō)明:int:a[3][4]={0}?那么只有元素a[0][0]可得到初值0。T
7.字符串作為一維數(shù)組存放在內(nèi)存中。T
8.字符數(shù)組中的一個(gè)元素存放一個(gè)字符To
9.字符數(shù)組中的最后一個(gè)字符必須是10'F
10.形參為指針變室時(shí),買(mǎi)參必須是數(shù)組名。F
11.用數(shù)組名作函數(shù)參數(shù)時(shí)傳遞的是數(shù)組的值。F
12.全局變量可以被任何一個(gè)函數(shù)中的任何一個(gè)表達(dá)式使用。T
13.一個(gè)函數(shù)可以帶回一個(gè)整型值、字符值、實(shí)型值等,也可以帶回指針型的數(shù)據(jù)。
14.表達(dá)式i++與++i在任何場(chǎng)合功能完全相同。
15.在賦值表達(dá)式中,賦值號(hào)左邊的變量和右邊的表達(dá)式之值的數(shù)據(jù)類(lèi)型可以不相同。
三、多項(xiàng)選擇題(每題1分,共5分)
1.假設(shè)要求在if后一對(duì)圓跨括號(hào)中表示a不等于0的關(guān)系,那么不能正確表示這一關(guān)系
的表達(dá)式為(ABC).
A.a<>0
B.!a
C.a=0
D.a
E.a!=0
2.選出所有合法的常量(CEGIJ)o
B.-e-3
D.?BASIC'
E.,\045,
F.Ofd
G.OxfdaL
H.e8
I.
J."\""
3.以下關(guān)于函數(shù)原型說(shuō)法錯(cuò)誤的選項(xiàng)是:(ADFHI)
(1)對(duì)變量的定義"和''聲明"是一回事,對(duì)函數(shù)的''定義"和''聲明"也是一回事。
(2)在聲明函數(shù)原型時(shí),允許只寫(xiě)出參數(shù)的類(lèi)型,而不必寫(xiě)出參數(shù)的名稱(chēng)。
(3)如果在定義函數(shù)時(shí)不指定函數(shù)類(lèi)型,系統(tǒng)會(huì)隱含指定函數(shù)類(lèi)型為int型。
(4)調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名、實(shí)參個(gè)數(shù)、實(shí)參類(lèi)型必須與函數(shù)原型一致。
(5)如果被調(diào)函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之前,可以不必加以聲明。
(6)所有的函數(shù)之間可以互相調(diào)用。
(7)在C語(yǔ)言中,所有函數(shù)都是平行的,一個(gè)函數(shù)不能附屬于另一個(gè)函數(shù),即不能嵌套定義
的。
(8)如果函數(shù)沒(méi)有返回值,在定義時(shí)可以省略函數(shù)類(lèi)型。
(9)在C語(yǔ)言中,任何函數(shù)的定義都不允許為空。
(10)C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是、'值傳遞"。
4.請(qǐng)從下面關(guān)于指針的表達(dá)中,選出5個(gè)正確的表達(dá)。(ABDEH)
(1)指針即地址。
(2)指針須先賦值后使用。
(3)當(dāng)指針p指向數(shù)組a的首址后,由于p和a都能引用數(shù)組元素,所以這里p和a是等價(jià)
的。
{4}int*p表示定義了一個(gè)指向int類(lèi)型數(shù)據(jù)的指針變量po
(5)數(shù)組的指針是指數(shù)組的起始地址。
(6)假設(shè)有定義inta[4]z*p=a,那么p++后p指向數(shù)組a所占內(nèi)存的第二個(gè)字節(jié)。
(7)使用指針變量作函數(shù)參數(shù)采取的是“值傳遞”的方式。
(8)相同類(lèi)型的指針可以進(jìn)行減法運(yùn)算。
(9)指針變量和許多變量一樣可以進(jìn)行四那么運(yùn)算。
(10)指針p指向數(shù)組元素a[2],假設(shè)要其指向執(zhí)行p=p*2即可。
5.以下關(guān)于數(shù)組的表達(dá)中,5個(gè)最確切的說(shuō)法是:(BEGHI)
(1)在聲明一個(gè)數(shù)組變量時(shí)必須指定大小。
(2)必須用常蚩表達(dá)式來(lái)說(shuō)明一個(gè)數(shù)組變蚩的大小。
(3)在對(duì)數(shù)組進(jìn)行初始化時(shí)大括號(hào)中的數(shù)據(jù)個(gè)數(shù)必須和數(shù)組的大小相同。
(4)有變量定義inta[3]={0,l,2},b[3]可以用b=a,使數(shù)組b的每個(gè)元素和a的每
個(gè)元素相等。
(5)在C語(yǔ)言中,可以將字符串作為字符數(shù)組來(lái)處理。
(6)定義了字符數(shù)組charc[11];為了給它賦值,可以用c="china”;。
⑺如果有chars[15]={"Iama\0student"};,那么stsrlen(s)的值為6。
(8)C語(yǔ)言中,二維數(shù)組中元素排列的順序是:按行存放。
(9)在C語(yǔ)言中,不能對(duì)局部的數(shù)組變量進(jìn)行初始化。
(10)在聲明時(shí)對(duì)數(shù)組進(jìn)行進(jìn)行初始化必須指定數(shù)組大小。
四、程序運(yùn)行結(jié)果題(每題4分,共20分)
1.(4分)
下面程序的運(yùn)行結(jié)果是(?)O
#include<stdio.h>
voidmain(void)
(
inti;
chara[]="Timen,b[:=nTorn";
for(i=0;a!=*\0,&&b!=*\0,;i++)
if(a==b)
1r,,,,
if(a>=*a&&a<=z*)printf(%cza-32);
elseprintf(,,%cn,a-32);
elseprintf("*");
)
2.(4分)
下面程序的的運(yùn)行結(jié)果是(①)。
i=l;s=3
do
(
s+=i++;
if(s%7==0)continue;
else++i;
}whlie(s<15);
printf("%dH,i);
3.(4分)
假設(shè)運(yùn)行時(shí)輸入:5999,那么以下程序的運(yùn)行結(jié)果(保存小數(shù)點(diǎn)后一位)是(①)。
voidmain(void)
(
intx;
floaty;
,,,,
scanf(%dz&x);
if(x>=0&&x<=2999)y=18+0.12*x;
if(x>=3000&&x<=5999)y=36+0.6*x;
if(x>=6000&&x<=L0000)y=54+0.3*x;
n
printf("%6.1fzy);
}
4.(4分)
以下程序的運(yùn)行結(jié)果是(?)o
voidmain(void)
(
inta=l,k;
for(k=0;k<3;k++)printf("%4d",fl(a))
)
intfl(intx)
staticintz=3,y=0;
y++;
z++;
return(x+y+z);
)
5.(4分)
以下程序的功能是計(jì)算函數(shù)F(x,y,z)=(x+y)/(x-y)+i:z+y)/(z-y)的值,請(qǐng)選擇填空。
#include<stdio,h>
#include<math.h>
floatfunl(float,float);
voidmain(void)
(
floatx,y,z,sum;
scanf("%f%f%",&x,&y,&z);
sum=funl(①)+funl((2));
printf("sum=%f\n*',sum);
)
floatfunl(floata,floatb)
(
floatnum;
num=a/b;
rpturnnum;
}
五、程序填空題(每題2分,共20分)
1.下面程序的功能是用公式:nxn/6=:L/(:Lxl)+l/(2x2)+:L/(3x3)+....
求n的近似值,直到最后一項(xiàng)的值小于10e-6為止。
#include<stdio.h>
#include<math.h>
voidmain(void)
(
longi=l;
①pi=0;
while(i*i<=10e+6){pi=②;i++;}
pi=sqrt(6.0*pi);
printf("pi=%10.6f\nH,pi);
}
2.下面程序的功能是把以下給定的字符按其矩陣格式讀入數(shù)組strl中,并輸出行列號(hào)之
和是3的數(shù)組元素。
voidmain(void)
(
charstrl[4][3]={1A*,*b','C','d','E','f','G','h','I','j','K',1i'
};
intx,y,z;
for(x=0;x<4;x++)
for(y=0;①;y++)
(
z=x+y;
n
if(②)printf(%c\n"zstrl[x][y]);
}
)
3.以下程序的功能是用遞歸方法計(jì)算學(xué)生的年齡,第一位學(xué)生年齡最小,為10歲,其余
學(xué)生一個(gè)比一個(gè)大2歲,求第5位學(xué)生的年齡。
遞歸公式如下:
age(1)=10
age(n)=age(n-1)+2(n>l)
#include<stdio.h>
intage(intn)
intc;
if(n==l)c=10;
elsec=①;
returnc;
)
4.以下程序的功能是判斷輸入的年份是否是閏年。
voidmain(void)
(
intyear,yes;
scanf(,iyear);
if(year%400==0)yes=l;
elseif(①)yes=l;
else②;
if(yes)printf(*'%dis",year);
elseprintf(n%disnot",year);
printf("aleapyear.\n");
)
5.以下程序?qū)崿F(xiàn):輸入三個(gè)整數(shù),按從大到小的順序進(jìn)行輸出。
voidmain(void)
(
intx,y,z,c;
scanf(%d考d",&x,&y,&z);
if(①){c=y;y=z;z=c;}
if((2)){c=x;x=z;z=c;}
if(③){c=x;x=y;y=c;}
printf(”%d,%d,%d",x,y,z);
}
六、填空題(每題1分,共20分)
1.在C語(yǔ)言中,一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(①)個(gè)字節(jié);一個(gè)double
型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(②)個(gè)字節(jié)。
一、單項(xiàng)選擇題
1.下面正確的字符常量是:
A)、'c"B)C)'WzD)
2.以下字符串中不能作為C++標(biāo)識(shí)符使用的是:
A)WHILEE)userC)_lvarD)9stars
3.執(zhí)行語(yǔ)句序列的輸出結(jié)果是o
inti=0;
while(i<25)
i+=3;
cout<<i;
A)24B)25C)27D)28
4.以下符號(hào)中可以用作C++標(biāo)識(shí)符的是o
A)radiusE)foo~barC)elseD)3room
5.假設(shè)a是int類(lèi)型變量,那么表達(dá)式a=25/333的值是:
A)3B)2C)1D)0
6.以下表達(dá)中不正確的選項(xiàng)是:
A)在不同的函數(shù)中可以使用相同名字的變量
B)函數(shù)中的形參是局部變量
C)在一個(gè)函數(shù)內(nèi)部定義的變蚩只在本函數(shù)范圍內(nèi)有效
D)在一個(gè)函數(shù)內(nèi)部定義的變量在所有函數(shù)內(nèi)部有效
7.變量的引用,其含義是指該變量的:
A.值B.類(lèi)型C.別名D.地址
8.定義:chars[10];那么下面不表示s[1]的地址的是:
A.s+1B.*(s+1)C.&s[0]+lD.&s[1]
9.通??截悩?gòu)造函數(shù)的參數(shù)是:
A.對(duì)象B.對(duì)象的成員C.對(duì)象的引用D.對(duì)象的指針
10.派生類(lèi)對(duì)象的構(gòu)造順序是先調(diào)用:
A.派生類(lèi)的構(gòu)造函數(shù)B.基類(lèi)的構(gòu)造函數(shù)
C.內(nèi)嵌對(duì)象的構(gòu)造函數(shù)D.友元類(lèi)的構(gòu)造函數(shù)
二、填空題
1.動(dòng)態(tài)多態(tài)是指在—(1)時(shí)才確定使用哪個(gè)—(2)—函數(shù)的方式。
2.友員不是類(lèi)的成員,但必須在(3)—予以聲明,它具有存取類(lèi)的—(4)_成員的
特權(quán)。
3.C++中class與stru寸的主要區(qū)別是在缺省訪(fǎng)問(wèn)權(quán)限時(shí),_(5)—的成員為私有的,
而_(6)—的成員為公有的。
4.假設(shè)角定義詔句:inta=3,b=2;,那么表達(dá)式a<b?a:b的值是⑺。
5.表達(dá)式:26%3=(8),32/5=(9)0
6.類(lèi)的成員包括_(10)_和(11)兩種,在面向?qū)ο蟮男g(shù)語(yǔ)中,前者稱(chēng)為屬性、后
者稱(chēng)為方法。其訪(fǎng)問(wèn)權(quán)限有三種,由符號(hào)_(12)、_(13)__和_(14)_指定,其中具有
權(quán)限的成員只有關(guān)中的成員函數(shù)才能訪(fǎng)問(wèn)、而具有__(16)__權(quán)限的成員在任何函數(shù)
中都可訪(fǎng)問(wèn)。
7.對(duì)基類(lèi)成員的初始化,必須在派生類(lèi)構(gòu)造函數(shù)的(L7)中進(jìn)行。
8.C++源程序文件的獷展名是(18),頭文件的擴(kuò)展名是(19)o
9.假設(shè)n為整型,那么表達(dá)式n=(float)2/3的值是(20)。
三、寫(xiě)出程序的運(yùn)行結(jié)果
1.寫(xiě)出程序運(yùn)行結(jié)果
include<iostream.h>
#include<string.h>
classCRect
private:
charcolor[10];
intleft;
inttop;
intlength;
intwidth;
public:
CRect();
CRect(char*c,intt,intlef,intlen,intwid);
voidSetColor(char*c);
voidSetSize(int1=100,intvz=100);
voidMove(intt,int1);
voidDraw();
};
CRect::CRect()
(
strcpy(color,“Black");
top-0;
left=0;
length=0;
width=0;
}
CRect::CRect(char*c,intt,intlef,intlen,intwid)
(
strcpy(color,c);
top=t;
leftlef;
length=len;
width=wid;
}
voidCRect::SetColor(char*c)
(
strcpy(color,c);
}
voidCRect::SetSize(int1,intw)
(
length=l;
width=w;
}
voidCRect::Move(intt,int1)
(
top=t;
left=1;
)
voidCRect::Draw()
(
cout?”矩形左上角坐標(biāo)為("?left??top?")H?endl;
cout<<"矩形長(zhǎng)和寬分別為"<<length<<<<width<<endl;
cout<<”矩形的顏色是"?color?endl;
)
voidmain()
CRectr;
r.SetColor(*'Red");
r.Move(10,20);
r.SetSize(100,200);
r.Draw();
r.Move(50,50);
r.SetColor(nBlue");
r.Draw();
)
2.寫(xiě)出程序運(yùn)行結(jié)果
#include<iostream.h>
classA
(
intxzy;
public:
A()
(
x=0;
y=0;
)
A(inta,intb)
|
x=a;
y=b;
}
~A()
if(x==y)
cout<<"x=yn?endl;
else
cout<<"x!=yn<<endl;
}
voidDisplay()
(
cout<<"x=H<<x<<",y=n<<y<<endl;
}
};
voidmain()
(
Aal,a2(2,3);
al.Display();
a2.Display();
)
3.寫(xiě)出程序運(yùn)行結(jié)果
#include<iostream.h>
classA
(
private:
intn;
public:
A(inti)
n=i;
)
operator++()
(
n++;
)
operator++(int)
(
n+=2;
}
voidDisplay()
(
cout<<nn=*'<<n<<endl;
}
};
voidmain()
(
Aa(2),b(2);
a++;
++b;
a.Display();
b.Display();
}
4.寫(xiě)出程序運(yùn)行結(jié)果
#include<iostream.h>
intfund(intn);
intfunc2(intn);
voidmain()
intsum;
sum=func2(5);
cout<<sum<<endl;
}
intfund(intn)
(
if(n==l)
return1;
else
returnn*funcl(n-1);
}
intfunc2(intn)
(
ints=0;
for(inti=1;i<=n;i++)
s+=fund(i);
returns;
}
四、編程(根據(jù)要求填上程序缺少的局部)
1.完成如下的程序,使得輸出為:
1234
#include<iostream.h>
#include<math.h>
classA
private:
_(1)___________
protected:
________(2)__________
public:
A(inta,intb,intc)
{
X=a;
Y=b;
Z=c;
)
intGetX()
(
returnX;
}
intGetY()
(
returnY;
)
intGetZ()
(
returnZ;
)
};
classB(3)
private:
intK;
public:
B(inta,intb,intc,intd)(4)
(
K=d;
)
voidShow()
|
cout<<GetX()<<GetY()<<Z<<K<<endl;
)
};
voidmain()
(
Bb(l,2,3,4);
c.Show();
)
2.在主函數(shù)中定義有30個(gè)元素的數(shù)組s,函數(shù)funcl0的功能是將2、4、6、…、56、
58、60分別賦給數(shù)組元素s[0]、s[l]%s[2]、...、s[27]、s[28]、s[29]o函數(shù)
func20的功能是按順序?qū)?shù)組的每5個(gè)元素求平均值并存入數(shù)組w中(即將s[0]、
s[l].s[2]、s[3]ss:4]的平均值存入w[0]中,s[5]、s[6]、s[7]、s[8]、s[9]
的平均值存入w[l]中,…)。請(qǐng)?zhí)羁帐钩绦蛘_運(yùn)行。
#include<iostream.h>
#include<math.h>
voidfund(doubles;])
int1,k;
for(k=2,i=0;i<30;i++)
s[i]=k;
_______(5)__
)
1
voidfunc2(doubles:],doublew[])
(
doublesum;
inti,k;
for(k=0,i=0,sum=0;i<30;i++)
(
___________(6)____________
if((i+l)%5==0)
(
w[k]=sum/5;
___________(7)_
k++;
)
}
}
voidmain()
(
doubles[30],w[6];
fund(s);
func2(s,w);
C++程序設(shè)計(jì)試題及答案(-)答案
一、單項(xiàng)選擇題
1.C
2.D
3.A
4.A
5.B
6.D
7.D
9.c
10.b
二、填空題
1.執(zhí)行,成員
2.類(lèi)中,私有
3.class.struct
4.2
5.2,6
6.數(shù)據(jù)成員,函數(shù)成員
7.public,private,protect,私有,公共
8.?cpp.h
三、寫(xiě)出程序的運(yùn)行結(jié)果
1.矩形左上角坐標(biāo)為50,50
矩形長(zhǎng)和寬分別為100,1C0
矩形的顏色是Blue
2.x=0,y=0
x=2,y=3
x=y
x!=y
3,n=3
n=4
4,5
四、編程(根據(jù)要求填上程序缺少的局部)
1.intX,Y;
2.intZ;
3.publicA
4.:A(a,bzc)
5.k+=2;
6.sum+=s[i];
7.sum-0;
C++程序設(shè)計(jì)試題及答案(二)
一、填空題(20分,每空1分)
1.當(dāng)使用關(guān)鍵字(1)作為函數(shù)返回類(lèi)型時(shí),該函數(shù)不返回任何值。
2.在類(lèi)中必須聲明成員函數(shù)的_(2)成員函數(shù)的—(3)_局部可以寫(xiě)在類(lèi)外。
3.如果需要在被調(diào)函數(shù)運(yùn)行期間,改變主調(diào)函數(shù)中實(shí)參變量的值,那么函數(shù)的形參應(yīng)該是一
(4)—類(lèi)型或—(5)_芟型。
4.當(dāng)一個(gè)變蚩被聲明為另一個(gè)變量的引用時(shí),此變量就成為被引用變量的此時(shí),
對(duì)其中一個(gè)變量值的修改,_(7)_〔會(huì)/不會(huì))影響到另一個(gè)變量的值。
5.友員不是類(lèi)的成員,但必須在(8)_予以聲明,它具有存取類(lèi)的_(9)_成員的特權(quán)。
6.如果需要在被調(diào)函數(shù)運(yùn)行期間,改變主調(diào)函數(shù)中實(shí)參變量的值,那么函數(shù)的形參應(yīng)該是
類(lèi)型或—(11)_類(lèi)型。
7.友員不是類(lèi)的成員,但必須在(12)_予以聲明,它具有存取類(lèi)的成員的特
權(quán)。
8.如果需要在被調(diào)函數(shù)運(yùn)行期間,改變主調(diào)函數(shù)中實(shí)參變量的值,那么函數(shù)的形參應(yīng)該是
_(14)_類(lèi)型或(15)_類(lèi)型。
9.下面程序?qū)⒆址麛?shù)組a復(fù)制到字符數(shù)組b中。
main()
(
chara[]=nIamaboy.",b[20];
inti;
for(i=_(16)_;a[i]!=*\0';i++)
—(17);
}
(18);
}
10.下面程序的功能是計(jì)算1-3+5-7+...-99+101的值存在s中,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
intizt=l,s=0;
for(i=l;i<=101;_(19)_)
(
s=s+i*t;
t=_(20)_;
}
)
二、判斷以下說(shuō)法的正確性,正確的劃錯(cuò)誤的劃x(10分,每個(gè)題目2分)
1.如果派生類(lèi)的成員函數(shù)的原型與基類(lèi)中被定義為虛函數(shù)的成員函數(shù)原型相同,那么,這個(gè)
函數(shù)自動(dòng)繼承基類(lèi)中虛函數(shù)的特性。
2.在C++中,關(guān)鍵字class與struct具有完全相同的作用。
3.假設(shè)有定義:doublex[3][5];那么x數(shù)組行下標(biāo)的上限是3,下限是1。
4.說(shuō)明函數(shù)原型時(shí)不需要指明每個(gè)參數(shù)的類(lèi)型,只需要說(shuō)明每個(gè)參數(shù)的名字就可以了。
5.如果在一個(gè)程序塊中有兩個(gè)變量具有相同的名字,并且都有效,只是它們的作用域不司,
那么優(yōu)先訪(fǎng)問(wèn)作用域較大的那個(gè)變量。
三、單項(xiàng)選擇題(30分,顯題2分)
1.程序段
inta,b;
a=5;
b=a++;
cout<<b;
的輸出應(yīng)為:
A)4B)5C)6D)7
2.程序段
inti,a;
for(i=0;i<=10;i++)
a=i;
cout<<i;
的輸出應(yīng)為;
A)0B)9C)10D)11
3.以下有關(guān)函數(shù)重載的表達(dá)中,錯(cuò)誤的選項(xiàng)是o
A)函數(shù)重載就是用相同的函數(shù)名定義多個(gè)函數(shù)
B)重載函數(shù)的參數(shù)列表必須不同
C)重載函數(shù)的返回值類(lèi)型必須不同
D)重載函數(shù)的參數(shù)可以帶有默認(rèn)值
4.int*plz*p2,a[10];
pl=a;
p2=&a[5];
那么p2-pl的值為:
A)無(wú)法確定B)10C)5D)12
5.變量的指針,其含義是指該變量的:
A)值B)地址C)名D)一個(gè)標(biāo)志
6.派生類(lèi)的成員函數(shù)不能訪(fǎng)問(wèn)基類(lèi)的o
A)公有成員和保護(hù)成員B)公有成員
C)私有成員D)保護(hù)成員
7.數(shù)字字符0的ASC1工值為48,假設(shè)有以下程序
voidmain()
chara=*1',b=*2*;
cout<<b++<<,;
cout<<b-a<<endl;
)
程序運(yùn)行后的輸出結(jié)果是:
A)3,2B)50,2C)2,2D)2,50
8.有以下程序
voidmain()
inta[3][3],*p,i;
p=&a[O][0];
for(i=0;i<9;i++)
p[i]=i;
for(i=0;i<3;i++)
cout<<a[1][i];
}
程序運(yùn)行后的輸出結(jié)果是:
A)012B)123C)234D)345
9.以下表達(dá)中錯(cuò)誤的選項(xiàng)是:
A)對(duì)于double尖型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輔I人或輸出
B)數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變
C)程序執(zhí)行中,數(shù)組元素的下標(biāo)越界時(shí),系統(tǒng)給出''下標(biāo)越界"的出錯(cuò)信息
D)可以通過(guò)賦初值的方式確定數(shù)組元素的個(gè)數(shù)
10.有以下程序
voidmain()
inta[]={l,2,3,4,5,6,7,8,9,0},*p;
for(p=a;p<a+10;p++)
cout?*p<<;
}
程序運(yùn)行后的輸出結(jié)果是:
A)1,2,3,4,5,63,8,9,0,B)2,3,4,5,6,7,8,9,10,1,
C)0,1,2,3,4,5,63,8,9,D)1,1,1,1,1,1,1,1,1,1,
11.有以下程序
voidmain()
(
intc=35;
intb=c&c;
cout<<b;
}
程序運(yùn)行后的輸出結(jié)果是:
A)0B]70C)35D)1
12.執(zhí)行以下程序段后,正確的結(jié)果是:
inti=0zs=l;
while(i<3)
s+=i;
i++;
}
cout<<s;
A)5B)6C)4D)3
13.執(zhí)行以下程序段后,正確的結(jié)果是:
chara[7]=wabcdef;
charb[4]="ABC";
strcpy(a,b);
cout<<a[5];
A)eB)fC)0D)無(wú)輸出
14.以下帶缺省值參數(shù)的函數(shù)說(shuō)明中,正確的說(shuō)明是
A)intFun(intx,inty=2,intz=3);
B)intFun(intx=l,inty,intz=3);
C)intFun(intx,inty=2,intz);
D)intFun(intx=l,inty,intz);
15.拷貝構(gòu)造函數(shù)的作用是:
A)進(jìn)行數(shù)據(jù)類(lèi)型的轉(zhuǎn)換
B)用對(duì)象調(diào)用成員函數(shù)
C)用對(duì)象初始化對(duì)象
D)用一般類(lèi)型的數(shù)據(jù)初始化對(duì)象
四、寫(xiě)出程序的運(yùn)行結(jié)果(20分,每題10分)
1.函數(shù)sub的功能是什么?寫(xiě)出運(yùn)行結(jié)果。
1.函數(shù)sub的功能是什么?寫(xiě)出運(yùn)行結(jié)果。
#include<iostream.h>
longsub(intnum)
inti;
longsubsum=l;
for(i=l;i<=num;i+-)
subsum*=i;
return(subsum);
}
voidmain()
(
inti;longsum=0;
for(i=l;i<=5;i++)
(
sum+=sub(i);
cout<<i<<?sum?endl;
)
}
2,寫(xiě)出程序運(yùn)行結(jié)果
#include<iostream.h>
classBase
public:
voidWhoAml()
(
cout<<"ClassBass"?endl;
}
virtualvoidWho()
(
cout<<"ClassBass"?endl;
)
};
classDerived:publicBase
(
public:
voidWhoAml()
(
cout<<"ClassDerived"<<endl;
}
voidWho()
cout<<"ClassDerived"?endl;
}
};
voidmain()
Base*p;
Baseb;
Derivedd;
p=&b;
p->WhoAmI();
p->Who();
p=&d;
p->WhoAmI();
p->Who();
)
五、編程(根據(jù)要求填上程序缺少的局部)(20分,每題10分)
1.函數(shù)Ccnvert()將一個(gè)數(shù)字字符串轉(zhuǎn)換為對(duì)應(yīng)的整數(shù),請(qǐng)埴空,實(shí)現(xiàn)函數(shù)的功能。
#include<iostream.h>
intConvert(char*str);
voidmain()
chars[10]="12345”;
intn=Convert(s);
cout<<n<<endl;
)
intConvert(char*str)
(
intnum=Ozdigit;
for(inti=0;(1);i++)
(
digit=(2);
num=num*10+digit;
}
returnnum;
}
2.函數(shù)Convert()將一個(gè)數(shù)字字符串轉(zhuǎn)換為對(duì)應(yīng)的整數(shù),請(qǐng)?zhí)羁?,?shí)現(xiàn)函數(shù)的功能。
#include<iostream.h>
intConvert(char*str);
voidmain()
chars[10]="12345”;
intn=convert(s);
cout<<n<<endl;
)
intConvert(char*str)
(
intnum=0,digit;
for(inti=0;(3);i++)
(
digit=(4);
num=num*10+digit;
)
returnnum;
}
C++程序設(shè)計(jì)試題及答案(Z)
一、填空題
1.void
2.函數(shù)頭,函數(shù)體
3.引用,指針
4.別名,會(huì)
5.類(lèi)中,私有
6.引用,指針
7.類(lèi)中,私有
8.引用,指針
9.a[i]=b[i]a[i]=*\0'
10.i=i+2
二、判斷以下說(shuō)法的正確性
1.7
2.x
3.x
4.x
5.x
三、單項(xiàng)選擇題
1.C
2.B
3.A
4.D
5.B
6.D
7.B
8.A
9.D
10.B
11.D
12.B
13.A
14.C
四、寫(xiě)出程序的運(yùn)行結(jié)果
1.從1連乘到num
5,1.53
2.ClassBass
ClassBass
ClassDerived
ClassDerived
五、編程(根據(jù)要求填上程序缺少的局部)
1.(1)i<strlen(str)
(2)str[i]
2.(1)i<10
(2)s[i]
c十十程序設(shè)廿試題及答案(三)
時(shí)間:2021-07-1718:54來(lái)源:未知作者:admin點(diǎn)擊:2840次
標(biāo)簽:
C++程序設(shè)計(jì)試題及答案(三)學(xué)號(hào):專(zhuān)業(yè):層次:姓名:題號(hào)一二三四五六
七八九十總分得分注意:所有答案都要寫(xiě)在答題卡上一、單項(xiàng)選擇題1.設(shè)有數(shù)組
定義:chararray[]=China;那么數(shù)組array所占的空間為:A)4個(gè)字節(jié)B)5個(gè)字
節(jié)C)6個(gè)
C++程序設(shè)計(jì)試題及答案[三)
學(xué)號(hào):專(zhuān)業(yè):層次:姓名:
題號(hào)
四
五
六
七
八
九
十
總分
得分
注意:所有答案都要寫(xiě)在答題卡上
一、單項(xiàng)選擇題
1.設(shè)有數(shù)組定義:chararray[]="China";那么數(shù)組array所占的空間為:
A)4個(gè)字節(jié)B)5個(gè)字節(jié)C)6個(gè)字節(jié)D)7個(gè)字節(jié)
2.以下選項(xiàng)中,與實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性無(wú)關(guān)的是o
A)重載函數(shù)B)虛函數(shù)C)指針D)引用
3.假設(shè)a是int類(lèi)型變量,那么計(jì)算表達(dá)式a=1000%999的值是:
A)0B)1C)2D)3
4.下面程序段中,for循環(huán)的執(zhí)行次數(shù)是:
inti-10;
for(i=l;i<10;i++)
cout<<;
A)9B)10C)8D)7
5.有以下程序
voidmain()
(
inta[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++)
p[i]=i;
for(i=0;i<3;i++)
cout<<a[1][i];
}
程序運(yùn)行后的輸出結(jié)果是:
A)012B)123C)234D)345
6.以下表達(dá)中錯(cuò)誤的選項(xiàng)是:
A)對(duì)于double類(lèi)型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出
B)數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變
C)程?蜂蔥兄校??樵?氐南鹵暝澆紙保?低掣??Idqu。;下標(biāo)越界”的出錯(cuò)信息
D)可以通過(guò)賦初值的方式確定數(shù)組元素的個(gè)數(shù)
7.有以下程序
voidmain()
(
inta[]={l,2,3,4,5,6,7,8,9,0},*p;
for(p=a;p<a+10;p++)
cout<<*p<<;
)
程序運(yùn)行后的輸出結(jié)果是:
A)1,2,3,4,5,63,8,9,0,B)2,3,4,5,6,7,8,9,10,1,
C)0,1,2,3,4,5,63,8,9,D)1,1,1,1,1,1,1,1,1,1,
8.有如下函數(shù)模板定義:
template<classT>
Tfunc(Tx,Ty)
(
returnx*x-y*y;
)
在以下對(duì)func0的調(diào)用中,錯(cuò)誤的選項(xiàng)是
A)func(3,5);B)func(3.0,5.5)
C)func(3,5.5)D)func((double)3,5.5)
9.有如下類(lèi)聲明:
classA
(
intx;
public:
A(intn)
(
x=n;
}
};
classB:publicA
(
inty;
public:
B(inta,intb);
);
以下函數(shù)中哪一個(gè)是正確的構(gòu)造函數(shù)
A)B::B(inta,intb):x(a)zy(b){)
B)B::B(inta,intb):A(a),y(b){)
C)B::B(inta,intb):x(a),B(b){}
D)B::B(inta,intb):A(a),B(b){)
10.類(lèi)的析構(gòu)函數(shù)的作用是
A)對(duì)象的初始化B)刪除對(duì)象時(shí)的清理任務(wù)
C)與一般成員函數(shù)一樣D)類(lèi)的初始化
二、填空題
1.假設(shè)要訪(fǎng)問(wèn)指針變量P所指向的數(shù)據(jù),應(yīng)使用表達(dá)式_(1)_O
2.面向?qū)ο蟪绦蛟O(shè)計(jì)中的多態(tài)性包括靜態(tài)多態(tài)性和動(dòng)態(tài)多態(tài)性,前者由_(2)—機(jī)制支持,
而后者那么由_(3)—機(jī)制支持。
3.引入虛基類(lèi)的目的是為了解決多重繼承中的(4)和(5)—問(wèn)題。
4、有一種只在循環(huán)語(yǔ)句或switch語(yǔ)句中使用的流程控制語(yǔ)句,表示該語(yǔ)句的關(guān)鍵字是
—(6)_o
5.下面程序的功能是計(jì)算1-3+5-7+...-99+101的值存在s中,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
(
intizt=l,s=0;
for(i=l;i<=101;(7))
(
s=s+i*t;
t=_(8)_;
}
}
6.在C++語(yǔ)言中,邏輯假用—(9)表示。
7.類(lèi)的成員包括_(10)—和_(11)—兩種,在面向?qū)ο蟮男g(shù)語(yǔ)中,前者稱(chēng)為屬性、
后者稱(chēng)為方法。其訪(fǎng)問(wèn)權(quán)限有三種,由符號(hào)_(12)._(13)—和—(14)_指
定,其中具有—(15)—權(quán)限的成員只有類(lèi)中的成員函數(shù)才能訪(fǎng)問(wèn)、而具有_(16)_權(quán)
限的成員在任何函數(shù)中都可訪(fǎng)問(wèn)。
8.構(gòu)造函數(shù)是一個(gè)特殊的成員函數(shù),其特殊性表現(xiàn)在創(chuàng)立對(duì)象時(shí)會(huì)(17)o構(gòu)造函
數(shù)名必須與—(18)—相同.
9.函數(shù)重載是指一組函數(shù)具有相同的_(19)_,在函數(shù)調(diào)用時(shí),編譯程序根據(jù)—
(20)個(gè)數(shù)和類(lèi)型確定使用那一個(gè)版本。
三、判斷以下說(shuō)法的正確性,正確的劃4,錯(cuò)誤的劃X
1.析構(gòu)函數(shù)是一個(gè)函數(shù)體為空的成員函數(shù)。
2.函數(shù)重載可以實(shí)現(xiàn)動(dòng)態(tài)多態(tài),虛函數(shù)可以實(shí)現(xiàn)靜態(tài)多態(tài)。
3.假設(shè)有定義:doublex[3][5];那么x數(shù)組列下標(biāo)的上限是5,下限是1。
4.不能在類(lèi)的構(gòu)造函數(shù)中對(duì)其靜態(tài)數(shù)據(jù)成員進(jìn)行初始化。
5.在C++中,可以使用關(guān)鍵字struct定義類(lèi)。
6.用class定義的類(lèi)中,默認(rèn)的訪(fǎng)問(wèn)權(quán)限是私有的。
7.一個(gè)類(lèi)中必須要有公有成員和私有成員。
8.如果在一個(gè)程序塊中有兩個(gè)變量具有相同的名字,并且都有效,只是它們的作用域不司,
那么優(yōu)先訪(fǎng)問(wèn)作用域較小的那個(gè)變量。
9.如果一個(gè)成員函數(shù)只訪(fǎng)問(wèn)一個(gè)類(lèi)的靜態(tài)數(shù)據(jù)成員,那么可將該成員函數(shù)說(shuō)明為靜態(tài)成員函
數(shù)。
10.構(gòu)造函數(shù)不能
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)器設(shè)備租賃合同
- 酒店宴會(huì)廳租賃協(xié)議
- 2025年度金融公司合同保密協(xié)議模板
- 山西同文職業(yè)技術(shù)學(xué)院《醫(yī)學(xué)信息收集與信息處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 邵陽(yáng)工業(yè)職業(yè)技術(shù)學(xué)院《電路原理B》2023-2024學(xué)年第二學(xué)期期末試卷
- 物流司機(jī)雇傭合同
- 吉林省長(zhǎng)春市“BEST合作體”2025屆高三第九次適應(yīng)性考試英語(yǔ)試題含解析
- 佳木斯市東風(fēng)區(qū)2024-2025學(xué)年五年級(jí)數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含答案
- 山東體育學(xué)院《網(wǎng)絡(luò)文學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省自貢市富順縣2024-2025學(xué)年第二學(xué)期初三年級(jí)一模考試數(shù)學(xué)試題試卷含解析
- 幼兒詩(shī)歌《家》課件
- 2024年4月自考00043經(jīng)濟(jì)法概論(財(cái)經(jīng)類(lèi))試題
- 備孕知識(shí)講座課件
- 腹瀉便秘課件
- 《開(kāi)胸心臟按壓技術(shù)》課件
- 標(biāo)準(zhǔn)儀表進(jìn)場(chǎng)程序課程設(shè)計(jì)
- 麻醉科臨床診療指南2020版
- 餐券模板完整
- 燃?xì)夤艿辣Wo(hù)辦法
- 全國(guó)水利ABC證單選題五
- 明框玻璃幕墻計(jì)算書(shū)
評(píng)論
0/150
提交評(píng)論