回憶版,難免有錯誤,歡迎指正。同時歡迎大家在評論中討論答案
1、 單項選擇題
1.1如果把傳輸速率定義爲單位時間內傳送的信息量(以字節計算)多少。關於一下幾種典型的數據傳輸速率:
1.使用USB2.0閃存盤,往USB閃存盤上拷貝文件的數據傳輸速率
2.使用100M以太網,在局域網內拷貝大文件時網絡上的數據傳輸速率
3.使用一輛卡車拉1000塊單塊1TB裝滿數據的硬盤,以100km/h的速度從上海到天津(100km)一趟所等價的數據傳輸寬帶
4.使用電腦播放MP3,電腦的pci總線到聲卡的數據傳輸速率
在通常情況下,關於這幾個傳輸速率的排序正確的是:
A. 4<1<2<3
B. 1<4<2<3
C.4<1<3<2
D.1<4<3<2
1.2.#define SUB(x,y) x-y
#define ACCESS_BEFORE(element,offset,value) *SUB(&element, offset) =value
int main(){
int array[10]= {1,2,3,4,5,6,7,8,9,10};
int i;
ACCESS_BEFORE(array[5], 4, 6);
printf("array: ");
for (i=0; i<10; ++i){
printf("%d", array[i]);
}
printf("\n");
return (0);
}
A.array: 1 6 3 4 5 6 7 8 9 10
B.array: 6 2 3 4 5 6 7 8 9 10
C.程序可以正確編譯連接,但是運行時會崩潰
D.程序語法錯誤,編譯不成功
1.3 在區間[-2, 2]裏任取兩個實數,它們的和>1的概率是:
A.3/8
B.3/16
C.9/32
D.9/64
1.4 小組賽,每個小組有5支隊伍,互相之間打單循環賽,勝一場3分,平一場1分,輸一場不得分,小組前三名出線平分抽籤。問一個隊最少拿幾分就有理論上的出線希望
:
A.1
B.2
C.3
D.4
1.5用二進制來編碼字符串“abcdabaa”,需要能夠根據編碼,解碼回原來的字符串,最少需要多長的二進制字符串?
A.12
B.14
C.18
D.24
1.6 10個相同的糖果,分給三個人,每個人至少要得一個。有多少種不同分法
A.33 B.34C.35D.36
1.7 下列程序段,循環體執行次數是:
y=2
while(y<=8)
y=y+y;
A.2
B.16
C.4
D.3
1.8下面哪種機制可以用來進行進程間通信?
A.Socket B.PIPEC.SHARED MEMORYD.以上皆可
1.9 下列關於編程優化的說法正確的是:
A. 使用編譯器的優化選項後程序性能一定會獲得提高
B. 循環展開得越多越徹底,程序的性能越好
C. 寄存器分配能夠解決程序中的數據依賴問題
D. 現代主流C/C++編譯器可以對簡單的小函數進行自動Iinline
1.10 一下程序是用來計算兩個非負數之間的最大公約數:
long long gcd(long long x, long long y){
if( y==0) return 0;
else return gcd (y, x%y);
}
我們假設x,y中最大的那個數的長度爲n,基本運算時間複雜度爲O(1),那麼該程序的時間複雜度爲:
A.O(1)
B.O(logn)
C.O(n)
D.O(n^2)
2 程序設計與算法(2.1,2.2爲編程題,2.3爲算法設計題,只需設計思路和關鍵步驟僞代碼)
2.1 寫函數,輸出前n個素數。函數原型:void print_prime(int N); 不需要考慮整數溢出問題,也不許使用大數處理算法。
2.2 長度爲n的數組亂序存放着0至n-1. 現在只能進行0與其他書的swap,請設計並實現排序( 必須採用交換實現)。
2.3 給定一個原串和目標串,能對原串進行如下操作:
1 在給定位置插入一個字符
2 替換任意字符
3 刪除任意字符
要求寫一個程序,返回最少的操作數,使得原串進行這些操作後等於目標串。原串和目標串長度都小於2000.