電大本科《C++語言程序設(shè)計》期末復習試題及答案參考資料小抄【精編打印版】
《電大本科《C++語言程序設(shè)計》期末復習試題及答案參考資料小抄【精編打印版】》由會員分享,可在線閱讀,更多相關(guān)《電大本科《C++語言程序設(shè)計》期末復習試題及答案參考資料小抄【精編打印版】(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、本科《C++語言程序設(shè)計》期末復習模擬訓練題 一、單選題 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.當使用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. 預處理命令在程序中都是以(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. 復合 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. 當類中一個字符指針成員指向具有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. 當處理一個特定的問題時,若循環(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é)束符,每條復合語句以 } 作為結(jié)束符。
2.用于輸出表達式值的標準輸出流對象是cout ,用于從鍵盤上為變量輸入值的標準入流對象是 cin 。
3.當不需要函數(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、表示成復合賦值表達式為 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.當一個類對象被撤消時將自動調(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.當撤消一個含有基類和類對象成 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.當一個類對象離開它的作用域時,系統(tǒng)將自動調(diào)用該類的 析構(gòu)函數(shù) 。
76.假定一個類對象數(shù)組為A[N],當離開它的作用域時,系統(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.當類中一個字符指針成員指向具有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.當從字符文件中讀取回車和換行兩個字符時,被系統(tǒng)看作為一個 字符串流 。 32、
95.當使用ifstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為 ios ::in,當使用ofstream 流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為 ios::out 。當需要使用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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國人民警察節(jié)(筑牢忠誠警魂感受別樣警彩)
- 2025正字當頭廉字入心爭當公安隊伍鐵軍
- XX國企干部警示教育片觀后感筑牢信仰之基堅守廉潔底線
- 2025做擔當時代大任的中國青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會圍繞六個干字提要求
- XX地區(qū)中小學期末考試經(jīng)驗總結(jié)(認真復習輕松應(yīng)考)
- 支部書記上黨課筑牢清廉信念為高質(zhì)量發(fā)展營造風清氣正的環(huán)境
- 冬季消防安全知識培訓冬季用電防火安全
- 2025加強政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓直播技巧與方法
- 2025六廉六進持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學期末考試經(jīng)驗總結(jié)(認真復習輕松應(yīng)考)
- 幼兒園期末家長會長長的路慢慢地走