東軟2012校園招聘筆試試題(B)
一 選擇題
1(數(shù)據(jù)結(jié)構(gòu))執(zhí)行以下程序的時間復(fù)雜度為___
char *p = "NEUSOFT";
for (int i=0;i<strlen(p) ;i++){
printlf("%cn",p[i]);
}
其中函數(shù)strlen(str)返回字符串str的長度。
?A ?0(1) ? ? B ? ? ?0( n) ? ? ? ? ? ?C ? 0(n*n) ? ?D 0(n!)
2 (數(shù)據(jù)結(jié)構(gòu))利用大小為n的數(shù)組順序存儲一個堆棧是否為空,那么進棧操作應(yīng)該執(zhí)行____來修改 top 指針
?A top=0 ?B ?top=n ?C ?top++ ?D top--
3 (數(shù)據(jù)結(jié)構(gòu))完全的十叉樹的定義是,若設(shè)十叉樹的高度為h 除第h層外,其它的層(1~h-1)的結(jié)點數(shù)都達到最大個數(shù),第h層所有的節(jié)點都連續(xù)集中在最左邊,一顆
具有2012個結(jié)點的完全的十叉樹的高度為___
?A 5 ? ?B 6 ? C 7 ?D8
4(數(shù)據(jù)結(jié)構(gòu))在無向圖中,所有頂點的度數(shù)之和等于所有邊數(shù)的__倍
A ? ? 0.5 ? ? B ?1 ? C ? ? ?2D ? ? 3
5(數(shù)據(jù)結(jié)構(gòu))從具有n個結(jié)點的二叉樹搜索樹中刪除一個元素時,在最壞情況下的時間復(fù)雜度為____
?A ?0(1) ? ? B ? ? ?0( n) ? ? ? ? ? ?C ? 0(n*n) ? ?D 0(log2n)
6 ?(數(shù)據(jù)結(jié)構(gòu)) 在100個不同的數(shù)據(jù)元素進行直接插入排序 最多需要進行____次比較
A ? ? ?9700 ? ?B ?9900 ?C ?4850 ? D ?4950
7(軟件工程)具有風(fēng)險分析的軟件生存周期模型是____
A ?螺旋模式 ? B ?增量模式 ? C ?噴泉模式 ? D ?瀑布模式
8 (操作系統(tǒng))在UNIX系統(tǒng)中 目錄結(jié)構(gòu)采用_____
A 單級目錄結(jié)構(gòu) ? B ?帶鏈接樹形目錄結(jié)構(gòu) ?C ?二級目錄結(jié)構(gòu) ?D 單純樹形目錄結(jié)構(gòu)
9(操作系統(tǒng))某進程在運行過程中需要等待從磁盤上讀入數(shù)據(jù),此時該進程的狀態(tài)將____
?A ? 從就緒變?yōu)檫\行 ?B從運行變?yōu)樽枞??C 從運行變?yōu)榫途w ?D 從阻塞變?yōu)榫途w
10(C語言)一下敘述中錯誤的是————
A 變量的作用域取決于變量的定義語句出現(xiàn)的位置
B 局部變量的作用域是在定義它的函數(shù)體內(nèi)
C 同一程序中 全局變量的作用域一定比局部變量的作用域大
D 全局變量的作用域是從定義位置開始至源文件結(jié)束
11(C語言)定義一個結(jié)構(gòu)體變量時,系統(tǒng)分配給他的內(nèi)存單元是_____
A 全部成員所需的內(nèi)存量的最大值
B固定的容量
C全部成員所需的內(nèi)存量之和
D 結(jié)構(gòu)體中的第一個成員所需的容量
12(C++)關(guān)于類模板 ,描述錯誤的是_____
A 一個普通基類不能派生出類模板
B 類模板從普通派生類,也可以從類模板派生
C 根據(jù)建立對象是的實際數(shù)據(jù)類型,編譯器把類模板實例化為模板
D 函數(shù)的類模板參數(shù)須通過構(gòu)造函數(shù)實例化
13(C++)下面函數(shù)原型聲明中,_______聲明了crossover為虛函數(shù)
A virtual void crossover()=0;
B void crossover()=0;
C virtual void crossover();
D virtual void crossover(){};
14(Java)要從文件“file.dat” 文件中讀出第十個字節(jié)到變量C中,下列哪個方法合適?
A FileInputStream in = new FileInputStream("file.day"); in.skip(10);int c=in.read();
B FileInputStream in = new FileInputStream("file.day"); in.skip(9);int c=in.read();
C FileInputStream in = new FileInputStream("file.day");int c=in.read();
D FileInputStream in = new FileInputStream("file.day"); in.skip(10);int c=in.readByte();
15(Java)指出下列程序運行的結(jié)果
?public class Example{
String str = new String ("good");
char[] cha={'a','b','c'};
public static void main(String args[]){
? ? Example ex= new Example();
ex.change(ex.str,ex.ch);
system.out.printle(ex.str+" ?and");
System.out.println(ex.ch);
}
public void change(String str,Char ch[]){
syr="test ok";
ch[0]='g';
}
}
?A. good and abc
B ?test ok and abc
C ?good and gbc
D ?test ok and gbc
二 填空題
1 使用二分查找法在sorted_list中搜索element。
?int binary_serach(int sorted_list[],int low ,int high ,int element){
while(low<=high){
int middle=①______
if(element>sorted_list[middle])
low=middle+1;
else if(element < sorted_list[middle])
②__________;
else
return middle;
}
return -1;
}
2 使用指針的形式編寫函數(shù) strncat,已知strncat的函數(shù)聲明如下;
char * strncat(char *dst,const ?char *src,int n)
該函數(shù)的功能是把src所指的字符串的前n個字符添加到dest 的結(jié)尾處(覆蓋dest結(jié)尾處的‘