華中師范大學計算機考研874專業課模擬題_第1頁
華中師范大學計算機考研874專業課模擬題_第2頁
華中師范大學計算機考研874專業課模擬題_第3頁
華中師范大學計算機考研874專業課模擬題_第4頁
華中師范大學計算機考研874專業課模擬題_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據結構與c語言模擬題一第一部分 C語言(90分)一.選擇題(20分)1、執行下面程序后,輸出結果是()main() a=45,b=27,c=0;c=max(a,b);printf("%dn",c);int max(x,y)int x,y; int z;if(x>y) z=x;else z=y;return(z);A:45 B:27 C:18 D:722、C語言源程序的基本單位是( )A:過程 B:函數 C:子程序 D:標識符3、設C語言中,int類型數據占4個字節,則short類型數據占( )A:1個字節 B:2個字節 C:4個字節 D:8個字節4、以下描述中,正確

2、的是( )A:預處理是指完成宏替換和文件包含中指定的文件的調用B:預處理指令只能位于C源文件的開始C:C源程序中凡是行首以#標識的控制行都是預處理指令D:預處理就是完成C編譯程序對C源程序第一遍掃描,為編譯詞法和語法分析作準備5、 下列數組說明中,正確的是( )A:int array4; B:int array; C:int array5; D:int array3;6、下面有關for循環的正確描述是 ( )A:for循環只能用于循環次數已經確定的情況B:for循環是先執行循環體語句,后判斷表達式C:在for循環中,不能用break語句跳出循環體D:for循環的循環體語句中,可以包含多條語句,

3、但必須用花括號括起來7、 若有下列定義int a5,*p=a;,則對a數組元素地址的正確引用是( ) A:*(p+5) B:*p+2 C: &a4 D: *p8、以下( )是正確的變量名A: 5f B: if C: f.5 D: _f59、在C語言中,形參的缺省存儲類是( )A:auto B:register C:static D:extern10、下列程序的輸出結果是( )main() int x=1,y=0,a=0,b=0;switch(x) case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;cas

4、e 3:a+;b+;break;printf("a=%d,b=%dn",a,b);A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=211、以下能對二維數組a進行正確初始化的語句是( )A:int a2=1,0,1,5,2,3; B:int a3=1,2,3,4,5,6;C:int a24=1,2,3,4,5,6; D:int a4=1,0,1,1,1;12、以下程序的運行結果是( )main() int n;for(n=1;n<=10;n+)if(n%3=0) continue;printf("%d",n);A:1245

5、7810 B:369 C:12 D:123456789013、設有說明:char w;int x;float y;double z;則表達式w*x+z-y值的數據類型為( )A:float B:char C:int D:double14、若已定義x為int類型變量,下列語句中說明指針變量p的正確語句是( )A:int p=&x; B:int *p=x; C:int *p=&x; D:*p=*x;15、若有以下定義int k=7,x=12;,則能使值為3的表達式是 ( )A:x%=(k%=5) B:x%=(k-k%5) C:x%=k-k%5 D:(x%=k)-(k%=5)16、經

6、過int x=1,y=2,z=3;語句定義后,表達式z+=x>y?+x:+y的值為( )A:2 B:3 C:6 D:517、下面程序段的輸出結果為( )int a,b;b=(a=3*5,a*4,a*5); printf("%d",b);A:60 B:75 C:65 D:無確定值18、若希望當A的值為奇數時,表達式的值為"真",A的值為偶數時,表達式的值為"假",則以下不能滿足要求的表達式是( )A:A%2=1 B:!(A%2=0) C:!(A%2) D:A%219、執行y=10;x=y+;后變量x和y的值是( )A:x=10,

7、y=10 B:x=11,y=11 C:x=10,y=11 D:x=11,y=1020、有如下程序段,int x=23; do printf("%d",x-); while(!x); 該程序的輸出結果是 ( )A:321 B:23 C:不輸出任何內容 D:陷入死循環二.填空題(10分)1、C語言源程序文件的后綴是 ,經過編譯后,生成文件的后綴是 ,經過連接后,生成文件的后綴是 。2、以下程序段的輸出結果是 。a=3+5,a*4;x=11/3;printf(“%d,%dn”,a,x);3、當a=1、b=2、c=3時,執行以下if語句后,a= 、b= 、c= 。if(a>c

8、);b=a;a=c;c=b;4、將以下嵌套的if語句改寫成不嵌套的if語句: 。if(w<0) k=0;else if(w<=100) k=1; else k=0;5、以下程序的輸出結果 。main() int x=2;while(x-);printf(“%dn”,x);6、若有定義:int a34=1,2,0,4,6,8,10;則初始化后,a12得到的初值是 ,a21得到的初值是 。7、若有定義:char ch;使指針p指向變量ch的賦值語句是 。8、在C程序中數據可以用兩種代碼形式存放,它們是 和 。9、若s是int型變量,則表達式s%2+(s+1)%2的值為 。10、若a是i

9、nt 型變量,且a的初值為6,則計算表達式a+=a-=a*a后a的值為 。三、程序閱讀題(40分)1、#include <stdio.h>void main( ) int x=1,a=2,b=3;switch(x) case 1: a-; break;case 2: b+; break;case 3: a+;b+;printf("na=%d,b=%dn",a,b);2、#include <stdio.h>void main( )char ch1 = 'E'if (ch1 >= 'A')ch1+;elsech1+=

