2011-2012第一學(xué)期_地大武漢vc 考試題及答案
《2011-2012第一學(xué)期_地大武漢vc 考試題及答案》由會員分享,可在線閱讀,更多相關(guān)《2011-2012第一學(xué)期_地大武漢vc 考試題及答案(9頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、中國地質(zhì)大學(xué)(武漢)2011-2012學(xué)年第一學(xué)期
《高級語言程序設(shè)計(VC++)》考試筆試卷A
使用班級: 考試日期:2011.12.08
一、 選擇題(在A、B、C、D中選擇一個正確的,每題1分,共30分。用答題紙答題,答案依次填在1~30答題號內(nèi))
1.以下各標(biāo)識符中,合法的用戶標(biāo)識符組為 1 。
A)PAd,P#d,b-b,abc,_0123,ssiped
B)cin,a10,CPP,float,del_word,signed
C)void,max,hiy,
2、
2.在VC++中,以下語句的輸出為 2 。
short int k=-1;
cout << k << , << (unsigned short)k <
3、下程序,其輸出為 4 。
#include
4、注釋中的單詞拼寫錯誤 D)程序中注釋的多少不會影響所生成的可執(zhí)行文件的長度 6.若給定條件表達(dá)式(m)?(a++):(a--),則其中表達(dá)式m 6 。 A)和(m==0)等價 B)和(m==1)等價 C)和(m!=0)等價 D)和(m!=1)等價 7.在C++語言的if語句中,用作判斷的表達(dá)式為 7 。 A)關(guān)系表達(dá)式 B)邏輯表達(dá)式 C)算術(shù)表達(dá)式 D)任意表達(dá)式 8.設(shè)i和k都是int類型,則以下for循環(huán)語句 8 。 for(i=0,k=-1;k=1;i++,k++) cout << "****\n";
5、 A)判斷循環(huán)結(jié)束的條件不合法 B)是無限循環(huán) C)循環(huán)體一次也不執(zhí)行 D)循環(huán)體只執(zhí)行一次 9. 字符串”\”EOF=-\61\””的長度是 9 。 A) 8 B) 9 C) 12 D) 非法字符串 10. 已知int a[3][2]={3,2,1}; 則表達(dá)式“a[0][0]/a[0][1]/a[0][2]”的值是 10 。 A) 0.166667 B) 1 C) 0 D) 錯誤的表達(dá)式 11. 已知char a[ ][20]={“Beijing”, “
6、shanghai”, “tianjin”, “chongqing”}; 語句cout<
7、) int a[ ][3]={1,2,3,4,5,6}; D) int a[2, 3]={1,2,3,4,5,6};
14. 對字符數(shù)組s賦值,不合法的一個是 14 。
A) char s[ ]=”Beijing”; B) char s[20]={”Beijing”};
C) char s[20]; s=”Beijing”; D) char s[20]={‘B’,’e’,’i’,’j’,’i’,’n’,’g’};
15. 在一個C++源程序文件中,若要定義一個只允許在該源文件中所有函數(shù)使用的變量,則該變量需要使用的存儲類別是 15 。
A) ext 8、ern B) register C) auto D) static
16. 定義一個函數(shù)實現(xiàn)交換x和y的值,并將結(jié)果正確返回。能夠?qū)崿F(xiàn)此功能的是 16 。
A) swap(int x, int y){ int t; t=x; x=y; y=t; }
B) swap(int *x, int *y){ int t; t=x; x=y; y=t; }
C) swap(int *x, int *y){ int t; t= *x; *x = *y; *y=t; }
D) swap(int *x, int *y){ int *t; t=x; x=y; y=t; 9、}
17. 下面函數(shù)的功能是 17 。
void fun(char s1[ ], char s2[ ]) { while(*s2++=*s1++); }
A) 字符串比較 B) 字符串復(fù)制 C) 字符串連接 D) 字符串反向
18說明語句”int (*p)( );”的含義是 18 。
A) p是一個指向一維數(shù)組的指針變量 B) p是指針變量, 指向一個整型數(shù)據(jù)
C) p是一個指向函數(shù)的指針,該函數(shù)的返回值是一個整型 D) 以上都不對
19設(shè)有說明int (*p)[ ]; 其中的標(biāo)識符p是 19 。
A) 4個指向整 10、型變量的指針變量 B) 指向4個整型變量的函數(shù)指針
C) 一個指向具有4個整型元素的一維數(shù)組的指針
D) 具有4個指向整型變量的指針元素的一維指針數(shù)組
20已知:char s[100]; int i; 則引用數(shù)組元素的錯誤的形式是 20 。
A) s[i+10] B) *(s+i) C) *(i+s) D) *((s++)+i)
21. 數(shù)學(xué)式在C++程序中對應(yīng)正確的表達(dá)式為 21 。
A. sqrt(sin(x)>0?sin(x):-sin(x)) B. sqrt(fabs(sinx))
C. sqrt(s 11、qrt(sinx*sinx)) D. fabs(sqrt(sin(x)))
22. 設(shè)int a[]={1,2,3,4},*p=a; 則 22 不能正確計算數(shù)組a的元素個數(shù)。
A. sizeof(a)/sizeof(int) B. sizeof(a)/sizeof(a[0])
C. sizeof(p)/sizeof(int) D. sizeof(a)/sizeof(1)
23. 以下敘述不正確的是 23 。
A. 在C++程序中,嚴(yán)格區(qū)分大小寫字母
B. 一個C++源程序有且僅有一個main 12、函數(shù)
C. 在C++程序中,注釋只能位于一條語句的后面
D. 一個C++程序總是從main函數(shù)開始執(zhí)行
24. 在C++語言程序中,當(dāng)調(diào)用函數(shù)時, 24 。
A. 形、實參各占一個獨立存儲單元 B. 形、實參可以共用存儲單元
C. 可由用戶指定是否共用存儲單元 D. 由系統(tǒng)自動確定是否共用存儲單元
25. 若有以下說明和語句,則 25 是對a數(shù)組元素的錯誤引用。
int a[12]={0},*p[3],**pp=p,i;
for(i=0;i<3;i++) p[i]=&a[i*4];
A. a[12] B. 13、p[2][3] C. a[10] D. pp[0][1]
26. 下列敘述中,不正確的是 26 。
A. 類的構(gòu)造函數(shù)可以重載 B. 類的析構(gòu)函數(shù)可以重載
C. 一個類可以不定義構(gòu)造函數(shù) D. 一個類可以不定義析構(gòu)函數(shù)
27. 下列敘述中,不正確的是 27 。
A. 含純虛函數(shù)的類為抽象類 B. 不能直接由抽象類建立對象
C. 抽象類不能作為派生類的基類 D. 純虛函數(shù)不能定義其實現(xiàn)部分
28. 下列敘述中,不正確的是 28 。
A. this指針是指向當(dāng)前調(diào)用成員函數(shù)的對 14、象的指針
B. this指針可用于類中非靜態(tài)的數(shù)據(jù)成員和函數(shù)成員
C. this指針破壞了類的封裝性
D. this指針的類型與所指對象的類型相同
29. 若有以下語句,則輸出結(jié)果為 29 。
int a=2,b=1;
cout << a>b?"a大于b":"a小于b" << endl;
A. a大于b B. a小于b C. 1 D. 輸出語句有錯
30. 已知宏定義:
#define N 3
#define Y(n) ((N+1)*n)
執(zhí)行語句z=2*(N+Y(5+1)); 15、后,變量z的值是 30 。
A. 42 B. 48 C. 52 D. 出錯
二、填空題(每個空格1分,共30分。請將答案填寫在答題紙的相應(yīng)答題號內(nèi),每個答案只占一行)
●基本概念題,共5分
1. 執(zhí)行語句cout<<"x86\082\n";后,輸出結(jié)果為 1 。
2. 用new運算符申請動態(tài)對象時,系統(tǒng)將自動調(diào)用該對象的 2 。
3. 定義內(nèi)聯(lián)函數(shù)的方法是在函數(shù)的返回值類型之前增加關(guān)鍵字 3 。
4. 在多重繼承時,若欲使公共基類只在派生類中產(chǎn)生一個拷貝,則應(yīng)在派生類中將該基類用關(guān)鍵字 4 16、 。
5. 在C++的I/O流類庫中,預(yù)定義了4個流,即cin、cout、cerr和clog,其中 5 不可重定向。
●閱讀程序題,共13分
6. [程序](2分)
#include 17、clude 18、 void main(void)
{ int k, a[10]={1, 2, 3, 4, 5};
for(f(a),k=0; k<5; k++) cout<
int k=1;
void f(int m)
{ m+=k; k+=m;
{ cha 19、r k=’B’; cout<< k - ‘A’ <<’\n’; }
cout< 20、(){ return x; }
};
class B {
protected:
int x;
public:
int& Access(){ return x; }
};
class C:public A,public B {
int y;
public:
C(int a,int b,int c)
{ A::x=a; B::x=b; y=c; }
int& Accessy(){ return y; }
};
class D:public C{
21、 int z;
public:
D(int a,int b,int c,int d):C(a,b,c){ z=d; }
int& Accessz(){ return z; }
};
void main()
{ D d(35,100,300,500);
d.A::Access()+=20; d.B::Access()+=d.B::Access();
cout< 22、;
}
程序的輸出第一行是 15 ,第二行是 16 。
11. [程序](2分)
#include 23、ectangle:public Shape {
int h,w;
public:
Rectangle(int c, int d) { h=c; w=d; }
int Area() { return h*w; }
};
void fun(Shape &s) { cout< 24、,共12分
12. 下面的程序是統(tǒng)計學(xué)生中A類學(xué)生與B類學(xué)生各多少。A類學(xué)生的標(biāo)準(zhǔn)
是平均分在80分以上,其余都是B類學(xué)生。
[程序](5分)
#include 25、main()
{ int a[][4]={{60,80,90,75},{75,85,65,77},{80,88,90,98},
{89,100,78,81},{62,68,69,75},{86,85,77,91}};
int i,A=0,B=0;
for(i=0;i 26、程序中,數(shù)組類DArr通過重載運算符“<<”實現(xiàn)數(shù)組元素的順序查找。
順序查找法的思路是:從第一個元素開始,從前向后依次與關(guān)鍵字比較,直到找到此元素或查找到數(shù)組尾部時結(jié)束。若找到,返回此元素的下標(biāo);否則返回-1。
#include 27、b[i];
}else a=0,n=0;
}
~DArr(){ delete []a; }
int& Elem(int i) { return a[i]; }
int operator<<(int f) //在當(dāng)前對象中順序查找值為f的元素
{ for(int i=0;i 28、!=-1) //在d中查找值為2的元素
cout<<"找到指定元素,其下標(biāo)為"<
struct Lnode
{ double data;
Lnode* next;
};
void ShowList(Lnode* list)
{ if(list)
{ cout< 29、st->next) 27 ;
}
}
void AddToEnd(Lnode* New,Lnode*&head)
{ if(head==NULL) head=New;
else AddToEnd(New, 28 );
}
void DeleteList(Lnode*& head)
{ Lnode* p=head;
if(p)
{ head= 29 ; delete p;
if(head) 30 ;
}
}
void main()
{ Lnode* head= 30、NULL,*temp;
temp=new Lnode;
while(temp)
{ temp->next=NULL;
cout<<"data?";
cin>>temp->data;
if(temp->data>0) AddToEnd(temp,head);
else break;
temp=new Lnode;
}
ShowList(head);
DeleteList(head);
}
2011-2012學(xué)年第一學(xué)期
《高級語言程序設(shè)計(VC++)》考試筆試卷A參考答案
一、選擇題(每題1分,共30分) 31、
1D 2D 3B 4B 5C 6C 7D 8B 9A 10B 11C 12A 13C 14C 15D
16C 17B 18C 19C 20D 21A 22C 23C 24A 25A 26B 27C 28C 29D 30B
二、填空題(每個空格1分,共30分)
1 x86
2 構(gòu)造函數(shù)
3 inline 32、
4 virtual
5 cerr和clog
6 3
7 0 33、
8 6
9 求字符串的長度
10 35345
11 35745 34、
12 1
13 5,6
14 4,6
15 55,200
35、16 300,500
17 50
18 20
19 int grade[]或int *grade
20 int &tA 36、
21 int&tB
22 size
23 sizeof(a[0])
24 n=m 37、
25 a[i]==f
26 d.Elem(i)
27 ShowList(list->next )
28 head->next
29 p->next
30 DeleteList(head)
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。