![南京信息工程大學(xué)C++期中試卷_第1頁(yè)](http://file4.renrendoc.com/view10/M03/0C/3E/wKhkGWWvdMiASwMjAAIY9CvPm00654.jpg)
![南京信息工程大學(xué)C++期中試卷_第2頁(yè)](http://file4.renrendoc.com/view10/M03/0C/3E/wKhkGWWvdMiASwMjAAIY9CvPm006542.jpg)
![南京信息工程大學(xué)C++期中試卷_第3頁(yè)](http://file4.renrendoc.com/view10/M03/0C/3E/wKhkGWWvdMiASwMjAAIY9CvPm006543.jpg)
![南京信息工程大學(xué)C++期中試卷_第4頁(yè)](http://file4.renrendoc.com/view10/M03/0C/3E/wKhkGWWvdMiASwMjAAIY9CvPm006544.jpg)
![南京信息工程大學(xué)C++期中試卷_第5頁(yè)](http://file4.renrendoc.com/view10/M03/0C/3E/wKhkGWWvdMiASwMjAAIY9CvPm006545.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
南京信息工程大學(xué)濱江學(xué)院
2011—2012學(xué)年第一學(xué)期
面向?qū)ο蟪绦蛟O(shè)計(jì)課程試卷(期中卷)
注意:1、本課程為—必修(表明必修或選修),學(xué)時(shí)為51,學(xué)分為3
2、本試卷共10頁(yè):考試時(shí)間120分鐘:出卷時(shí)間:2011年11月
3、姓名、學(xué)號(hào)等必須寫在指定地方;考試時(shí)間:2011年11月—日
4、本考卷適用專業(yè)年級(jí):網(wǎng)絡(luò)工程、實(shí)驗(yàn)班任課教師:李振宏
六
題號(hào)一二三四五七八九十十一十二總分
以上內(nèi)容
得分
為教師填
閱卷入寫)
專
業(yè)年級(jí)班級(jí)
學(xué)號(hào)姓名
請(qǐng)仔細(xì)閱讀以下內(nèi)容:
1、考生必須遵守考試紀(jì)律,本人已經(jīng)閱讀并清楚了解《南京信息工程大學(xué)濱江學(xué)
院考試紀(jì)律規(guī)定》。
2、所有考試材料不得帶離考場(chǎng)。
3、考生進(jìn)入考場(chǎng)后,須將學(xué)生證或身份證放在座位的左上角。
4、考場(chǎng)內(nèi)不許抽煙、吃食物、喝飲料。
5、考生不得將書籍、作業(yè)、筆記、草稿紙帶入考場(chǎng),主考教師允許帶入的除外。
6、考試過程中,不允許考生使用通訊工具。
7、開考15分鐘后不允許考生進(jìn)入考場(chǎng),考試進(jìn)行30分鐘后方可離場(chǎng)。
8、考生之間不得進(jìn)行任何形式的信息交流。
9、除非被允許,否則考生交卷后才能離開座位。
一、選擇題(每2.5分,共75分)
(1)卜列關(guān)于C++關(guān)鍵字的說法中正確的是D
A)關(guān)鍵字是用戶為程序中各種需要命名的“元素”所起的名字
B)關(guān)鍵字是對(duì)程序中的數(shù)據(jù)進(jìn)行操作的一類單詞
C)關(guān)鍵字是在程序中起分割內(nèi)容和界定范圍作用的一類單詞
D)關(guān)鍵字是C++中預(yù)先定義并實(shí)現(xiàn)一定功能的一類單詞
(2)下列關(guān)于C++函數(shù)的描述中正確的是B
A)主函數(shù)是程序的入口,它由用戶定義的函數(shù)調(diào)用
B)函數(shù)在調(diào)用之前必須先被聲明
C)每個(gè)用戶定義的函數(shù)只能被其他函數(shù)調(diào)用一次
D)函數(shù)是C++中面向?qū)ο蟪绦蛟O(shè)計(jì)框架的基本組成單元
(3)C++語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是A
A)%=B)/C)=D)<=
(4)在C++語(yǔ)言中,退格符是D
A)\nB)\tC)\fD)\b
(5)有如下程序段D
#include<iostream.h>
voidmain()
{inta=14,b=15,x;
charc='A';
x=(a&&b)&&(c<'B');
cout?x;}
執(zhí)行該程序段后,x的值為
A)tureB)falseC)0D)1
(6)#include<iostream.h>
voidmain()
{intn=9;
while(n>6){n—;
cout?n;}}
該程序的輸出結(jié)果是B
A)987B)876C)8765D)9876
(7)如下程序的執(zhí)行結(jié)果是A
#include<iostream.h>
voidmain()
{staticinta[]={1,7,3,9,5,11);
int*p=a;
*(p+3)+=4;
cout?*p?,',M?*(p+3);}
A)1,13B)1,16C)3,13D)1,14
(8)下面說明不正確的是D
A)chara[10]二"china”;
B)chara[10],*p=a;p=Mchina";
C)char*a;a=Hchina";
D)chara[10],*p;p=a="chinan;
(9)F列程序的輸出結(jié)果是C
#include<iostream.h>
voidmain()
{doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
cout?y*d?endl;}
A)3B)3.2C)0D)3.07
(10)有以下程序
#include<iostream.h>
intf(intn)
{if(n==l)return1;
elsereturnf(n-1)+1;}
voidmain()
{intij=0;
for(i=l;i<3;i++)j+=f(i);
cout?j;}
程序運(yùn)行后的輸出結(jié)果是B
A)4B)3C)2D)1
(IDC++語(yǔ)言中類的定義的結(jié)束聲明的符號(hào)是A
A)}B),C);D){
(12)關(guān)于類定義中的語(yǔ)句錯(cuò)誤的是B
classA
{inti;
Aa;
A*b;
char*ch;};
A)inti;B)Aa;C)A*b;D)char*ch;
(13)執(zhí)行下面的程序段后,變量k中的值為A
#include<iostream.h>
voidmain()
{intk=3,s[2];
s[0]=k;k=sL1]*10;
cout?k;}
A)不定值B)33C)30D)10
(14)關(guān)于語(yǔ)句
#include<iostream>
usingnamespacestd;
voidmain()
{cout?100.8989663?'';
cout?fixed?100.8989663?'';
cout?scientific?100.8989663?'r;}
的輸出結(jié)果為A
A)100.899100.8989661.008990e+002
B)100.8989663100.8989661.008990e+002
C)100.899100.8989661.008989e+002
D)100.899100.89896631.008989e+002
(15)以下程序的結(jié)果是D
#include<iostream.h>
voidmain()
{char*p="abcdefgh",*r;
long*q;
q=(long*)p;
q++;
r=(char*)q;
cout?r?endl;}
A)defgB)cdefC)ghabD)efgh
(16)以下程序的輸出結(jié)果是A
#include<iostream.h>
voidmain()
{charc=1z’;
cout?c-25;}
A)97B)ZC)z-25D)z
(17)有以下程序
#include<iostream.h>
structSTU
{charnum[10];
floatscore[3];};
voidmain()
{structSTUs[3]={{"2002「',90,95,85},
{"20022",95,80,75},
{"20023H,100,95,90}},*p=s;
inti;
floatsum=0;
for(i=0;i<3;i++)
sum=sum+p->score[i];
cout?sum;}
程序運(yùn)行后的輸出結(jié)果是B
A)260B)270C)280D)285
(18)下面程序段中,for循環(huán)的執(zhí)行次數(shù)是B
char*s=u\ta\018bcu;
for(;*s!='\0';s++)cout?
A)9B)5C)6D)7
(19)下列程序的運(yùn)行結(jié)果是A
#include<iostream.h>
voidfun(int*a,int*b)
{int*k;
k=a;a=b;b=k;}
voidmain()
{inta=2004,b=9,*x=&a,*y=&b;
fun(x,y);
cout?a?'fn?b?endl;}
A)20049B)92004C)00D)編譯時(shí)出錯(cuò)
(20)以下程序的輸出結(jié)果是D
#include<iostream.h>
intf()
{staticinti=0;
ints=l;
s+=i;i++;
returns;}
voidmain()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
cout?a;}
A)20B)24C)25D)15
(21)以下C++語(yǔ)言中用于單行注釋的是A
A)//B)/*C)*/D)I
(22)在32位的計(jì)算機(jī)中,一個(gè)char型數(shù)據(jù)所占的內(nèi)存長(zhǎng)度的字節(jié)是B
A)4B)1C)2D)8
(23)若變量已正確定義并賦值,以下符合C++語(yǔ)言語(yǔ)法的表達(dá)式是B
A)a:=b+lB)a=b=c+2C)int18.5%3D)a=a+7=c+b
(24)有如下程序:A
#include"iostream.h"
voidmain()
(
intx=1,a=0,b=0;
switch(x){
case0:b++;
case1:a++;
case2:a++;b++;
)
cout?na=n?a?vvnb=n?b;
)
該程序的輸出結(jié)果是
A)a=2,b=l
B)a=l,b=l
C)a=l,b=0
D)a=2,b=2
(25)有以下程序C
#include"iostream.hn
voidmain()
{
inti=l,j=l,k=2;
if((j++llk++)&&i++)
cout?i?V'?j??k;
cout?endl;
)
執(zhí)行后輸出結(jié)果是
A)1,1,2B)2,2,1C)2,2,2D)2,2,3
(26)若有說明inta[3][4]則a數(shù)組元素的非法引用是D
A)a[0][2*1]B)a[1][3]C)a[4-2]E0]D)a[0][4]
(27)若有語(yǔ)句int*point,a=4;和point=&a;下面均代表地址的?組選項(xiàng)是D
A)a,point,*&aB)&*a,&a,*point
C)*&point,*point,&aD)&a,&*point,point
(28)若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是B
A)函數(shù)調(diào)用可以作為獨(dú)立的語(yǔ)句存在B)函數(shù)調(diào)用可以無(wú)返回值
C)函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中D)函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參
(29)若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是A
#include<iostream.h>
voidmain()
(
intx,y;
cin?x;
y=x>12?x+10:x-12;
cout?y;
cout?endl;
)
A)0B)22C)12D)10
(30)以下類定義中可能會(huì)引起錯(cuò)誤的語(yǔ)句是D
classA
(
public:
?A(){}//l
inti;//2
private:
intj;//3
A(inti){i++;}//4
);
A)1B)2C)3D)4
二、填空題(共25分)
(1)C++語(yǔ)言標(biāo)識(shí)符是以字母或【1】下劃線開頭的,由字母,數(shù)字和下劃線組成的字符串。
(2)在內(nèi)存中,存儲(chǔ)字符'X'要占用1個(gè)字節(jié),存儲(chǔ)字符串〃X"要占用【2】2個(gè)字節(jié)。
(3)mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回,請(qǐng)?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;[3]strfil!='\0';i++);
return(i);}
(4)以下函數(shù)用來求出數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元中。請(qǐng)?zhí)羁铡?/p>
#include<iostream.h>
voidfun(int*s,intt,int*k)
{inti;
*k=0[4];
[5]for(i=l;ivi:i++)
if(s[*k]<s[i])*k=i;}
voidmain()
{inta[10]={876,675,896,101,301,401,980,431,451,777),k;
fun(a,10,&k);
cout?k?a[k];}
(5)如果一個(gè)類中定義了成員對(duì)象,則該類的對(duì)象和成員對(duì)象先被初始化的是【6】成員對(duì)象。
(6)請(qǐng)?jiān)趍ian函數(shù)中填空使下面程序的輸出結(jié)果為11。
#include<iostream.h>
classA
{private:
inta;
intb;
public:
A():a(0),b(1){)
voidshow(){cout?a?"M?b;});
classB
{private:
inta;
intc;
public:
B():a(1),c(1){}
voidshow(){cout?a?""?c;}};
classC:publicA,publicB
{};
voidmain()
{Ccc;
[7]cc.B::show。;}
(7)C++在重載運(yùn)算符中,如用成員函數(shù)重載?元運(yùn)算符參數(shù)表中需要【8】Q個(gè)參數(shù),如用友元函數(shù)重載?
元運(yùn)算符參數(shù)表中需要【9】L個(gè)參數(shù)。
(8)以下程序的輸出結(jié)果是【10】以。
#include<iostream.h>
voidmain()
(
inta=0;
a+=(a=8);
cout?a;
)
(9)以下程序的執(zhí)行結(jié)果為acdb【11】o
#include<iostream.h>
classA
(
public:A(){cout?nan;}
?A(){cout?nbn;}
classB:publicA
public:
B(){cout?ucn;}
?B(){cout?"d";}
);
voidmain()
(
Bb;
)
(10)我們通常用到的cin>>,是屬于途【12】輸入。
二、程序理解
1、寫出運(yùn)行結(jié)果
voidreFunction(charb[],intcurrent,intsize)
(
if(current<size)
{reFunction(b,current+1,size);
cout?blcurrent]?”
intmain()
{constintarraySize=8;
chararr[arraySize]={才Jb丁c:dje7f,g,h};
reFunction(arr,0,arraySize);
cout?endl;
return0;
)
Arr中的字符串反序輸出
2、寫出下面函數(shù)的功能
boolWhatIsThis(constchar*s1,constchar*s2)
(
for(;*sl!='\0'&&s2!='\0';sl++,s2++)
if(*sl!=*s2)returnfalse;
if(si=='\0'&&s2=='\0')returntrue;elsereturnfalse;
)
比較兩個(gè)字符串是否相等,是返回true,否則返回false
3、請(qǐng)寫出下列程序的功能,以及當(dāng)輸入為“efghik”時(shí)的輸出結(jié)果。
intmain()
(
inti;
charstrl[10],str2[10];
cin?strl;
for(i=0;strl[iJ!=W;++i)
str2[i]=strl[i]-+4A*;
str2[i]='\0';
cout?str2?endl;
return0;
)
將字符串中小寫字母轉(zhuǎn)換為大寫字母,EFGHIK
4。寫出運(yùn)行結(jié)果
intfun(int*a,intsize)
{intmax=0,i;
for(i=0;i<size;++i)
if(a[i]>a[max])max=i;
returnmax;
)
doublefun(double*a,intsize)
{doublemax=0;
for(inti=0;i<size;++i)
if(a[il>max)max=a[i];
returnmax;
)
intmain()
{inta[]={3,7,2,9,1,5,0,8,7,4);
doubleb[]={3.3,7.7,9.9,5.5,4.4,8.8,1.1,2.2,0,6.6};
cout?max(a,10)?endl;
cout?max(d,10)?endl;
)
3
9.9
三、程序填空
1,完成下面程序,使得程序輸出結(jié)果為:a=45b=56
voidswap(int*x,int*y)
inttmp;
Tmp="x:
*y=tmp:;
)
intmain()
(
inta=56,b=45;
swap(&a,&b);
cout?Ha="?a?"b="?b?endl;
return0;
2、求1+1/1!+1/2!+1/3!+…+1/20!
#include<iostream>
usingnamespacestd;
intmain()
{doublee=1;
doublet=1;
intn;
for(n=l;nv=20;n++)
{t=t*n;;
e=e+l/t:;}
cout?"1+1/1!+1/2!+1/3!+-+1/20!n?e?endl;
return0;
3。完成二分查找程序:對(duì)一個(gè)有序數(shù)組,首先匹配中間位置的元素,如匹配成功,則返回該中間位置的下標(biāo)值;
否則,如待查關(guān)鍵字大于中間元素,拋開前面的元素,從中間元素的下-元素到數(shù)組尾部范圍重復(fù)以上匹配;
如待查關(guān)鍵字小于中間元素,拋開后面的元素,從數(shù)組首部到中間元素的前一元素范圍重復(fù)以上匹配;如果
查找失敗,則返回-1。
intBinarySearch(intA[],intkey,intn){
intlow=0;//下界結(jié)點(diǎn)的下標(biāo)
inthigh=n-l;//上界結(jié)點(diǎn)的下標(biāo)
intmid;//中間結(jié)點(diǎn)的下標(biāo)
while(lowvhigh){
Mid=(low+high)/2;
if(A[mid]==key)returnmid:;
elseif(key<A[mid])high=mid-l;;
elselow=mid+1;;
)
return;
四、編程題(共20分)
1.編程用如下的格式輸出乘法九九表。(5分)
*123456789
1123456789
24681012141618
39121518212427
4162024283236
52530354045
636424854
7495663
86472
981
#include<iostrcam>
#include<iomanip>
usingnamespacestd;
voidmain()
inti,j,k;
for(i=l;i<=9;i++)
cout?setw(3)?i;
cout?endl;
for(i=l;i<=9;i++)
f
cout?setw(3)?i;
for(j=l;j<=9;j++)
(
ifg)
cout?setw(3)?^^
else
cout?setw(3)?i*j;
)
cout?endl;
1
2。已知一四位數(shù)a2b3能被23整除,編一程序求此四位數(shù)。(5分)
#include<iostream>
usingnamespacestd;
voidmain()
(
inti,j;
for(i=l;i<=9;i++)
for(j=0;j<=9;j++)
if((a*1000+2*100+b*10+3)%23==0)
cout?a?2?b<<3
C++程序設(shè)計(jì)試卷2
一、判斷題(1x10)
1.C++表達(dá)式4/8.0+4/7的值為double型,值為1.07。
2.定義c為一個(gè)整型變量,則表達(dá)式c&&'\0’的值恒為0。
3.若一個(gè)C++程序中說明一個(gè)全局變量I;則該程序所有的函數(shù)都可以引用此全局變量。
4.一個(gè)完整的C++程序從編譯預(yù)處理指令處開始執(zhí)行。
5.在C++中,當(dāng)定義變量時(shí)不區(qū)分大小寫。
6.C++規(guī)定:在每一個(gè)字符串的結(jié)尾加上一個(gè)空字符以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。
7.C++語(yǔ)言中break語(yǔ)句和continue語(yǔ)句的區(qū)別在于:break語(yǔ)句是終止本次循環(huán),continue
語(yǔ)句是結(jié)束所有循環(huán)。
8.p為一指針變量,則表達(dá)式(*p)++和*(p++)兩個(gè)表達(dá)式的值是一樣的,都是指向下一個(gè)單元的
值。
9.數(shù)組是若干相同類型的數(shù)據(jù)的集合,每個(gè)元素可以由數(shù)組名和下標(biāo)構(gòu)成。
10.C++中,如果在定義函數(shù)時(shí)加上關(guān)鍵字extern,則表示此函數(shù)是外部函數(shù),可以被其他文件調(diào)
用
二、選擇題(2x15)
1、若x是一變量,則x||!x的值是()
A.為trueB.為false
C.與x的值有關(guān)、D.與x的值相反
2.C++源程序文件的后綴名為:
A.cppB.exe
C.objD.lik
3、對(duì)于有返回值的函數(shù),要結(jié)束函數(shù)運(yùn)行必須使用語(yǔ)句
A.breakB..return
CcontinueD.main
4.所謂的靜態(tài)存儲(chǔ)即在程序運(yùn)行期間分配固定的
A.作用范圍B.存儲(chǔ)單元
C.變量類型D.變量名稱
5、語(yǔ)句while(!x);中的x等價(jià)于
A.x==0B.x!=1
C.x==5D.x==1
6、語(yǔ)句for(l=0J=0;l〈=100;l++)j=j+l;的結(jié)果為
A.500B.100
C.5000D.5050
7.給出以下定義:inta,*p;則下面正確的賦值語(yǔ)句為
A.p=a;B.&p=a;
C.p=&a;D.p=*a;
8.表達(dá)式'c'&&'d'、'c'&&''0'和!‘c'『c'v='d'的值為
A.000B.101
C.110D.111
9.在下列對(duì)字符串的定義中,錯(cuò)誤的是
A.charstr[10]=),china,';B.char*str="china”;
C.char*str[10]={'c','h','i','n','a',''0'};D.charstr[]=,,china";
10.若有inta=4;floatb=14.70,能正確表示a+b對(duì)a取余的表達(dá)式是()
A.(a+b)/cB.(a+b)%c
C.(int)((a+b)%c)D.(a+(int(b)))%c
11.下面對(duì)函數(shù)的正確的定義語(yǔ)句是
A.floatfunction(inta,b);B.floatfunction(inta;b);
C.floatfunction(inta,intb);D.floatfunction(inta;intb);
12.設(shè)已定義數(shù)組chararray[20]=,,lamstudent,,,
則函數(shù)strlen(array)的返回值()
A.11B.12C.13D.14
13.在函數(shù)內(nèi)部定義的變量稱為
A.全局變量B.局部變量
C.整型變量D.字符型變量
14、已定義一個(gè)數(shù)組intarray[10];則對(duì)此數(shù)組正確的引用是()
A.cout?array[10];B.cout?array(0);
C.intb;b=array[O]+array;D.cout?array[5+4];
15、如果一外部變量只允許被本文件引用,
則應(yīng)在該外部變量定義前加上修飾()
A.staticB.externC.registerD.auto
三、填空(1x14).
1.一個(gè)可以執(zhí)行的C++語(yǔ)言的源程序文件經(jīng)過編譯后生成的文件的擴(kuò)展名為
2.函數(shù)類型定義時(shí),如果在函數(shù)前加void,則表示該函數(shù)。
3、一個(gè)整型變量和一個(gè)長(zhǎng)整型變量在內(nèi)存中所占的字節(jié)數(shù)分別為字節(jié)和
字節(jié)。
4.過程化程序設(shè)計(jì)方法中,每個(gè)程序單位由三部分構(gòu)成,即:、、
5.一個(gè)整型數(shù)組的元素個(gè)數(shù)為10個(gè),則在內(nèi)存中必須至少有字節(jié)的空間才可以存
放.
6inta=3,則表達(dá)式(int)(a+6.5)%2+(a=b=5)的值為。
7在指針的概念中表示的含義為;而"&”表示的含義為.
8設(shè)x、y和z都是整型變量,則表達(dá)式(x=1,y=33,z=34)的值為
9標(biāo)識(shí)符只可以由三種字符組成,他們是一、和數(shù)字.
四、簡(jiǎn)答題(20)1、請(qǐng)用C++語(yǔ)言的表達(dá)式表示下列代數(shù)式。
(1)y]s(s-a)(s-b)(s-c)
⑵土就3
3
2定義結(jié)構(gòu)體類型student,該結(jié)構(gòu)體包含的成員為name(字符型)、age(整型)、sex(字符型)、
number(整型),定義一個(gè)student類型指針變量std。
五、閱讀程序(26)
(一).寫出下列程序的輸出結(jié)果是(5x2)
1.#include<iostream>usingnamespacestd;
intmain(){inti=1,sum=O;
do{sum+=i;i++;}while(i<=100)
cout?,,sum=,,?sum?endl;return0;}
2.#include<iostream>usingnamespacestd;
intmain(){charstr1[]="llovechina!",str2[20],*p1,*p2;
p1=str1;p2=str2;
for(;*p1!=>\0,;p1++,p2++)
{*p2=*p1;
*p2=>\0,;
p1=str1;p2=str2;}
cout?,,str1is:"?p1?endl;
cout?"str2is:M?p2?endl;
return0;}
(二)程序填空(2x8)
1.使用子函數(shù)求兩個(gè)實(shí)數(shù)的和
#include<iostream>
usingnamespacestd;
intmain()
{;〃子函數(shù)聲明
floata,b,c;coutv<”輸入兩個(gè)實(shí)數(shù)”;cin?a?b;
c=;〃子函數(shù)調(diào)用
cout?"兩個(gè)實(shí)數(shù)a和b的和為:"<<c<vendl;
return0;}
floatadd(floatx,floaty)
{floatz;z=x+y;;}
2.用冒泡排序法對(duì)輸入的20個(gè)整數(shù)從大到小進(jìn)行排序
#include<iostream>
usingnamespacestd;
intmain()
{inta[20],i,j,k,max;
cout?"\nPleaseinput20data:\n";
for(i=0;i<20;i++)
cin?;
for(i=0;i<19;i++)
for(;;j++)
if()
{k=a[j];
a[j+1]=k;}
cout?,\n,;
for(i=0;i<20;i++)cout?a[i]?n
return0;}
參考答案
一、判斷題
x,N,q,x,x,q,x,q,q,?
二、選擇題
A,A,B,B,A,D,C>B,C,D,C,A,B,D,A
三、填空題
[、.obi_____
2、無(wú)返回值
3、4個(gè),4個(gè)
4、預(yù)處理指令、聲明部分、函數(shù)。
5、40
6、6
7、指針運(yùn)算符,取地址符
8、34
9、字母、下劃線
四、簡(jiǎn)答題
1、請(qǐng)用C++語(yǔ)言的表達(dá)式表示下列代數(shù)式。
(1)sqrt(s*(s-a)*(s-b)*(s-c))
(2)(4*TT*R*R*R)/3
2、structstudent
{charname;
intage;
charsex;
intnumber;
}std;
五、閱讀程序
(?).寫出下列程序的輸出結(jié)果是
1>__________sum=5050________________________
2、str1="llovechina!"
str2="llovechina!"
(-)程序填空
floatadd(floatx,floatv)
add(a,b)_______
return⑵
2、_afi]
i=o:i=20-i
a「l>a「+1l
a「l=aR+1l;
C++程序設(shè)計(jì)試卷
一、判斷題(1X10)
1.C++表達(dá)式4/7和4.0/7的值是相等的,且都為double型。()
2.若有int1=10,j=0;則執(zhí)行完語(yǔ)句if(j=0)I++;else1-;1的值為11。()
3.若有intI=10,j=2;則執(zhí)行完I*=j+8;后I的值為28。
4.字符串“china”在內(nèi)存中占據(jù)的存儲(chǔ)空間是5個(gè)字節(jié)。
5.一個(gè)可執(zhí)行的C++語(yǔ)言程序可以包含若干個(gè)函數(shù),但至少必須包含一個(gè)main。函數(shù)。
()
6.一個(gè)C++語(yǔ)言程序可由若干個(gè)源程序文件構(gòu)成,每個(gè)源程序文件也必須包含一個(gè)main。
函數(shù)。
7.在變量定義intsum,SUM;中sum和SUM是兩個(gè)相同的變量名。()
8.一個(gè)變量的地址就稱為該變量的“指針”。()
9.在C++語(yǔ)言中,所有函數(shù)都是平行的,即在定義函數(shù)時(shí)是相互獨(dú)立的,一個(gè)函數(shù)并不
從屬于另一個(gè)函數(shù)。()
10.C++中,在定義函數(shù)時(shí)的參數(shù)是“形式參數(shù)”,在調(diào)用函數(shù)時(shí)的參數(shù)是“實(shí)際參數(shù)”。
二、選擇題(2X10)
1.源程序文件的擴(kuò)展名是:()
A).CPPB).CC).DLLD).EXE
2.循環(huán)至少被執(zhí)行了一次的語(yǔ)句為()
A).for循環(huán)B).while循環(huán)
0.do循環(huán)D).任一種循環(huán)
3.整型變量i定義后賦初值的結(jié)果是:()
inti=2.8*6;
A)12B)16C)17D)18
4、下列表達(dá)式的值為false的是:()
A)1<3&&5<7B)!(2>4)C)3&&0&&1D)!(5<8)||(2<8)
5、設(shè)inta=10,b=ll,c=12;表達(dá)式(a+b)<c&&b==c的值是:()
A)2B)0C)-2D)1
6、下列程序執(zhí)行完后,x的值是:()
intx=0;
for(intk=0;k<90;k++)if(k)x++;
A)0B)30C)89D)90
7、下列程序段循環(huán)次數(shù)是:()
intx=-10;while(++x)cout<<x<<endl;
A)9B)10C)11D)無(wú)限
8、表示“大于10而小于20的數(shù)“,正確的是:()
A)10<x<20B)x>10||x<20
C)x>10&x<20D)x>10&&x<20
9、在下面的一維數(shù)組定義中,哪一個(gè)有語(yǔ)法錯(cuò)誤()
A),inta[]={1,2,3};B).inta[10]={0};
C).inta[n]D).inta[5]
10、設(shè)a=l,b=2,貝U(a++)+b與a+(++b)這兩個(gè)表達(dá)式的值分別為:()
A)3,3B)3,4C)4,3D)4,4
三、填空(2X15).
1、描述命題“A小于B或小于C”的表達(dá)式為—[1]o
2、假定x和y整型,其值分別為16和5,則X%Y和X/Y的分別為【分和【3】。
3、一個(gè)C++語(yǔ)言程序總是從[4]開始執(zhí)行。
4、C++語(yǔ)言程序中出現(xiàn)的/*……*/部分或〃……部分所起的作用是—【5】_。
5、C++規(guī)定:在每一個(gè)字符串的結(jié)尾加上??個(gè),以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。
6、若有intx=4,y=7;則表達(dá)式x*=x+y的值為[7]。
7、過程化程序設(shè)計(jì)方法中,程序有三種基本結(jié)構(gòu),即:-[8]、、
8、C++語(yǔ)言中所提供的循環(huán)控制語(yǔ)句有三種,即:____[11]、【12]、
[13]□
9、C++語(yǔ)言中用來存放變量地址的變量稱作—[14]o
10、作為語(yǔ)句標(biāo)號(hào)使用的C++保留字case和default只能用于—【15]一語(yǔ)句的定義體中。
四、簡(jiǎn)答題(5X3)
1.請(qǐng)用C++語(yǔ)言的表達(dá)式表示下列代數(shù)式。
*3+s_________________
1)----2)y/s(s-a)(s-b)(s-c)
工一〉
2.根據(jù)要求定義數(shù)據(jù)類型或變量
定義結(jié)構(gòu)體類型date,該結(jié)構(gòu)體包含的成員為year(整型)、month(整型)、day(整型),再定
義date型變量birthday□
五、分析程序運(yùn)行結(jié)果(15)
1.寫出下列程序的輸出結(jié)果。
#include<iostream>m=++i+j++;
usingnamespacestd;n=(++i)+(++j)+m;
intmainOcout?i?,\t'?j?,\t,?
{charm?,\t'<<n?endl;
cl=,a',c2='d',c3='f'return0;
cl+=2;)
c2+=2;運(yùn)行結(jié)果:
c3+=2;
cout?cl?c2<<c3?endl;3.寫出下列程序的輸出結(jié)果。
return0;#include<iostream>
)usingnamespacestd;
運(yùn)行結(jié)果:intmainO
{constintn=5;
2.寫出下列程序的輸出結(jié)果。inta[n]={9,6,3,4,5},i,t;
#include<iostream>for(i=0;i<n/2;i++)
usingnamespacestd;{t=a[i];a[i]=a[n-i-l];a[n-i
inti,j,m,n;
intmain()for(i=0;i<n;i++)
{i=5;
j=6;cout<<endl;
return0;
)
運(yùn)行結(jié)果:
for(i=0;i<=8;i++)
for(_[1];【2】
六、程序填空題(10)
;j++)
if(a[j]<a[i])
{t=a[j];
1、用選擇法對(duì)十個(gè)整數(shù)排序?!?】;
#include<iostream>[4];}
usingnamespacestd;for(i=l;i<=10;i++)
intmain()cout<<a[i]<<w";
{intcout?endl;
a[10]={5,4,6,9,8,3,7,2,1,0},ireturn0;
,j,t;)
參考答案
-、判斷題(10分,每題1分)
12345678
XXXXVXXV
9101112131415
VV
二、選擇題(20分,每題2分)
12345678
ACBCBCAD
9101112131415
CB
三、語(yǔ)法填空題(30分,每空2分)
【1】A<BIIA<C【2】1【3】3【4】主函數(shù)
【5】注釋【6】’\0,【7】44【8】順序
【9】選擇【10】循環(huán)【11】while語(yǔ)句
【12】dowhile語(yǔ)句【13]for語(yǔ)句【14】指針變量【15】Switch
四、簡(jiǎn)答題。(15)
1請(qǐng)用C++語(yǔ)言的表達(dá)式表示下列代數(shù)式
(1)(x*x*x+5)/(x-y)(2)sqrt(s*(s-a)*(s-b)*(s-c))
2根據(jù)要求定義數(shù)據(jù)類型或變量
structdate
{intyear;
intmonth;
intday;
}birthday;
五、分析程序運(yùn)行的結(jié)果(15)
1、cfh2、7812273、54369
六、程序填空題(20分,每空2分)
[1]i=i+l[2]i<=9[3]a[i]=a[il[4]a[i|=t
第_27—頁(yè)共6頁(yè)
2009?2010學(xué)年第1學(xué)期考試科目:《面向?qū)ο蟪绦蛟O(shè)計(jì)》
考試類型:(閉卷)考試考試時(shí)間:120分鐘
學(xué)號(hào)姓名年級(jí)專業(yè)07電氣
題號(hào)一二三四五總分
得分
評(píng)閱人
一、填空題(本題共20小題,每小題1分,共20分)
1.面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)及對(duì)數(shù)據(jù)的量但放在一起,作為一個(gè)相互依存,不可分
割的整體來處理,即對(duì)象。
2.對(duì)象的四大基本特性是多態(tài)性、繼承性、抽象性和封裝性。為了使類中的成員
不能被類外的函數(shù)通過成員操作符訪問,則應(yīng)把該成員的訪問權(quán)限定義為私有
(private)屬性。
3.C++語(yǔ)言的標(biāo)準(zhǔn)輸入對(duì)象是cin,源文件擴(kuò)展名為CPP.
4.C++中定義常量的關(guān)鍵字是const,定義虛函數(shù)所用的關(guān)鍵字是virtual。
5.C++中進(jìn)行輸入、輸出操作時(shí),將數(shù)據(jù)對(duì)象從輸入流提取出來的運(yùn)算符是>>,插入
到輸出流的運(yùn)算符是《。
6.在#include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是用戶自己一
定義的頭文件。
7.類的繼承是指子類繼承基類的一數(shù)據(jù)邈—和成員函數(shù)。
8.不同對(duì)象可以調(diào)用相同名稱的函數(shù),但可導(dǎo)致完全不同的行為的現(xiàn)象稱為多態(tài)性
__O
9.C++的流庫(kù)預(yù)定義了4個(gè)流,它們是cin、cout^cerr>Fnclogo
10.設(shè)類A有成員函數(shù)voidFun(void);若要定義一個(gè)指向類成員函數(shù)的指針變量pafn來
指向Fun,該指針變量的聲明語(yǔ)句是:void(A::*pafn)()0
11.設(shè)在程序中使用如下語(yǔ)句申請(qǐng)了一個(gè)對(duì)象數(shù)組:Point*ptr=newPoint[2];則在需
要釋放ptr指向的動(dòng)態(tài)數(shù)組對(duì)象時(shí),所使用的語(yǔ)句是delete口供「。
12.在保護(hù)派生中,基類權(quán)限為Private的成員在派生類中一不可訪問_。
13.類A有如下成員函數(shù):intA::fun(doublex){return(int)x/2;};intA::fun(intx){return
第_28—頁(yè)共6頁(yè)
x*2;}。設(shè)a為類A的對(duì)象,在主函數(shù)中有ints=a.fun(6.0)+a.fun(2),則執(zhí)行該語(yǔ)
句后,s的值為工。
14.C++中多態(tài)性包括兩種多態(tài)性:靜態(tài)多態(tài)性和動(dòng)態(tài)多態(tài)性。前者是通過函數(shù)重
載實(shí)現(xiàn)的,而后者是通過虛函數(shù)和動(dòng)態(tài)聯(lián)編來實(shí)現(xiàn)的。
15.將指向?qū)ο蟮闹羔樧鳛楹瘮?shù)參數(shù),形參是對(duì)象指針,實(shí)參是對(duì)象的—地址
16.在繼承機(jī)制下
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加強(qiáng)個(gè)人職業(yè)技能提升的步驟計(jì)劃
- 班級(jí)工作計(jì)劃安排方案
- 開展班級(jí)技能培訓(xùn)的路徑計(jì)劃
- 2025年紡織染整助劑:凈洗劑項(xiàng)目發(fā)展計(jì)劃
- 2025年紡織、服裝、鞋帽批發(fā)服務(wù)項(xiàng)目發(fā)展計(jì)劃
- 2025年錘紋漆合作協(xié)議書
- 承包合同屬于勞務(wù)合同
- 關(guān)于項(xiàng)目延期原因的書面解釋報(bào)告
- 礦山合作協(xié)議跟承包協(xié)議
- 關(guān)于辦公資源調(diào)配的通知
- 2024年湖南外貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案解析
- 2024年教育部的中小學(xué)德育工作指南
- 公務(wù)員考試申論試題與參考答案(2025年)
- 七年級(jí)數(shù)學(xué)(人教)上冊(cè)木桿和重物試驗(yàn)方程解法
- DB41T 2599-2024 煤礦地震監(jiān)測(cè)站網(wǎng)技術(shù)規(guī)范
- 抖音賬號(hào)租賃合同協(xié)議
- 小孩進(jìn)入廠區(qū)安全免責(zé)協(xié)議書(2篇)
- 服裝行業(yè)環(huán)保低碳生產(chǎn)方案
- 三甲醫(yī)院臨床試驗(yàn)機(jī)構(gòu)-31 V00 專業(yè)組備案及考核SOP
- 胞嘧啶化學(xué)合成
- 部編版道德與法治小學(xué)四年級(jí)下冊(cè)全冊(cè)教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論