版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
江蘇科技大學2023C++期末試卷(附答案)頁使用前注意保密江蘇科技大學非計算機專業(yè)學生VisualC++程序設計語言期末考試試卷代號:VC02說明:本試卷為筆試題,含選擇、填空、及編程三局部。本試卷總分值為100分,考試時間為120分鐘。3、所有答案必須寫在答題紙上,否那么不計成績。填空題,請注意空格號〔不是題號〕與答題紙上的編號對應。答題紙上必須寫明學號〔含班級號〕、姓名。計算機根底教研室
一、選擇題〔10×2=20分〕1、設CH為字符型變量,那么語句CH=CH+’e’-‘E’;的作用可能是:〔1〕。A.將大寫字母轉換成對應的小寫字母B.將字母CH轉換成e C.將小寫字母轉換成對應的大寫字母D.將字母CH轉換成E 2、設有說明語句“inta=4,b=5,c=6,d=7,m=1,n=1;〞,那么執(zhí)行語句“c=(m=a>b)&&(n=c>d);〞后,m和n的值分別為〔2〕。A.1、1B.1、0C.0、1D.0、03、以下數(shù)組的定義和使用中,正確的選項是〔3〕。A.chara[20];a[20]=〞Hello〞;B.chara[20];a=〞Hello〞;C.intn=20;chara[n];D.chara[]=〞Hello〞;4、設類A為類B的基類,類B為類C的基類,并有如下定義:
Aa1,*pa;
Bb1,*pb;
Cc1,*pc;
那么以賦值存在語法錯誤的選項是〔4〕。A.pa=&b1 B.pb=&c1; C.Aa2=&c1; D.pc=&b1;5、設有變量說明“inta=1,b=2;floatx=1.5,y=1.2;〞,以下語句正確的選項是〔5〕。A.y=x%a; B.int(y)=a; C.x+y=a+b; D.a=x+y;6、對于下面的一組函數(shù):
voidfun(inta,floatx); //函數(shù)1
voidfun(inta,intx); //函數(shù)2
voidfun(floata,floatx); //函數(shù)3
voidfun(floata,intx); //函數(shù)4
voidfun(inta[],intn); //函數(shù)5voidfun(int*p,intn); //函數(shù)6以下說法不正確的選項是:〔6〕。A.函數(shù)1和函數(shù)2可以構成重載函數(shù);B.函數(shù)1和函數(shù)4可以構成重載函數(shù);C.函數(shù)3和函數(shù)4可以構成重載函數(shù);D.函數(shù)5和函數(shù)6可以構成重載函數(shù);7、對于以下函數(shù)說明及變量定義: intfun1(inta,intx); voidfun2(inta,intx);
voidfun3(inta[],intn);voidfun4(int*p,intn);inta=5,b=10,c[5]={0};floatx=1.5;以下語句序列各自獨立編譯時產生錯誤信息的是〔7〕。A.fun2(fun1(a,b),a); B.fun1(x,a); C.fun3(c[4],5); D.fun4(c,5);8、設有指針變量定義:int*p1,*p2;floatx;float*p3=&x,*p4=&x;以下語句序列各自獨立編譯時產生錯誤或警告信息的是〔8〕。A.*p1=*p2=2; B.p3=p4=NULL; C.p3=p4+1; D.inta=p3>p4;9、對于任意一個類,以下說法正確的選項是〔9〕。A.不一定有析構函數(shù) B.可以有多個析構函數(shù)C.析構函數(shù)沒有參數(shù) D.析構函數(shù)允許重載10、假設有定義“inta[5],*p=a;〞,
那么對a數(shù)組元素的引用正確的選項是〔10〕。A.*&a[5] B.a+2 C.*(p+5) D.*(a+2)二、填空題〔30×2=60分〕●根本概念題1、數(shù)學表達式(b2-4ac)1/2在C++的程序中就寫成 (1) 。2、執(zhí)行完以下C++語句序列后,a的值為〔2〕。intx=1,y=0,a=3;a=(--x==y++)?y?x:y:a+=--y;3、設有宏定義:#defineF(x,y,z)x/y*z執(zhí)行語句:intb=F(3+4,2+2,4+4);后變量b的值為(3)。4、設已定義了一個類A,執(zhí)行語句As1,*s2,s3[2],*s4[2];時,調用類A的構造函數(shù)的次數(shù)是〔4〕。5、運算符重載函數(shù)的關鍵字是〔5〕。6、C++語言規(guī)定,函數(shù)的缺省返回值的類型為〔6〕。7、類的三大特性是:〔7〕、〔8〕和〔9〕?!耖喿x程序題8、[程序]#include<iostream.h>voidmain(void){ inta=0,b=0,i=0,j=0; while(i<5){ a++; while(j<5){ if((j+1)%2){b++;break;} a++;j++; }i++; } cout<<"a="<<a<<endl; cout<<"b="<<b<<endl;}程序輸出的第一行是(10),第二行是(11)。9、[程序]#include<iostream.h>inta=10;voidfun(void){ inta=15;::a-=--a;cout<<::a<<'\t'<<a<<'\n';}voidmain(void){inta=15;for(inti=-10;i<a+::a;i++)fun();}執(zhí)行上述程序時,第1行輸出為〔12〕,
第2行輸出為〔13〕,
第3行輸出為〔14〕。10、[程序]#include<iostream.h>intfun(inta,intb){ staticintm; intn=0,k=0; m++; n++; if(a&&b)k+=fun(a-n,b+m);else{m+=2;n+=2;} cout<<m<<","<<n<<","<<k<<endl;returnk;}voidmain(void){ cout<<fun(4,-6)<<endl;}程序輸出的第一行是(15),
第二行是(16),
第三行是(17)。11、[程序]#include<iostream.h>classA{protected:inta,b;public: A(intt1,intt2){a=t1;b=t2;} virtualintfun1(){return(a*b);} virtualintfun2(){return(a-b);}intfun3(){return(a+b);}};classB:publicA{intc,d;public: B(intt):A(4*t,2*t){c=2*t;d=t;} intfun2(){return(a+b-c-d);} intfun3(){return(a+b+c+d);}};voidmain(void){ Aa1(0,0),*pa; Bb1(2); a1=b1;cout<<a1.fun1()<<’\t’<<a1.fun2()<<’\t’<<a1.fun3()<<endl;pa=&b1;cout<<pa->fun1()<<’\t’<<pa->fun2()<<’\t’<<pa->fun3()<<endl;}程序輸出的第一行是(18),
第二行是(19)。12、[程序]#include<iostream.h>classA{ inta;public: A(intx){a=x;cout<<"A";} intgeta(){returna;} ~A(){cout<<"~A"<<'\n';}};classB{protected: intb;public: B(intx){b=x;cout<<"B";} ~B(){cout<<"~B"<<'\n';}};classC:publicB{ intc; Aa1;public: C(intx,inty,intz):a1(y),B(z){c=x;cout<<"C";} voidshow(){cout<<a1.geta()<<'\t'<<b<<'\t'<<c<<'\n';} ~C(){cout<<"~C"<<'\n';}};voidmain(){ Cc1(2,5,7); cout<<endl; c1.show(); cout<<endl;}執(zhí)行上述程序時,第1行輸出為〔20〕,
第2行輸出為〔21〕?!裢晟瞥绦蝾}13、以下程序打印所有符合以下條件的3位正整數(shù):是某一個數(shù)的平方,其中有兩位數(shù)字相同。如100、121等,請完善程序。#include<iostream.h>voidmain(){ inta,b,c,n,k; for(k=10;;k++){ 〔22〕; if(n>999)break; a=n/100; b=〔23〕 c=n%10; if(〔24〕) cout<<n<<""<<k<<'\n'; }}14、以下程序中的sort函數(shù),采用間接選擇排序法,對具有n個元素的一維數(shù)組a進行降序排列,第i趟排序時,首先找到當前最大元素的位置k,然后將a[k]放到a[i]處。請完善程序。#include<iostream.h> 〔25〕 ;voidmain(void){ intb[15]={4,8,7,3,15,11,14,12,1,13,6,2,9,10,5},i=0; sort( 〔26〕 ); while(i<15) { cout<<b[i]<<'\t'; i++; if(i%5==0)cout<<'\n'; } cout<<'\n';}voidsort(inta[],intn){ inti,j,k; for(i=0;i<n-1;i++){ k=i; for(j=i+1;j<n;j++) if( 〔27〕 )k=j; if(k!=i) j=a[i],a[i]=a[k],a[k]=j; }}15、設已建立一個單向鏈表,指針head指向該鏈表的首結點。結點的數(shù)據(jù)結構如下:structNode{intdata;Node*next;};以下函數(shù)sort(Node*head)的功能是:將head所指向鏈表上各結點的數(shù)據(jù)按data值從小到大的順序排序。算法提示:初始時,使p指向鏈表的首結點,從p之后的所有結點中找出data值最小的結點,讓p1指向該結點。將p指向的結點的data值與p1指向的結點的data值進行交換。讓p指向下一個結點,依次類推,直至p指向鏈表的最后一個結點為止。Node*sort(Node*head){ Node*p=head,*p1,*p2; if(p==NULL)returnhead; while(p->next!=NULL){ p1=p; p2=p->next; while(p2!=NULL){ if(〔28〕) p1=p2; p2=p2->next; } if(p!=p1){ intt; t=p->data; p->data=〔29〕; p1->data=t; } 〔30〕; } returnhead;}三、編程題〔20分〕定義一個字符串類STR,將字符串中的數(shù)字字符移至字符串前部,其他非數(shù)字字符符移至字符串后部,同時保證數(shù)字字符之間以及非數(shù)字字符之間的相對位置不變。如,字符串“ab12cd56AC78〞處理后變?yōu)椤?25678abcdAC〞。具體要求如下:〔1〕私有成員數(shù)據(jù):char*s;指向成員字符串;〔2〕公有成員函數(shù):STR〔char*p〕;構造函數(shù),用字符串p初始化成員字符串數(shù)據(jù)。注意申請動態(tài)內存;~STR〔〕;析構函數(shù),釋放對象所占用的動態(tài)內存。intischar(chart);判斷字符t是否為數(shù)字字符,如果是,那么返回值為1,否那么返回值為0。voidfun();按題意處理成員字符串s。使用如下算法:通過指針p逐位判斷每個字符;如果p所指向的字符不是數(shù)字字符,那么通過指針p1尋找其后的第一個數(shù)字字符;將p1和p之間的字符逐位后移,并將原先p1所指向的字符放到p所指向的位置;指針p指向下一個字符。重復步聚a到d,直至所有字符處理完畢。voidprint();輸出成員字符串。〔3〕在主函數(shù)中定義一個字符數(shù)組,使用getline函數(shù)從鍵盤輸入一個長度小于20的字符串,并使用該字符串對類STR進行測試。
VisualC++程序設計語言期末考試試卷代號:VC02參考答案:一、選擇〔10×2=20分〕1-5:ACDDD 6-10:DCACD二、填空:〔30×2=60分〕1、sqrt(b*b-4*a*c)16、6,1,02、017、6,1,03、1718、324124、319、326125、operator20、BAC6、int21、5727、封裝22、n=k*k8、繼承23、n/10%10或n%100/109、多態(tài)24、a==b||b==c||c==a10、a=525、voidsort(int[],int)11、b=526、b,1512、-41427、a[j]>a[k]13、-181428、p1->data>p2->data14、-321429、p1->data15、6,3,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年河北單招機械試卷及答案
- 2026年陜西航天職工大學單招綜合素質考試題庫及參考答案詳解一套
- 2026年仙桃職業(yè)學院單招綜合素質考試題庫及答案詳解1套
- 2026年鄭州理工職業(yè)學院單招職業(yè)適應性測試題庫及完整答案詳解1套
- 2026年永州師范高等??茖W校單招職業(yè)適應性測試題庫及答案詳解一套
- 2026年滁州城市職業(yè)學院單招職業(yè)適應性考試題庫及參考答案詳解1套
- 2026年云南旅游職業(yè)學院單招職業(yè)技能考試題庫帶答案詳解
- 從木偶奇遇記中學到的道理議論文6篇范文
- 2026年長治幼兒師范高等專科學校單招職業(yè)技能測試題庫附答案詳解
- 江蘇數(shù)學高二題庫及答案
- 全橋LLC諧振電源的設計與研究理論部分畢業(yè)設計論文
- 廣東省廣州市越秀區(qū)2024-2025學年上學期八年級期末數(shù)學試卷(原卷版+解析版)
- 2025年天津市專業(yè)技術人員繼續(xù)教育網(wǎng)公需課答案
- 消防服務外包投標方案投標方案(技術方案)
- 學習通《科研誠信與學術規(guī)范》課后及考試答案
- 當前安全管理存在的問題及改進措施 存在的問題及改進措施
- 護理科研課題的實施
- GB/T 9755-2024合成樹脂乳液墻面涂料
- 建筑工地消防安全知識培訓
- 《煤礦防治水細則》全文
- 架空輸電線路防舞動技術規(guī)范DB41-T 1821-2019
評論
0/150
提交評論