2015年電大C++語言程序設計期末考試復習試題及答案(本)_第1頁
2015年電大C++語言程序設計期末考試復習試題及答案(本)_第2頁
2015年電大C++語言程序設計期末考試復習試題及答案(本)_第3頁
2015年電大C++語言程序設計期末考試復習試題及答案(本)_第4頁
2015年電大C++語言程序設計期末考試復習試題及答案(本)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、c+語言程序設計復習題一、單選題1 在定義函數的格式類型修飾符 函數名 (形式參數表)函數體;中,函數體可以是( )。a、基本語句 b、復合語句c、空語句 d、語句序列2abab的值( )。a、為true b、為falsec、與ab 的值相同 d、與ab的值相同3每一個實在參數就是一個( )。a、表達式 b、常量 c、變量 d、函數調用4. 假定ab為一個類,則該類的拷貝構造函數的聲明語句為_。 a ab&(ab x); b ab(ab x) c ab(ab &x); d ab(ab* x)5. 對于結構中定義的成員,其隱含訪問權限為_。 a public b protecte

2、d c private d static6當使用fstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為_。 a ios:in b ios:out c ios:in | ios:out d 沒有7在pc機中運行的c+ 語言程序,char類型的數據占 字節。a、1 b、2 c、3 d、48指出下列哪種基本類型是錯誤的 b 。a、float b、integer c、char d、long9若a,b,c均為整型變量,則表達式a=2,b=a+2,c=0的值為 。a、不定 b、2 c、4 d、010設char t=a;則表達式5+0.6+t值的數據類型為 。a、int b、float

3、c、不確定 d、double11以下 為不正確的if語句。a、if (x>y); b、if (x= =y) x+y;c、if (x! = y) cin>>x else cin>>y; d、if(x<y) x+;y+;12指向數組元素為整型的一維數組的指針變量的定義是 。a、int *p( ) b、int (*p)( ) c、int *p4 d、int (*p)413以下關于switch語句和break語句的描述中不正確的是 。a、 break語句不能用于循環語句和switch語句外的任何其它語句b、 switch語句中使用break語句或continue語句

4、的作用相同c、 在循環語句中使用break語句是為了使流程跳出循環體,提前結束循環d、 在循環語句中使用continue語句是為了結束本次循環,而不是終止整個循環的執行。14下列關于函數定義的說法,正確的是 。a、函數定義時,可以嵌套 b、函數定義不可以嵌套,但可以嵌套調用c、主函數main()內可以定義函數 d、函數定義可以嵌套,調用也可以嵌套。15若有以下說明語句int a34=2,3,4,5,3,4,5,6,4,5,6,7;則正確對數組元素引用為 。a、*(a+1) b、*(a3+2) c、a1+3 d、a0016若定義如下的共同體類型變量x,則x所占用的內存字節數為 (以ibm pc機

5、為例)union dataint i;char ch;double f;x;a、7 b、11 c、8 d、10二、填空題1應用程序test.cpp中只有一個函數,這個函數的名稱是 main 。25|6,5&6和56的值分別是 7 , 4 和 3 。3不借助于其他變量交換x和y兩個變量的值,應順序執行的三個賦值語句是 x=x+y , y=x-y 和 x=x-y 。4下面的語句顯示輸出8行8列數組h的主對角線上的所有元素,請補充完整:for( i=0 ; i<8 ;i+)cout<< hii <<' ' ;5若一函數是以return;結束運行的

6、,說明該函數是 無參 函數。6若正常執行了如下語句:int m20,*p1=m5,*p2=m+17,n;n=p2-p1; 則n的值為 12 。7已知' a'一'z'的ascii碼為6590,當執行"char ch=14*5+2;cout<<ch<<endl;"語句序列后,得到的輸出結果為 h 。8float和double類型的長度分別為 4 和 8 。9表達式xx+l表示成增量表達式為 x+ 。10假定p所指對象的值為36,p+l所指對象的值為49,則*+p的值為 49 。11假定要訪問一個結構對象x中的由a指針成員所

7、指向的對象,則表示方法為 *(xa) 。12對一個類中的數據成員的初始化可以通過構造函數中的 初始化表 實現,也可以通過構造函數中的 函數體 實現。13在c+程序中,語句之間必須用 ; 分隔。14在c+程序中, 運算符優先級最低。15在c+語言中,在ibm pc機環境下,double型數據占 8 字節。16若k 為int型變量,則下列語句的輸出為 16 。k=017;cout<<+k;17表達式 b*b-4*a*c>0 是判斷一元二次方式ax2+bx+c=0有實根的表達式。18表達式(b=10)&&(c=0)的值為 0 。19已知a的ascii的十進制代碼為9

8、7,則表達式10+15.2-27*(a-b)的值為 52.2 。20在c+語言中,& 作為雙目運算符時表示的是 按位與 ,而作為單目運算時表示的是 引用 。21一個函數由函數 名 和函數 體 兩部分構成。22c+在執行過程中不檢查數組是否 越界 。23c+語言規定,調用一個函數時,實參數變量與形參數變量之間的數據傳遞是 。24指針變量的指針是 地址 。25結構體變量中的成員的引用一般形式:結構變量名成員名 。26寫出滿足a>b則把a+b賦給m的if語句 if(a>b) m=a+b 。27寫出指向int型變量的指針變量p的一個定義語句: int *p 。三、給出下列程序運行后

