嵌入式(shi)經典(dian)筆(bi)試題(ti) 知識鞏固(gu)(含答案)
時間:2016-04-15 來源:未知(zhi)
1、假設A為抽象類(lei),下列聲明( )是正確的
A.int fun(A);
B.A Obj;
C.A fun(int);
D.A *p;
參考答(da)案:D
2、以下程序的(de)輸出結果是
#include
int main()
{
int i,a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
return 0;
}
A.258
B.741
C.852
D.369
參考答案:C
3、現有一個循(xun)(xun)環(huan)隊(dui)列,其隊(dui)頭指(zhi)針為(wei) front,隊(dui)尾(wei)指(zhi)針為(wei) rear,循(xun)(xun)環(huan)隊(dui)列的總(zong)長(chang)度(du)為(wei) N,問怎(zen)么判斷循(xun)(xun)環(huan)隊(dui)列滿(man)了?
A.front==(rear+1)%n
B.front==rear+1
C.front==rear%n
D.front==rear
參考(kao)答案:A
4、以下不能正確定義二維(wei)數(shu)組的選項是(shi)______。
A.int a[2][2]={{1},{2}};
B.int a[][2]={1,2,3,4};
C.int a[2][2]={{1},2,3};
D.int a[2][]={{1,2},{3,4}};
參考答案(an):D
5、class foo {
foo(){};
};
class boo : public foo {
boo() : foo() {};
};
以上代碼編(bian)譯時需要什么標準?
A.c++03
B.c++0x
C.c++11
D.c++98
參考答案:C
6、在(zai)一個以 h 為頭指針的單(dan)循環鏈(lian)(lian)中,p 指針指向鏈(lian)(lian)尾結點的條件是( )。
A.p->next==NULL
B.p->next==h
C.p->next->next==h
D.p->data==-1
參考答案:B
7、#include
using namespace std;
int f(int n){
if (n==1)
return 1;
else
return (f(n-1)+n*n*n);
}
int main(){
int s=f(3);
cout< <
return 0;
}
運行結果是(shi)?
A.8
B.9
C.27
D.36
參考答案:D
8、下面(mian)是折(zhe)半(ban)查找的(de)(de)(de)(de)實現,data是按升序排列(lie)的(de)(de)(de)(de)數據,x是查找下標,y是查找的(de)(de)(de)(de)上標,v是查找的(de)(de)(de)(de)數值,返(fan)回v在data的(de)(de)(de)(de)索(suo)引,若沒找到(dao)返(fan)回-1。代碼(ma)不正確是
public int bsearch(int[] data, int x, int y, int v) {
int m;
while(x
m = x + (y-x)/2; //2
if(data[m] == v) return m; //3
else if(data[m] > v) y = m; //4
else x = m; //5
}
return -1; //6
}
A.1
B.2
C.3
D.4
E.5
參考答案(an):E
二、簡答題
1、編(bian)寫一個函數,作用是(shi)把(ba)一個char組(zu)成的字符(fu)串(chuan)循環右(you)移n個。比如(ru)(ru)原來(lai)是(shi)“abcdefghi”如(ru)(ru)果(guo)n=2,移位后(hou)應(ying)該是(shi)“hiabcdefg” 函數頭(tou)是(shi)這樣(yang)的:
//pStr是(shi)指(zhi)向以'\0'結尾的字符(fu)串的指(zhi)針(zhen)
//steps是要求移動的n
void LoopMove ( char * pStr, int steps )
{
//請填(tian)充...
}
參考答案
void LoopMove ( char *pStr, int steps )
{
int n = strlen( pStr ) - steps;
char tmp[MAX_LEN];
strcpy ( tmp, pStr + n );
strcpy ( tmp + steps, pStr);
*( tmp + strlen ( pStr ) ) = '\0';
strcpy( pStr, tmp );
}
2、Java集合類框架的基本接口有(you)哪些?
參考答案
集(ji)合(he)類(lei)接口(kou)指定了一(yi)組叫做元(yuan)素的(de)(de)(de)對(dui)象。集(ji)合(he)類(lei)接口(kou)的(de)(de)(de)每一(yi)種(zhong)具體(ti)的(de)(de)(de)實現類(lei)都可以(yi)選(xuan)擇以(yi)它自己的(de)(de)(de)方式對(dui)元(yuan)素進行保存和排序。有的(de)(de)(de)集(ji)合(he)類(lei)允(yun)許重(zhong)復的(de)(de)(de)鍵,有些不允(yun)許。Java集(ji)合(he)類(lei)提供了一(yi)套(tao)設計良好的(de)(de)(de)支持對(dui)一(yi)組對(dui)象進行操作的(de)(de)(de)接口(kou)和類(lei)。Java集(ji)合(he)類(lei)里面基本的(de)(de)(de)接口(kou)有:
Collection:代(dai)表一(yi)組對象,每一(yi)個對象都是(shi)它的子元素(su);
Set:不包含重復元素的Collection;
List:有順序的collection,并(bing)且可(ke)以包含重復元素(su);
Map:可以把鍵(key)映射到(dao)值(value)的對象(xiang),鍵不(bu)能重(zhong)復。