精華2
威望275
K幣1947 元
注冊時間2005-8-13
在線時間219 小時
最后登錄2006-7-4
中級戰友
 
- 精華
- 2
- 威望
- 275
- K幣
- 1947 元
- 注冊時間
- 2005-8-13
|
2003年碩士研究生招生入學考試試卷
專業名稱 地圖學與地理信息系統
研究方向 地理信息系統
科目代碼 480 481
考試科目 程序設計 (C語言)(A)
一、 選擇題(每題4分,共20分)
(1) 設有如下定義:int x=1,y=1;則語句printf(“d%/n”,(x--&++y));的輸出結果是
(A)1 (B)0 (C)-1 (D)2
(2) 若已定義:int a[9],*p=a;并在以后的語句中并未改變P的值,不能表示a[1]的地址的表達式是
(A)p+1 (B)a+1 (C)a++ (D)++p
(3) 若有以下的說明和語句,則在執行for語句后,*(*(pt+1+2))表示的數組元素是
(A)t[2][0] (B)t[2][2] (C)t[1][2] (D)t[2][1]
(4) #include“studio.h”
main()
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,12};
int p=a+5,q=NULL;
*q=*(p+5);
printf(“%d%d\n”,*p,*q);
}
輸出結果是
(A)運行后報錯 (B)6 6 (C)6 12 (D)5 5
(5) 以下不正確的說法是
(A)實參可以是常量、變量或表達式 (B)形參應與其對應的實參類型一致
(C)實參可以為任意類型 (D)形參可以是常量、變量或表達式
二、 程序填空(每題5分,共計20分,請將答案寫在答題卡的相應位置)
(1) 函數yanghui能夠按以下方式構成一個楊輝三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
……
#define N 11
yanghui(int a[][N])
{
int i,j;
for(i=1;i<N;i++)
{a[1]=1;a=1;}
for([A];i<N;i++)
for(j=2;;j++)
a[j]=[C]+a[i-1][j];
}
(2) 條件“2<x<3或x<-10”的C語言表達式是[A]
(3) 以下程序的功能是判斷輸入的年份是不是閏年
main()
{
int y,f;
scanf(“%d”,&y);
if(y%400==0)f=1;
else if([A]) f=1;
else ;
if(f) printf(“%d is”,y);
else printf(“%d is not”,y);
printf(“a leap year\n”);
}
(4) 以下程序可以把從鍵盤上輸入的十進制數(long型)以二到十六進制形式輸出,請填空。
(5) #include“studio.h”
main()
{
char b[16]={'0'、'1'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、'9'、'A'、'B'、'C'、'D'、'E'、'F'};
int c[64],d,i=0,base;
long n;
printf(“enter a number:\n”);
scanf(“%1d”,&n);
printf(“enter new base:\n”);
scanf(“%d”,&base);
do{c=[A];
i++;n=n/base;
}while(n!=0);
printf(“transmite new base:\n”);
for(--i;i>=0;--i)
{
d=c;
printf(“%c”,b);
}
}
三、 程序設計題(卷面有分)
(1) 從鍵盤輸入10個數,輸出其中最大數和最小數。(本題10分)
(2) 求300以內的雙素數,并輸出,判斷一個數m是否為素數的方法如下:讓m被2到 除,當且僅當m不能被2~ 之間的任何一個數所整除,則m為素數,而當m為素數,同時m+2也為素數,則m與m+2就是雙素數。(本題15分)
(3) 編寫一個子程序能將主程序傳過來的數組按行分別進行從小到大的排序,再編寫一個二分法查找子程序,判定主函數傳過來的待查數是否在已排序的數組中,若查找到則返回它在數組中的位置(可以在多個位置出現),否則返回-1。(本題15分)
(4) 利用遞歸方法找出從自然數1,2,……n中任取r個數的所有組合,并畫出程序N-S圖,例如n=5,r=3,所有組合為:(本題20分)
5 4 3 5 2 1
5 4 2 4 3 2
5 4 1 4 3 1
5 3 2 4 2 1
5 3 1 3 2 1
(5) 利用單項循環鏈表和順序存儲結構設計一個算法解決約瑟夫(JOSEHUS)問題。設有N個人圍坐一圈,現從某個人開始報數,數到M的人出現,接著從出列的下一個人開始重新報數,數到M的人又出現,如此下去知道所有人都出列為止。試求出他們的出列次序。(本題20分)
(6) 編號為A,B,C,D的四輛列車,順序開進一個棧式結構的站臺。問開出車站的順序有多少種可能?請具體寫出來。
(7) 試將下面的樹轉換成二叉樹,并寫出二叉樹前序遍歷后的結點序列。(本題15分)
[ 本帖最后由 五四門下走狗 于 2006-4-28 22:55 編輯 ] |
評分
-
查看全部評分
|