10、32;printf("ch1 = %cn", ch1);3、#include <stdio.h>int main()char ch1='A',ch2='B'switch(ch1)case 'A':switch(ch2)case 'B': printf("Good!n");break;case 'A': printf("Better!n");break;case 'B': printf("Best!n"); b

11、reak;return 0;4、#include <stdio.h>void main()int number , digit;number= 1234;while ( number!= 0 ) digit = number%10 ;printf( "%d" , digit ) ;number = number / 10 ;5、#include <stdio.h>int main()int i=10,m=0,n=0;doif(i%2!=0)m=m+i;elsen=n+i;i-;while(i>=0);printf("m=%d,n=%d

12、n",m,n);return 0;6、#include <stdio.h>void main()int a,b;for(a=1,b=1;a<=100;a+)if(b>20) break;if(b%4=1)b=b+4;continue;b=b-5;printf("a=%dn",a);7、#include <stdio.h>void main()char ch;while(ch=getchar()!='n') if (ch>='A'&&ch<='Z')ch=

13、ch+32;else if (ch>='a'&&ch<='z')ch=ch-32;printf("%c",ch);輸入:ABCdef<回車>8、#include <stdio.h>int main ()int a, b;for (a = 1, b = 1 ; a <= 100 ; a+)if (b >= 9) break;if (b % 3 = 1)b += 3 ;continue ;b -= 5;printf("%d,%dn", a, b);return 0

14、;四、編程題(20分)1、利用字符讀寫函數實現文件拷貝。2、利用字符指針實現字符串的倒序排列 。第二部分 數據結構(60分)一、選擇題(10分)1、在帶有頭結點的單鏈表HL中,要向表頭插入一個由指針p指向的結點,則執行( )A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p;C. p->next=HL; p=HL; D. HL=p; p->next=HL;2、對線性表,在下列哪種情況下應當采用鏈表表示?( )A.經常需要隨機地存取元素 B.經常需要進行插入和刪除操作C.表中元素需要占據一片連續的存儲空間

15、D.表中元素的個數不變3、一個棧的輸入序列為1 2 3,則下列序列中不可能是棧的輸出序列的是( )A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 34、快速排序在最壞情況下的時間復雜度為( )AO(log2n) BO(nlog2n) C0(n) D0(n2)5、二叉樹的第k層的結點數最多為( )A2k-1 B.2K+1 C.2K-1 D. 2k-16、對于線性表(7,34,55,25,64,46,20,10)進行散列存儲時,若選用H(K)=K%9作為散列函數,則散列地址為1的元素有( )個A1 B2 C3 D47、設有6個結點的無向圖,該圖至少應有( )條邊才能確保是一個連

16、通圖A.5 B.6 C.7 D.88、將長度為n的單鏈表鏈接在長度為m的單鏈表之后的算法的時間復雜度為( )AO(1) BO(n) CO(m) DO(m+n)9、用某種排序方法對關鍵字序列(25,84,21,47,15,27,68,35,20)進行排序時,序列的變化情況如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84則所采用的排序方法是( )A選擇排序 B希爾排序 C歸并排序 D快速排序10、根據二叉樹的定義可知二叉樹共有( )種不同的形態。A4 B. 5 C.6 D.7二、填空題

17、(10分)1.為了能有效地應用HASH查找技術,必須解決的兩個問題是_和_。2.設線性表中有n個數據元素,則在順序存儲結構上實現順序查找的平均時間復雜度為_,在鏈式存儲結構上實現順序查找的平均時間復雜度為_。3.設一棵二叉樹中有n個結點,則當用二叉鏈表作為其存儲結構時,該二叉鏈表中共有_個指針域,_個空指針域。4.設指針變量p指向單鏈表中結點A,指針變量s指向被插入的結點B,則在結點A的后面插入結點B的操作序列為_。5.設無向圖G中有n個頂點和e條邊,則其對應的鄰接表中有_個表頭結點和_個表結點。6.設無向圖G中有n個頂點e條邊,所有頂點的度數之和為m,則e和m有_關系。7.設一棵二叉樹的前序

18、遍歷序列和中序遍歷序列均為ABC,則該二叉樹的后序遍歷序列為_。8.設一棵完全二叉樹中有21個結點,如果按照從上到下、從左到右的順序從1開始順序編號,則編號為8的雙親結點的編號是_,編號為8的左孩子結點的編號是_。9. 數據的物理結構主要包括_和_兩種情況。10.設一個連通圖G中有n個頂點e條邊,則其最小生成樹上有_條邊。三、計算題(20分)1.設有一個輸入數據的序列是 46, 25, 78, 62, 12, 80 , 試畫出從空樹起,逐個輸入各個數據而生成的二叉搜索樹。2.對于下圖所示的有向圖若存儲它采用鄰接表,并且每個頂點鄰接表中的邊結點都是按照終點序號從小到大的次序鏈接的,試寫出:(1) 從頂點出發進行深度優先搜索所得到的深度優先生成樹;(2) 從頂點出發進行廣度優先搜索所得到的廣度優先生成樹;3.請畫出下圖的鄰接矩陣和鄰接表。4.已知一組記錄的排序碼為(46,79,56,38,40,80, 95),寫出對其進行快速排序的前兩次劃分結果。5.一個線

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論