亚洲欧美国产制服另类,日韩1区久久久久久久久久,亚洲欧美中文日韩aⅴ,不卡AV在线网址

    歡迎來到匯文網(wǎng)! | 幫助中心 匯文網(wǎng)——高品質(zhì)閱讀,高比例分成!
    匯文網(wǎng)

    專升本C語言程序設(shè)計(jì)模擬試卷C3.doc

    收藏

    編號:42913640    類型:共享資源    大小:164.50KB    格式:DOC    上傳時(shí)間:2023-09-05
    10
    積分
    關(guān) 鍵 詞:
    語言程序設(shè)計(jì) 模擬 試卷 C3
    資源描述:
    計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)《基礎(chǔ)知識》模擬試卷三 (考試時(shí)間150分鐘,滿分300分,共三部分) 第一部分 C語言程序設(shè)計(jì)(共100分) 一、 單項(xiàng)選擇題(本大題共30小題,每小題2分,共60分) 1. 下列各選項(xiàng)中,均是合法有效的標(biāo)識符的是【 】  A. 3day B.lower C.day_3 D.ab Sum _days abcde student_name _of lotus_1_2_3 default M.D.john 2. 若希望當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為“真”,A的值為偶數(shù)時(shí),表達(dá)式的值為“假”。則以下不能滿足要求的表達(dá)式是 A.A%2==1 B.!(A%2==0) C.!(A%2) D.A%2 3. 下列程序的輸出結(jié)果是【??????? 】 #include void 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; case 3: a++;b++; break; } printf(“%d,%d\n”,a,b); } A.1,1 B.2,1 C.1,0 D.2,2 4. 以下關(guān)于switch語句和break語句的描述中,只有正確的是【 】 A.在switch語句中必須使用break語句 B.在switch語句中,可以根據(jù)需要使用或不使用break語句 C.break語句只能用于switch語句中 D.break語句是switch語句的一部分 5. 下面程序的輸出是【 】。 main() { int x=0x23; printf(“%d\n”,- -x); } A.18 B.19 C.34 D.35 6. 下列函數(shù)的輸出結(jié)果是【??? 】 #include int f1(int xb) { extern int xa; return (xa * xb); } void main(void) { extern int xb; int xa=5; printf(“xa=%d,xb=%d,result=%d”,xa,xb,f1(xa)); return 0; } int xa=3,xb=4; A. 3,4,12 B. 5,4,20 C. 5,4,15 D. 3,4,15 7. c語言規(guī)定,簡單變量做實(shí)參時(shí),它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是 A. 地址傳遞 B. 由實(shí)參傳給形參,再由形參傳回給實(shí)參 C. 單向值傳遞 D. 由用戶指定傳遞方式 8. 以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其原因是【?????? 】 void main() { int *p,a; p=&a; scanf(“%d”,*p); …… } A.*p表示的是指針變量p的地址 B.*p表示的是變量a的值,而不是變量a的地址 C.*p表示的是指針變量p的值 D.*p只能用來說明p是一個(gè)指針變量 9. 下列程序段的輸出結(jié)果是【 】。 int x=3; do ?{ ? printf(“%2d\n”,x-=2); ?}while (!(――x)) A. 1 B. 1 -2 C. 3 0 D. 是死循環(huán) 10. 若有語句:int a=4, *p=&a;下面均代表地址的一組選項(xiàng)是【 】。 A. a,p,&*a B. *&a,&a,*p C. &a,p,&*p D. *&p,*p,&a 11. 下面程序輸出的結(jié)果是   main()   { int i;   int a[3][3]={1,2,3,4,5,6,7,8,9};   for(i=0;i<3;i++)   printf("%d ",a[2-i][i]);   }   A)1 5 9   B)7 5 3   C)3 5 7   D)5 9 1 12. 下面函數(shù)的功能是   char *fun(char *str1,char*str2)   {while((*str1)&&(*str2++=*str1++));   return str2;   }   A)求字符串的長度   B)比較兩個(gè)字符串的大小   C)將字符串str1復(fù)制到字符串str2中   D)將字符串str1接續(xù)到字符串str2中 13. 下面函數(shù)調(diào)用語句含有實(shí)參的個(gè)數(shù)為   func((exp1,exp2),(exp3,exp4,exp5));   A)1  B)2  C)4  D)5 13. 下面程序段的運(yùn)行結(jié)果是   char *s="abcde";   s+=2;printf("%d",s);   A)cde   B)字符′c′   C)字符′c′的地址   D)無確定的輸出結(jié)果 14. 已有變量定義和函數(shù)調(diào)用語句:int a=25;print_value(&a);下面函數(shù)的正確輸出結(jié)果是   void print_value(int *x)   {printf("%d\n",++*x);}   A)23   B)24   C)25   D)26 15. 當(dāng)順利執(zhí)行了文件關(guān)閉操作時(shí),fclose函數(shù)的返回值是   A)-1   B)TRUE   C)0   D)1 16. 設(shè)有如下定義   char *s[2]={ "abcd","ABCD"};   則下列說法錯(cuò)誤的是   A)s數(shù)組元素的值分別是"abcd"和"ABCD"兩個(gè)字符串的首地址   B)s是指針數(shù)組名,它含有兩個(gè)元素分別指向字符型一維數(shù)組   C)s數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維字符數(shù)組中的元素   D)s數(shù)組的兩個(gè)元素中分別存放了字符′a′和′A′的地址 17. 以下不能對二維數(shù)組a進(jìn)行正確初始化的語句是   A)int a[2][3]={0};   B)int a[][3]={{1,2},{0}};   C)int a[2][3]={{1,2},{3,4},{5,6}};   D)int a[][3]={1,2,3,4,5,6}; 18. 有以下程序   struct STU   { char num[10]; float score[3]; };   main()   {struct STU s[3]={{"20021",90,95,85},   {"20022",95,80,75},   { "20023",100,95,90},   },*p=s;   int i; float sum=0;   for(i=0;i<3;i++)   sum=sum+p->score[i];   printf("%6.2f\n",sum);   }   程序運(yùn)行后的輸出結(jié)果是   A)260.00   B)270.00   C)280.00   D)285.00 19. 若有說明:int a[10];則對a數(shù)組元素的正確引用是   A)a[10]   B)a[3,5]   C)a(5)   D)a[10-10] 20. 下面程序段中,輸出*的個(gè)數(shù)是   char *s="\ta\018bc";   for(;*s!=′\0′;s++)printf("*");   A)9   B)5   C)6   D)7 21.設(shè)有如下函數(shù)   fun (float x)   {   printf("\n%d",x*x);}   則函數(shù)的類型是   A)與參數(shù)x的類型相同   B)是void   C)是int型   D)無法確定 22. 有如下定義   #define D 2   int x=5;float y=3.83;   char c=′D′;   則下面選項(xiàng)中錯(cuò)誤的是   A)x++;   B)y++;   C)c++;   D)D++; 23. 以下程序段的執(zhí)行結(jié)果為   #define PLUS(X,Y)X+Y   main()   { int x=1,y=2,z=3,sum;   sum=PLUS(x+y,z)*PLUS(y,z);   printf("SUM=%d",sum);   }   A)SUM=9   B)SUM=12   C)SUM=18   D)SUM=28 24. C語言規(guī)定,函數(shù)返回值的類型是由   A)return語句中的表達(dá)式類型所決定   B)調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型所決定   C)調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定   D)在定義該函數(shù)時(shí)所指定的函數(shù)類型所決定 25. 下列程序的運(yùn)行結(jié)果是   void fun(int *a,int *b)   { int *k;   k=a;a=b;b=k;   }   main()   { int a=2004, b=9,*x=&a,*y=&b;   fun(x,y);   printf("%d%d",a,b);   }   A)2004 9   B)9 2004   C)0 0   D)編譯時(shí)出錯(cuò) 26. 下列程序是用來判斷數(shù)組中特定元素的位置所在。如果輸入如下整數(shù):   876? 675? 896? 101? 301? 401? 980? 431? 451? 777   #include   #include   int fun(int *s, int t, int *k)   { int i;   *k=0;   for(i=0;i  if(s[*k]  return s[*k];   }   main()   {   int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;   clrscr();   fun(a, 10, &k);   printf("%d, %d\n ", k, a[k]);   }   則輸出結(jié)果為   A)7,431   B)6   C)980   D)6,980 27.下面程序應(yīng)能對兩個(gè)整型變量的值進(jìn)行交換。以下正確的說法是   main()   {int a=10,b=20;   printf("(1)a=%d,b=%d\n",a,b);   swap(&a,&b);   printf("(2)a=%d,b=%d\n",a,b);   }   swap(int p,int q)   {int t;   t=p;p=q;q=t;   }   A)該程序完全正確   B)該程序有錯(cuò),只要將語句swap(&a,&b);中的參數(shù)改為a,b即可   C)該程序有錯(cuò),只要將swap()函數(shù)中的形參p和q以及t均定義為指針(執(zhí)行語句不變)即可   D)以上說法都不對 28. 有以下程序   #include   main()   { char *p,*q;   p=(char *)malloc(sizeof(char)*20); q=p;   scanf("%s %s",p,q); printf("%s %s\n",p,q);   }   若從鍵盤輸入:abc def<回車>,則輸出結(jié)果是   A)def def   B)abc def   C)abc d   D)d d 29.以下程序的輸出結(jié)果是   int f()   { static int i=0;   int s=1;   s+=i; i++;   return s;   }   main()   { int i,a=0;   for(i=0;i<5;i++)a+=f();   printf("%d\n",a);   }   A)20   B)24   C)25   D)15 30.有以下程序   #include   struct NODE   { int num; struct NODE *next; };   main()   { struct NODE *p,*q,*r;   p=(struct NODE*)malloc(sizeof(struct NODE));   q=(struct NODE*)malloc(sizeof(struct NODE));   r=(struct NODE*)malloc(sizeof(struct NODE));   p->num=10; q->num=20; r->num=30;   p->next=q;q->next=r;   printf("%d\n ",p->num+q->next->num);   }   程序運(yùn)行后的輸出結(jié)果是   A)10   B)20   C)30   D)40 二、程序閱讀題(本大題共4小題,每小題5分,共20分) 閱讀下列程序,將輸出結(jié)果寫到答題紙的相應(yīng)位置。 31.下列程序的輸出結(jié)果為 。 main () {int x=3,y=5; printf ("%d",x=(x--)*(--y)); } 32.以下程序的輸出結(jié)果是 。 fun (int x,int y,int z) { z =x*x+y*y;} main () {int a=31; fun (6,3,a) printf ("%d", a) } 33.執(zhí)行下面程序段后,k值是 。 k=1; n=1234; do { k+=n%10; n/=10 ; } while(n); 34.下列程序的輸出的結(jié)果是 , , 。 main() {int i,j row,colum,m; static int array[3][3]={{100,200,300},{28,72,-30}{-850,2,6}}; m=array[0][0];for(i=0;i<3;i++) for(j=0;j<3;j++) if(array[i][j]<m) {m=array[i][j];colum=j;row=i;} printf("%d,%d,%d\n",m,row,colum); 三、完善下列程序(本大題共3小題,每空2分,共20分) 請?jiān)诖痤}紙相應(yīng)的位置填上正確答案。 35. 打印所有的“水仙花數(shù)”。所謂的水仙花數(shù)是指一個(gè)三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。比如153=1*1*1+5*5*5+3*3*3。(注:變量i,j,k分別代表三位數(shù)的各個(gè)位數(shù)。)   main( ) { int i,j,k,n; printf(“水仙花數(shù)是:”); for(n=100;n<1000;n++) { i=n/100; 【1 】; k=n%10; if(【2 】)/*如果是水仙花數(shù),則輸出*/ printf(“%4d”,n); } printf(“\n”); } 36. 以下程序段的功能:從鍵盤輸入的字符,用變量n來統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符(‘\n’)作為循環(huán)結(jié)束的條件。 #include main() {int n=0,c; c=getchar( ); while(【1 】) { if (【2 】) 【3 】; c=getchar( ); } } 37. 以下函數(shù)的功能是求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過形參n返回。 例如,若x中的值為30,則有4個(gè)數(shù)符合要求,它們是1,3,5,15。 請按題意,完成填空。 試題程序: #include #include void fun (int x, int pp[], int *n) { int i,j=0; 【1 】 if(x%i==0)pp【2 】=i; 【3 】; } main () { int? x,aa[1000], n, i ; clrscr(); printf("\nPlease enter an integer number : \n "); scanf ("%d ", &x); fun (x, 【4 】, &n); for (i=0 ; 【5 】) printf ("%d ", aa [i]); printf ("\n "); } 第二部分 數(shù)據(jù)結(jié)構(gòu)(共100分) 一、 單項(xiàng)選擇題(本大題共12小題,每小題2分,共24分) 1、向順序棧中壓入新元素時(shí),應(yīng)當(dāng)( )。 A.先移動棧頂指針,再存入元素 B.先存入元素,再移動棧頂指針 C.先后次序無關(guān)緊要 D.同時(shí)進(jìn)行 2、用某種排序方法對關(guān)鍵字序列(25,84,21,47,15,27,68,35,20)進(jìn)行排序時(shí),序列的變化情況如下: ????????20,15,21,25,47,27,68,35,84 ????????15,20,21,25,35,27,47,68,84 ????????15,20,21,25,27,35,47,68,84 ????則所采用的排序方法是(?? ) ??? ?A.選擇排序????B.希爾排序???? C.歸并排序????D.快速排序 3、在一個(gè)長度為n的順序表的表尾插入一個(gè)新元素的漸進(jìn)時(shí)間復(fù)雜度為( ) A.O (n) B.O (1) C.O (n2 ) D.O (log2 n) 4、設(shè)單鏈表中結(jié)點(diǎn)的結(jié)構(gòu)為(data , link)。已知指針q所指結(jié)點(diǎn)是指針p所指結(jié)事業(yè)的直接前驅(qū),若在*q與*p之間插入結(jié)點(diǎn)*s,則應(yīng)執(zhí)行下列哪一個(gè)操作?( ) A.s ->link= p->link ; p->link=s B.q->link=s ;s->link=p C。p->link=s->link;s->link=p D.p->link=s ;s->link=q 5、若讓元素1,2,3依次進(jìn)棧,則出棧次序不可能出現(xiàn)( )種情況。 A.3,2,1 B.2,1,3 C.3,1,2 D.1,3,2 6、一個(gè)遞歸的定義可以用遞歸過程求解,也可以用非遞歸過程求解,但單從運(yùn)行時(shí)間來看,通常遞歸過程比非遞歸過程( ) A.較快 B.較慢 C.相同 7、樹中所有結(jié)點(diǎn)的度等于所有結(jié)點(diǎn)數(shù)加( ) A.0 B.1 C.-1 D.2 8、在一棵具有n個(gè)結(jié)點(diǎn)的二叉樹中,所有結(jié)點(diǎn)的空子樹個(gè)數(shù)等于( ) A.n B.n-1 C.n+1 D.2*n 9、對長度為n的有序單鏈表,若搜索每個(gè)元素的概率相等,則順序搜索到表中任一元素的平均搜索長度為( ) A.n/2 B.(n+1)/2 C.(n –1)/2 D.n/4 10、在無向圖中定義頂點(diǎn)V i與Vj之間的路徑為從V i到達(dá)Vj的一個(gè)( ) A.頂點(diǎn)序列 B.邊序列 C.權(quán)值總和 D.邊的條數(shù) 11、如果只想得到1024個(gè)元素組成的序列中的前5個(gè)最小元素,那么用( )方法最快。 A.起泡排序 B.快速排序 C.堆排序 D.直接選擇排序 12、設(shè)有一個(gè)含200個(gè)表項(xiàng)的散列表,用線性探查法解決沖突,按關(guān)鍵碼查詢時(shí)找到一個(gè)表項(xiàng)的平均探查次數(shù)不超過1.5,則散列表項(xiàng)應(yīng)能夠至少容納( )個(gè)表項(xiàng)。(設(shè)搜索成功的平均搜索長度為Snl={1+1/(1-α)}/2其中α為裝填因子) A.400 B.526 C.624 D.676 二、填空題(每空2分,共22分,其中第17,19,20每空1分) 13.數(shù)據(jù)的邏輯結(jié)構(gòu)是從邏輯關(guān)系上描述數(shù)據(jù),它與數(shù)據(jù)的??? ???????無關(guān),是獨(dú)立于計(jì)算機(jī)的。 14.在一個(gè)帶頭結(jié)點(diǎn)的單循環(huán)鏈表中,p指向尾結(jié)點(diǎn)的直接前驅(qū),則指向頭結(jié)點(diǎn)的指針head可用p表示為head=?????????? 。 15.棧頂?shù)奈恢檬请S著????????? ? 操作而變化的。 16.已知一棵完全二叉樹中共有768結(jié)點(diǎn),則該樹中共有 個(gè)葉子結(jié)點(diǎn)。 17.在單鏈表上難以實(shí)現(xiàn)的排序方法有 和? 。??? 18.在有序表(12,24,36,48,60,72,84)中二分查找關(guān)鍵字72時(shí)所需進(jìn)行的關(guān)鍵字比較次數(shù)為 。 19.在用于表示有向圖的鄰接矩陣中,?對第i行的元素進(jìn)行累加,可得到第i個(gè)頂點(diǎn)的 度,?? 而對第j列的元素進(jìn)行累加,?可得到第j個(gè)頂點(diǎn)的 度。??? 20.一個(gè)連通圖的生成樹是該圖的 連通子圖。若這個(gè)連通圖有n個(gè)頂點(diǎn),?? 則它的生成樹有 條邊。??? 21. 在進(jìn)行直接插入排序時(shí),?? 其數(shù)據(jù)比較次數(shù)與數(shù)據(jù)的初始排列 關(guān);而在進(jìn)行直接選擇排序時(shí),其數(shù)據(jù)比較次數(shù)與數(shù)據(jù)的初始排列 關(guān)。??? 22.利用關(guān)鍵碼分別為10,?? 20,?? 30,?? 40的四個(gè)結(jié)點(diǎn),能構(gòu)造出? 種不同的二叉搜索樹。 三、應(yīng)用題(每小題8分,共32分) 23、以知一組元素為(46,25,78,62,12,37,70,29),試畫出按元素排列次序插入生成的一棵二叉搜索樹。 24、已知一棵樹二叉如下,請分別寫出按箭序、中序、后序和層次遍歷時(shí)得到的結(jié)點(diǎn)序列。 A B C D E F G H 前序: 中序: 后序: 層次: 25、設(shè)散列表的長度為13,散列函數(shù)為H
    展開閱讀全文
    提示  匯文網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
    關(guān)于本文
    本文標(biāo)題:專升本C語言程序設(shè)計(jì)模擬試卷C3.doc
    鏈接地址:http://zhizhaikeji.com/p-42913640.html
    關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

    客服QQ:2660337891點(diǎn)擊這里給我發(fā)消息

    手機(jī):13423958347
     匯文網(wǎng)版權(quán)所有  聯(lián)系郵箱:2660337891#qq.com (請把#改為@)  
      鄂ICP備2022007403號,本站可開發(fā)票,需開票聯(lián)系客服QQ。

    收起
    展開