電大本科《C++語言程序設(shè)計》期末復(fù)習(xí)試題及答案參考資料小抄【精編打印版】
《電大本科《C++語言程序設(shè)計》期末復(fù)習(xí)試題及答案參考資料小抄【精編打印版】》由會員分享,可在線閱讀,更多相關(guān)《電大本科《C++語言程序設(shè)計》期末復(fù)習(xí)試題及答案參考資料小抄【精編打印版】(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、本科《C++語言程序設(shè)計》期末復(fù)習(xí)模擬訓(xùn)練題 一、單選題 1.在每個C++程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為(A)。 A. main B. MAIN C. name D. function 2.設(shè)x和y均為bool量,則x && y為真的條件是(D)。 A. 其中一個為假 B. 其中一個為真 C. 它們均為假 D. 它們均為真 3. 邏輯表達式x>0 || y==5的相反表達式為(B)。 A. x<=0 || y!=5 B. x<=0 && y!=5 C. x>0 || y!=5
2、 D. x>0 && y==5 4. 假定p是一個指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址大(C)個字節(jié)。 A. 1 B. 2 C. 4 D. 8 5. 枚舉類型中的每個枚舉常量的值都是一個(A)。 A. 整數(shù) B. 浮點數(shù) C. 字符 D. 邏輯值 6. 循環(huán)體至少被執(zhí)行一次的語句為(C)語句。 A. for循環(huán) B. while循環(huán) C. do循環(huán) D. 任一種循環(huán) 7. 在下面
3、的字符數(shù)組定義中,(D)語句有語法錯誤。 A. char a[20]=”abcdefg”; B. char a[]=”x+y=55.”; C. char a[15]={’1’,’2’}; D. char a[10]=’5’; 8. 若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是(A)。 A. 數(shù)組的首地址 B. 數(shù)組中第一個元素的值 C. 數(shù)組全部元素的值 D. 數(shù)組元素的個數(shù) 9.假定AB為一個類,則執(zhí)行“AB a(4), b[5], *p[2];”語句時,自動調(diào)用該類構(gòu)造函數(shù)的次數(shù)為(A)。 A.
4、6 B. 7 C. 9 D. 11 10.當(dāng)使用fstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為(D)。 A. ios::in B. ios::out C. ios::in | ios::out D. 沒有 11. 枚舉類型中的每個枚舉常量的值都是一個(A)值。 A. 整數(shù) B. 浮點數(shù) C. 字符 D. 邏輯 12.設(shè)x和y均為bool量,則邏輯表達式x || y為假的條件是(C)。 A. 它們均
5、為真 B. 其中一個為真 C. 它們均為假 D. 其中一個為假 13. 聲明或定義一個內(nèi)聯(lián)函數(shù)時,必須在函數(shù)開始使用保留字(D)。 A. static B. const C. extern D. inline 14. 在下面的函數(shù)聲明中,存在著語法錯誤的是(D)。 A. BC(int a, int); B. BC(int, int); C. BC(int, int=5); D. BC(int x; int y); 15. 假定a為一個整型數(shù)組名,則元素a[4]與(C)的表示等價。
6、A. a+4 B. *a+4
C. *(a+4) D. *(a+16)
16. 下面循環(huán)語句執(zhí)行結(jié)束后輸出的i值為(B)的值。
for(int i=0; i 7、p()
18. 預(yù)處理命令在程序中都是以(B)字符開頭的。
A. * B. # C. & D. @
19. 假定有定義“struct BOOK{char title[40]; float price;};”,則不正確的變量定義語句為(D)。
A. BOOK x; B. BOOK x={"C++ Programming",27.0};
C. BOOK *x=new BOOK; D. BOOK x=new BOOK;
20. 假定AB為一個類,px為指向該類動態(tài)對象數(shù)組的指針,該數(shù)組 8、長度為n,則執(zhí)行“delete []px;”語句時,自動調(diào)用該類析構(gòu)函數(shù)的次數(shù)為(B)。
A. 1 B. n C. n-1 D. n+1
21. 由C++源程序文件編譯而成的目標文件的缺省擴展名為(A)。
A. obj B. lik C. exe D. cpp
22. 程序運行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)使用(D)符號作為分隔符。
A. 空格或逗號 B. 逗號或回車
C. 逗號或分號 D. 空格或回車
23. 設(shè)x是一個bool型 9、的邏輯量,y的值為10,則表達式 x && y的值為(C)。
A. 1 B. 0 C. 與x值相同 D. 與x值相反
24. for語句能夠被改寫為(D)語句。
A. 復(fù)合 B. if C. switch D. while
25. 在下面的do循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為(A)。
int i=0; do i++; while(i*i<10);
A. 4 B. 3 C. 5 D. 2
26. 在下面的一維數(shù)組定義中,(C)語句有語法錯 10、誤。
A. int a[]={1,2,3}; B. int a[10]={0};
C. int a[]; D. int a[5];
27. 下面的(C)保留字不能作為函數(shù)的返回類型。
A. void B. int C. new D. long
28. 下面的函數(shù)聲明中,(B)是“void BC(int a, int b);”的重載函數(shù)。
A. int BC(int x, int y); B. void BC(int a, char b);
C. float BC 11、(int a, int b, int c=0);
D. int BC(int a, int b=0);
29. 當(dāng)類中一個字符指針成員指向具有n個字節(jié)的存儲空間時,它所能存儲字符串的最大長度為(C)。
A. n B. n+1 C. n-1 D. n-2
30. 假定AB為一個類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為(D)。
A. AB&(AB x); B. AB(AB x);
C. AB(AB* x); D. AB(AB&);
31. C++程序的基本功能模塊為(D)。
12、 A. 表達式 B. 標識符
C. 語句 D. 函數(shù)
32. 存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是(A)。
A. 0 B. ’0’ C. ”0” D. ’\n’
33. 在下面的一維數(shù)組定義中,有語法錯誤的是(C)。
A. int a[]={1,2,3}; B. int a[10]={0};
C. int a[]; D. int a[5];
34. 在下面的語句或語句組中,(B)不正確。
A. int a[5]; B. int M=10; int a[M]; 13、
C. int a[]={1,5,10,45}; D. const int N=12; int a[N];
35.C++語言中的每條簡單語句以(B)作為結(jié)束符。
A. 逗號 B. 分號 C. 空格 D. 換行符
36. 含隨機函數(shù)的表達式rand()%20的值在(C)區(qū)間內(nèi)。
A. 1~19 B. 1~20 C. 0~19 D. 0~20
37. 當(dāng)處理一個特定的問題時,若循環(huán)次數(shù)已知,則通常采用(A)來解決。
A. for循環(huán) B. while循環(huán) C. d 14、o循環(huán) D. switch語句
38. 在下面循環(huán)語句中內(nèi)層循環(huán)體S語句的執(zhí)行總次數(shù)為(D)。
for(int i=0; i 15、
A. int p=&m; B. int *p=&m;
C. int &p=*m; D. int *p=m;
二、填空題
1.C++語言中的每條基本語句以 ; 作為結(jié)束符,每條復(fù)合語句以 } 作為結(jié)束符。
2.用于輸出表達式值的標準輸出流對象是cout ,用于從鍵盤上為變量輸入值的標準入流對象是 cin 。
3.當(dāng)不需要函數(shù)返回任何值時,則應(yīng)把該函數(shù)類型定義為 void 。
4.執(zhí)行“cout<<143<<’+’<<18<<’=’<<143+18< 16、“ning”<<“chen”<<38< 17、’ 或’\12’ 或’\x0a’ 或操縱符 endl 表示輸出一個換行符。
11.執(zhí)行“cout< 18、b,xc,xd};”,則執(zhí)行“cout<<”xc=”< 19、符常量時,則必須對它同時進行 初始化 。
22.執(zhí)行“int x=45,y=16;cout< 20、表示成復(fù)合賦值表達式為 a+=b; 。
28.表達式a=a+1表示成增量表達式為 ++a; 。
29.增量表達式+ +y表示成賦值表達式為 y=y+1; 。
30.關(guān)系表達式(x= =0)的等價表達式為 !(x! =0)。
31.關(guān)系表達式(x! =0)的等價表達式為 !(x= =0) 。
32.關(guān)系表達式x+y>z的相反表達式為 x+y<=z 。
33.邏輯表達式x>5&& x<10的相反表達式x<=5 || x>=10 。
34.邏輯表達式a>b | | b= =5的相反表達式為a<=b && b!=5 。
35.若x=15,y=40,則x>y 和x<=y的邏輯值分 21、別為false或0 和true或1 。
36.假定x=5,則執(zhí)行“a=(x? 10:4*2);”語句后a的值為10 。
37.假定a=5,則條件表達式“a= =0? 10:20”的值為 20。
38.執(zhí)行“typedef int Data Type;”語句后,在使用int定義整型變量的地方都可以使用
Data Type 定義整型變量。
39.設(shè)x和y均為bool量,x & & y為真的條件是x和y均為true。
40.設(shè)x和y均為bool量,則x | | y為假的條件是x和y均為false。
41.假定一個一維數(shù)組的定義為“char a[5];”,則該數(shù)組所含元素的個數(shù)為 22、5 ,所占存儲空間的字節(jié)數(shù)為 5 。 ( 存儲的字符串最大長度:4 )
42.假定一個二維數(shù)組的定義為“int a[4][6];”,則該數(shù)組所含元素的個數(shù)為 24 ,所占存儲空間的字節(jié)數(shù)為 96 。
43.假定一個二維數(shù)組的定義為“char a[8][8];”,則該數(shù)組所含元素的個數(shù)為 64 ,所占存儲空間的字節(jié)數(shù)為 64 。
44.執(zhí)行“typedef float ABC[10];”語句把ABC定義為具有10個單精度元素的 一維數(shù)組 。
45.在函數(shù)外定義的變量稱為 全局 變量,若沒有被初始化則系統(tǒng)隱含對它賦初值 0 。
46.函數(shù)中的形參變量的初值由 調(diào)用 該函數(shù)時獲得。
23、
47.函數(shù)調(diào)用時,實參向形參的傳送分為 按值傳遞 和 按地址傳遞 兩種傳送方式。
48.變量分為全局和局部兩種, 局部 變量沒有賦初值時,其值是不確定的。
49.假定p所指對象的值為28,p+1所指對象的值為62,則* p + +的值為 28 。p所指對象的值為:62
50.假定p所指對象的值為28,p+1所指對象的值為62,則* + + p的值為 62 。p所指對象的值為:62
51.假定p所指對象的值為25,p+1所指對象的值為50,則執(zhí)行“(*p)+ +;”語句后,p所指對象的值為 26 。表達式值為:25
52.假定p所指對象的值為25,p+1所指對象的值為50,則執(zhí)行“* 24、(p+ +);”語句后,p所指對象的值為 50 。表達式值為:50
53.假定a是一個指針數(shù)組,則a+i所指對象的地址比a地址大 i*sizeof(unsigned) 字節(jié)。
54.假定a是一個一維數(shù)組,則a[i]的指針訪問方式為 *( a+ i ) 。
55.假定a是一個二維數(shù)組,則a[i] [j]的指針訪問方式為 *(( a+i ) + j )。
56.假定a是一個一維數(shù)組,則a[i]對應(yīng)的存儲地址(以字節(jié)為單位)為 a + sizeof(a[0])*i 。
57.假定一個二維數(shù)組為a[M] [N],則a[i] [j]對應(yīng)的存儲地址(以字節(jié)為單位)為 a+sizeof(a[0][ 25、0])*(i*N + j ) 。
58.假定一個二維數(shù)組a[M] [N],則a[i]的地址值(以字節(jié)為單位)為 a + sizeof(a[0][0])*(i*N) 。
59.假定p是一個指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址大 4 字節(jié)。
60.假定a為一個字符數(shù)組名,則元素a[8]的字節(jié)地址為 a + 8 。
61.假定a為一個整型數(shù)組名,則元素a[4]的字節(jié)地址為 a + 4*sizeof( int ) 或 a + 16 。
62.假定一個結(jié)構(gòu)類型的定義為“struct A{int a,b;short c;A*d;};”,則該類型的大小為 14 字節(jié) 26、。
63.假定一個結(jié)構(gòu)類型的定義為“struct B{int a[8];char* b;};”,則該類型的大小為 36 字節(jié)。
64.假定一個結(jié)構(gòu)類型的定義為“struct D{int a;union{int b;double c;}; D*d[3];};”,則該類型的大小為24字節(jié)。
65.假定要動態(tài)分配一個類型為Worker的具有n個元素的數(shù)組,并由r指向這個動態(tài)數(shù)組,則使用的語句為
Worker *r = new Worker [ n ] ; 。
66.假定要訪問一個結(jié)構(gòu)x中的由a指針成員所指向的對象,則表示方法為 *( x . a ) 。
67.假定要訪問一個結(jié)構(gòu)指針 27、p所指對象中的b指針成員所指的對象,則表示方法為 *( p->b )。
68.在定義類對象的語句執(zhí)行時,系統(tǒng)在建立每個對象的過程中將自動調(diào)用該類的 構(gòu)造函數(shù) 使其初始化。
69.當(dāng)一個類對象被撤消時將自動調(diào)用該類的 析構(gòu)函數(shù) 。
70.對基類數(shù)據(jù)成員的初始化是通過執(zhí)行派生類構(gòu)造函數(shù)中的 初始化表 來實現(xiàn)的。
71.對一個類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的 賦值語句 實現(xiàn),也可以通過構(gòu)造函數(shù)中的 初始化表 實現(xiàn)。
72.在一個派生類中,對基類成員、類對象成員和非類對象成員的初始化次序的先 基類成員 ,后 類對象成員 ,最后 非類對象成員 。
73.當(dāng)撤消一個含有基類和類對象成 28、員的派生類對象時,將首先完成 類對象成員 的析構(gòu)函數(shù)定義體的執(zhí)行,接著完成 派生類 的析構(gòu)函數(shù)定義體的執(zhí)行,最后完成 基類 的析構(gòu)函數(shù)定義體的執(zhí)行。
74.設(shè)PX是指向一個類動態(tài)對象的指針變量,則執(zhí)行“delete px;”語句時,將自動調(diào)用該類的 析構(gòu)函數(shù) 。
75.當(dāng)一個類對象離開它的作用域時,系統(tǒng)將自動調(diào)用該類的 析構(gòu)函數(shù) 。
76.假定一個類對象數(shù)組為A[N],當(dāng)離開它的作用域時,系統(tǒng)自動調(diào)用該類析構(gòu)函數(shù)的次數(shù)為 N 。
77.假定AB為一個類,則執(zhí)行“AB a[10];”語句時,系統(tǒng)自動調(diào)用該類構(gòu)造函數(shù)的次數(shù)為 10 。
78.假定擁護沒有給一個名為AB的類定義構(gòu)造函數(shù), 29、則系統(tǒng)為其隱含定義的構(gòu)造函數(shù)為 AB ( ) { } 。
79.假定用戶沒有給一個名為AB的類定義析構(gòu)函數(shù),則系統(tǒng)為其隱含定義的析構(gòu)函數(shù)為 ~ AB ( ) { } 。
80.若需要把一個函數(shù)“void f(); ”定義為一個類AB的友元函數(shù),則應(yīng)在類AB的定義中加入一條語句:friend void f( ); 。
81.若需要把一個類AB定義為一個類CD的友元類,則應(yīng)在類CD的定義中加入一條語句:friend class AB; 。
82.假定一個類AB中有一個靜態(tài)整型成員bb,在類外的它進行定義并初始化為0時,所使用寫法為:int AB::bb = 0 ; 。
83.假定 30、類AB中有一個公用屬性的靜態(tài)數(shù)據(jù)成員bb,在類外不通過對象名訪問該成員 bb的訪問為AB::bb 。
84.當(dāng)類中一個字符指針成員指向具有n個字節(jié)的儲存空間時,它所能儲存字符串的最大長度為 n-1 。
85.假定AB為一個類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為 AB (AB & ); 。
86.對類對象成員初始化是通過執(zhí)行構(gòu)造函數(shù)中的 賦值語句 或 初始化表 完成的。
87.對于類中定義的成員,其隱含訪問權(quán)限為private ,對于結(jié)構(gòu)中定義的成員,其隱含訪問權(quán)限為 public 。
88.一個類的友元函數(shù)或友元類能夠通過成員操作符直接訪問該類的 私有成員 。
89.假定要對類AB 31、定義加號操作符重載成員函數(shù),實現(xiàn)兩個AB類對象的加法,并返回相加結(jié)果,則該成員函數(shù)的聲明語句為:AB& operator+(AB &); 。
90.在C++流類庫中,根基類為 ios 。
91.在C++流類庫中,輸入流類和輸出流類的名稱分別為 istream 和 ostream 。
92.若要在程序文件中進行標準輸入輸出操作,則必須在開始的#include命令中使用iostream.h頭文件。
93.若要在程序文件中進行文件輸入輸出操作,則必須在開始的#include命令中使用fstream.h頭文件。
94.當(dāng)從字符文件中讀取回車和換行兩個字符時,被系統(tǒng)看作為一個 字符串流 。 32、
95.當(dāng)使用ifstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為 ios ::in,當(dāng)使用ofstream 流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為 ios::out 。當(dāng)需要使用istream流類定義一個流對象并聯(lián)系一個字符串時,應(yīng)在文件開始使用#include命令,使之包含 strstrea.h 文件。
三、寫出下列程序運行后的輸出結(jié)果
1.#include 33、ell”!” ; break
case ‘B’: case ‘b’:
cout <<”good!” ;break;
case ‘C’: case ‘c’:
cout <<”pass!” ;break;
default :
cout << “bad!” ; break;}}
void main ( ){
char al=’b’,a2=’c’,a3=’f’;
SB(al);SB(a2);SB(a3);SB(‘A’);
Cout < 34、ream.h>
#include 35、 break;
default:exit(1); }
return x;}
void main ( ){
int x=20 ,y=12;
cout < 36、I; // s=1*1+2*2+3*3+4*4+5*5
cout <<”s=”< 37、ostream.h>
void main ( ){
int s1=0,s2=0;
for (int I=0;I<10;I++)
if (I%2) s1+=I; // s1= 1+3+5+7+9
else s2 +=I; // s2= 0+2+4+6+8
cout < 38、y=”< 39、 // a[ i ] = 55 , 40
case 2:
i2++; // a[ i ] = 26 , 41 , 83 , 95
}
cout< 40、=p2=a[0];
for(int i=0;i<5;i++){
if(strcmp(a[i],p1)>0) p1=a[i];//p1:最大;p2:最小
if(strcmp(a[i],p2)<0) p2=a[i];}
cout< 41、<8;i++)
if(a[i]>b1){
if(b1>b2)b2=b1;
b1=a[i]; }
cout< 42、f(a[i] = = b) i2++;
i ++; }
cout< 43、 case c : b[2]++;break;
case d : b[3]++;break;
default : b[4]++; }
i++; }
for(i=0;i<5;i++)cout<
void main(){
int a[10] = {73,83,54,62,40,75,80,92,77,84};
int 44、 b[4] = {60,70,90,101};
int c[4] = {0};
for(int i=0;i<10;i++){
int j = 0;
while(a[i]>=b[j]) j++;
c[j]++;}
for(i=0;i<4;i++) cout< 45、0,3,4}};
int m = a[0][0];
int ii =0,jj =0;
for(int i =0;i<3;i++)
for(int j =0;j<4;j++)
if(a[i][j]>m) {m=a[i][j];ii=i;jj=j;}
// m:最大值;最大值行號ii、列號jj
cout<< ii << << jj << << a[ii][jj]< 46、b =20;
cout<< a << << b << endl;
{ a *= 4;
int b = a +35;
cout<< a << << b << endl; }
cout<< a << << b << endl;}
運行結(jié)果:10 20
40 75
40 20
15.#include 47、+;
if((i +1)%4 ==0)cout< 48、 3
17.#include 49、 50、* c< 51、{ // 引用形參 x 按地址傳遞,形參 y 按值傳遞
x = x + y; // x= 5 + 8 = 13
y = x + y; // y = 13 + 8 = 21
cout<<”x =”<< x <<”,y =”<< y < 52、
x = 13 , y = 21
x = 13 , y = 8
22.#include 53、 p[i]<< ’ ’;
cout<
54、 55、40};
Worker y, * p;
y = x;p =&x;
cout<< y. name<< ’’ < 56、loat pay; //工資};
void main(){
Worker x;
char * t =”liouting”;
int d =46;float f =725;
strcpy(x. name, t);
x. age = d;x. pay = f;
cout<< x. name<< ’’ <
void main ( ){
int s=0;
for (int I=1;;I++){
if (s>50) break;
if (I%3= =0) s+=I; // s=3+6+9+12+15+18
}
cout <<”I,s=”<
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案