C 語(yǔ)言程序設(shè)計(jì)試題試題及答案62_第1頁(yè)
C 語(yǔ)言程序設(shè)計(jì)試題試題及答案62_第2頁(yè)
C 語(yǔ)言程序設(shè)計(jì)試題試題及答案62_第3頁(yè)
C 語(yǔ)言程序設(shè)計(jì)試題試題及答案62_第4頁(yè)
C 語(yǔ)言程序設(shè)計(jì)試題試題及答案62_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論