9、的輸出結果1#include<iostream.h> void sb(char ch) switch(ch) case 'a': case 'a': cout<<"well !" break; case 'b': case 'b': cout<<"good !" break; case 'c': case 'c': cout<<"pass ! " break; default: cout<

10、;<"bad! " break; cout<<endl; void main() char a6 ="abcaf" for(int i=0; ai; i+) sb(ai);答案:well !good !pass !well !bad!2#include<iostream.h> void main() int a10= 36,25,48,14,55,40,72,40,86,27; int b1, b2; b1 = b2 = a0; for(int i= 1;i<10;i+) if(ai>b1) if(b1>b

11、2) b2=b1; b1 = ai; cout<<b1<<' '<<b2<<endl; 答案:86 723#include<iomanip.h> void main() int a8= 3,5,7,9,11,13,15,17; int *p=a; for(int i=0;i<8;i+) *p+=10; cout<<setw(5)<< *p+; if (i+1) %3=0) cout<<endl; 答案:13 15 2719 21 2325 274. #include<io

12、manip.h> void le(int* a, int* b) int x=*a; *a=*b; *b=x; cout<<*a<<' '<<*b<<endl; void main() int x=10, y=25; le(&x,&y); cout<<x<<' '<<y<<endl; 答案:25 1025 105. #include<iostream.h> class a int a,b; public: a() a=b=0; a(i

13、nt aa, int bb) a=aa; b=bb; cout<<a<<' '<<b<<endl; ; void main() a x,y(2,3),z(4,5); 答案:(下面是四個數,中間有空格)2 34 56#include<iostream.h>void main()int m=3,x=4,y=4,z=7;m=(m<x)?x+: m;m=(m<y)?y+: m;m=(m<z)?z+: m;cout>>“m=”>>m>>endl>>”x=”>

14、>x>>endl>>”y=”>>y>>endl>>”z=”>>z;程序運行后的輸出結果為:答案:m=7x=5y=4z=87#include<iostream.h>void sort(int x,int y,int z) int t;if (x>y)t=x;x=y;y=t;if(x>z)t=x;x=z;z=t;if(y>z)t=y;y=z;z=t;cout>>“x=”>>x>> >>”y=”>>y>> >>

15、”z=”>>z;void main() int a,b,c;cin>>a>>b>>c;cout>>“a=”>>a>> >>”b=”>>b>> >>”c=”>>c;sort(a,b,c);cout>>“a=”>>a>> >>”b=”>>b>> >>”c=”>>c;假設輸入為:10 6 8<cr>則程序運行后的輸出結果為:參考答案:a=10 b=6

16、c=8x=6 y=8 z=10a=10 b=6 c=88. #include<iostream.h>void prn str(char *str,int m,int n)int i;for (i=1;i<m;i+)cout>>“*”;str+;for (i=1;(i<=n)&&(*str);i+)court>>*str+;while(*str)cout>>“*”;str+;cout>>endl;void main() char *p=“information”;prn str(p,3,4);程序運行后的輸出

17、結果為:答案: *form*四、寫出下列每個函數的功能1.int count(double a, int n) double m=0; int i;for(i=0;i<n;i+) m+=ai; m=m/n; int c=0;for(i=0;i<n;i+) if(ai>=m) c+;return c; 答案:計算并返回參數數組中大于等于參數數組中所有元素平均值的元素個數2.long fact(long n)if (n<=1l) return 1l;return n*fact(n-1l);答案:通過函數遞歸調用,計算并返回參數n的階乘 3. #include<iost

18、ream.h> void wa(int a, int n) for(int i=0;i<n-1;i+) int k=i; for(int j=i+1;j<n;j+) if(aj<ak) k=j; int x=ai; ai=ak; ak=x; 答案:對參數數組中的元素進行升序排序 4#include<iomanip.h> #include<fstream.h> void jb(char* fname) /可把以fname所指字符串作為文件標識符的文件稱為fname文件, /假定該文件中保存著一批字符串,每個字符串的長度均小于20。 ifstream

19、 fin(fname); char a20; int i=0; while(fin>>a) cout<<a<<endl; i+; fin.close(); cout<<"i="<<i<<endl; 答案:依次把參數fname所指的文件中字符輸入到字符串數組a中,并輸出文件中字符個數五、編程題1設計一程序,它輸入一個整數,判斷它是否是整數序列32,52,31,86,3,44,11,7,55,63中的一個;若是,顯示該整數在序列中的序號(注:最小序號是1),否則顯示0。答案:#include<iostream.h> int getno(int val) int a=32,52,31,86,3,44,11,7,55,63; for(int i=0;i<10;i+) if(val=ai) return(i+1); return(0); void main() int val; cin>>val; cout<<getno(val);2.編寫一個程序,統計輸入的一行字符中數字、空格及其它字符分別有多少個。答案:#include<iostream.h>void main() int i,eng=0,numb=0,blan=0,others=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論