VC試卷(含參考答案)_第1頁(yè)
VC試卷(含參考答案)_第2頁(yè)
VC試卷(含參考答案)_第3頁(yè)
VC試卷(含參考答案)_第4頁(yè)
VC試卷(含參考答案)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE1共7頁(yè),第7頁(yè)使用前注意保密江蘇科技大學(xué)非計(jì)算機(jī)專業(yè)學(xué)生VisualC++程序設(shè)計(jì)語(yǔ)言期末考試試卷代號(hào):VC09說明:本試卷為筆試題,含選擇、填空、及編程三部分。本試卷滿分為100分,考試時(shí)間為120分鐘。3、所有答案必須寫在答題紙上,否則不計(jì)成績(jī)。填寫答案時(shí),注意題號(hào);特別是填空題,做到答案、填空號(hào)與試題對(duì)應(yīng)。答題紙上必須寫明學(xué)號(hào)(含班級(jí)號(hào))、姓名。

選擇題(10x2=20)1、設(shè)a,b為整型變量,且均不為0,以下關(guān)系表達(dá)式中恒成立的是。:A、a*b/a*b==1 B、a/b*b/a==1C、a/b*b==a D、a/b*b+a%b==a2、在C++中,判斷char型變量ch是否為大寫字母的正確表達(dá)式是。:A、’A’<=ch<=’Z’ B、(ch>=’A’)&(ch<=’Z’)C、(ch>=’A’)&&(ch<=’Z’) D、(‘A’<=ch)AND(‘z’>=ch)3、設(shè)有說明語(yǔ)句:charstr[]="abcde";inta[5];下列選項(xiàng)中,存在語(yǔ)法錯(cuò)誤的是:A.cout<<str; B.cin>>str; C.cin>>a; D.cin>>a[0];4、下列二維數(shù)組的定義中,不正確的是:A、inti[][4]={{1,2,3},4,5}; B、inti[4][]={1,2,3,4,5,6};C、inti[][4]={1,2}; D、inti[4][4]={{1},{2},{3},{4}};5、設(shè)有宏定義如下,則變量x的值為:#defineA4#defineBA+6#defineC(x)x*B/2 intx=C(2+8);A、50 B、43 C、42 D、376、設(shè)有說明語(yǔ)句:voidfun(int*t1,int&t2);inta=5,b=10;以下對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是:A.f(a,b); B.f(&x,&y); C.f(a,&b); D.f(&a,b);7、設(shè)有說明:inta=5,b=5,c;執(zhí)行語(yǔ)句:c=a>b&&(c=b)&&(b*=a++);則a、b、c的值分別為:A.6,25,0 B.5,5,0 C.5,5,5 D.6,25,58、關(guān)于類的訪問特性的說明,下列說法正確的是()A在同一個(gè)類中,說明訪問特性的關(guān)鍵字可以多次使用B成員數(shù)據(jù)必須說明為私有的C必須在每一個(gè)成員前單獨(dú)標(biāo)明訪問特性D必須首先說明私有特性的成員9、用友元函數(shù)進(jìn)行單目運(yùn)算符重載時(shí),該友元函數(shù)的參數(shù)表中參數(shù)的個(gè)數(shù)為:A.0 B.1 C.2 D.1或210、以下有關(guān)this指針的敘述中,不正確的是:A.類的非靜態(tài)成員函數(shù)中存在一個(gè)this指針 B.this指針缺省的初值為0C.類的非靜態(tài)成員函數(shù)中可直接使用this指針 D.this指針指向當(dāng)前對(duì)象填空題(30x2=60)1、設(shè)有inta,b;執(zhí)行語(yǔ)句:b=(a=2+3,a*4),a+5;后,a+b的值為(1)。2、設(shè)指針p指向單向鏈表的某節(jié)點(diǎn),p->next指向p節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)。節(jié)點(diǎn)p是鏈表的倒數(shù)第三個(gè)節(jié)點(diǎn)的條件是:(2)。3、執(zhí)行下列語(yǔ)句序列后,變量i的值為(3),變量j的值為(4)。 chars[20]=”123\0abc”; inti=strlen(s),j=sizeof(s);4、下列程序的運(yùn)行結(jié)果是(5)。#include<iostream.h>voidsub(int*x,intn,intk){ if(k<=n)sub(x,n,3*k); *x+=k;}voidmain(){intx=0;sub(&x,6,2);cout<<x<<endl;}5、下列程序輸出的第1行為(6),第2行為(7),第3行為(8)。#include<iostream.h>inta,b=5;voidfun(inta,intc){ staticx; x+=a+c; inty=10; y+=b+c; cout<<x<<'\t'<<y<<'\n';}voidmain(){ inta=10,b=20; fun(a,b); { inta=30; fun(a,b); } cout<<a<<'\t'<<::a<<'\n';}6.下列程序的輸出是(9)。#include<iostream.h>voidmain(void){ inta[4][6]={0},i,j,s; for(i=0;i<4;i++){if(i>3)break;for(j=0;j<6;j++){ if(j%2)continue;a[i][j]++; }}for(s=0,i=0;i<4;i++)for(j=0;j<6;j++)s+=a[i][j];cout<<s<<endl;}7.程序輸出的第一行是(10),第二行是(11)。#include<iostream.h>intfun(inta,int&b){ a=a>b?a:b; b+=a; return(a+b);}voidmain(void){ inta=5,b=2,c; c=fun(a,b); cout<<a<<'\t'<<b<<'\t'<<c<<endl; c=fun(a,b); cout<<a<<'\t'<<b<<'\t'<<c<<endl;}8.下列程序的輸出是(12)。#include<iostream.h>intfun2(int);intfun1(intn){ if(n==1)return1; elsereturnn+fun2(n-1);}intfun2(intn){ intt=1; if(n==1)t=1; elset=n*fun1(n-1); returnt;}voidmain(void){ cout<<fun2(4)<<endl;}9.下列程序的輸出是(13)。#include<iostream.h>char*str(char*p1,char*p2){ char*p=p1; while(*p)p++; while(*p++=*p2++); *p++='\0'; returnp1;}voidmain(void){ chars1[50]={"abc"}; chars2[200]={"ABC"}; cout<<str(s1,str(s2,s1))<<'\n';}10.下列程序輸出的第一行是(14),第二行是(15)。#include<iostream.h>classA{ inta,b;public: A(intt1,intt2){a=t1;b=t2;} virtualvoidfun(){cout<<a+b<<"\n";}};classB:publicA{ intc,d;public: B(inta,intb):A(2*a,2*b){c=a;d=b;} voidfun(){cout<<c+d<<"\n";}};voidmain(void){ A*pa=newB(3,5),&a1=*newB(1,1); pa->fun(); a1.fun();deletepa;delete&a1;}11、下列程序通過調(diào)用sort函數(shù)對(duì)具有n個(gè)元素的一維數(shù)組排序,sort函數(shù)采用間接選擇排序法實(shí)現(xiàn)數(shù)組的降序排列,其算法是:(1)第1趟,找出數(shù)組中的最大元素放在第1位;第2趟,找出數(shù)組剩余元素中的最大者放在第2位;以此類推,直至排好數(shù)組的前n-1個(gè)元素;(2)每趟排序,找到當(dāng)前數(shù)組中最大元素的位置,并把該位置的元素放到對(duì)應(yīng)位置。請(qǐng)完善程序。[程序]#include<iostream.h>voidsort(intd[],intn){ for(inti=0;i<n-1;i++) { for(intj= (16) ,k=i;j<n;j++) if(d[j]>d[k])k=j; if(k!=i) {inttmp=d[i];(17); (18) ; }}voidmain(){ intt[10]={2,5,6,1,8,4,7,3,9,6}; sort( (19) ); for(inti=0;i<10;i++) cout<<t[i]<<'\t'; cout<<'\n';}12、以下程序找出二維數(shù)組a中每列的最大值,并按一一對(duì)應(yīng)的順序放入一維數(shù)組b中。即第0列的最大值放入b[0],第1行的最大值放入b[1]…然后輸出數(shù)組a和每列的最大值。請(qǐng)完善程序。[程序]#include<iostream.h>voidfun(intp[][5],intn,inta[]){for(inti=0;i<5;i++){a[i]=(20);for(intj=0;j<(21);j++) if(p[j][i]>a[i])a[i]=p[j][i];}}voidmain(){intb[5],a[3][5]={23,4,45,65,5,65,8,87,3,26,7,68,4,97,243};(22);for(inti=0;i<3;i++){ for(intj=0;j<5;j++) cout<<a[i][j]<<'\t'; cout<<'\n';}cout<<"該列最大值:"<<'\n';for(i=0;i<5;i++) cout<<(23)<<'\t';cout<<'\n';}13、以下程序的功能是:求滿足以下條件的所有三位數(shù):(1)該三位數(shù)是某一個(gè)二位數(shù)的平方;(2)該三位數(shù)的各位數(shù)字中至少含有一個(gè)數(shù)字5。請(qǐng)完善程序#include<iostream.h>intf(inty) //y若滿足條件,返回1;否則返回0{ inti,j,k; i=(24);//取出y的個(gè)位上的數(shù)字 j=(25);//取出y的十位上的數(shù)字 k=(26);//取出y的百位上的數(shù)字 if((27)) //判斷y的各位數(shù)字中是否有數(shù)字5 return0; for(i=10;;i++){if(i*i>999)return0;if((28))return(29);} return(30);}voidmain(void){ for(inti=105;i<=995;i++) if(f(i)) cout<<i<<endl;}三、編程題(20分)試定義一個(gè)類STR,將一個(gè)字符串較大的m個(gè)字符取出構(gòu)成另一個(gè)降序字符串(字符串中的字符按其ASCII值從大到小排列)。要求原字符串中的字符順序保持不變。具體要求如下:(1)私有數(shù)據(jù)成員char*p;p為字符串的首地址。(2)公有成員函數(shù)STR(char*s);構(gòu)造函數(shù),用字符串s初始化數(shù)據(jù)成員p。voidfun(chart[],intm);將字符串p中ASCII值最大的m個(gè)元素提取出來(lái)按題意要求存放在參數(shù)t中。請(qǐng)使用如下算法:先將字符串p拷貝至一個(gè)臨時(shí)數(shù)組中,然后在臨時(shí)數(shù)組中按各字符的的大小排序,再?gòu)呐藕眯虻臄?shù)組中依次取出m個(gè)元素放入數(shù)組t,注意最后的字符串結(jié)束標(biāo)記。~STR();析構(gòu)函數(shù),撤銷所占用的動(dòng)態(tài)存儲(chǔ)空間。voidprint();輸出數(shù)組的所有元素。(3)在主函數(shù)中對(duì)類STR進(jìn)行測(cè)試。用一個(gè)字符串生成一個(gè)STR類型的對(duì)象。再定義另一數(shù)組,用成員函數(shù)fun()按要求提取出相應(yīng)的數(shù)據(jù)存放到該數(shù)組并在主函數(shù)中輸出。

《C++程序設(shè)計(jì)》試題參考答案及評(píng)分標(biāo)準(zhǔn)(VC09)一、填空(2x10=20分)1.D 2.C 3.C 4.B 5.D 6.D 7.B 8.A 9.D 10.B二、填空(2x30=60分)25p->next->next==NULL3202630357.80358.100 9.12571211.5142112.2013.abcABCabc14.815.216.i+1;17.d[i]=d[k]18.d[k]=tmp 19.t,1020.p[0][i]21.nfun(a,3,b)b[i]24.y%1025.y/10%1026.y/10027.i!=5&&j!=5&&k!=528.y==i*i29.130.0三、編程題(20分)#include<iostream.h>//1'#include<string.h>//1'classSTR{ char*p;//1'public:STR(char*t)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論