版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
目錄
2004年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院程序設(shè)計(jì)[專業(yè)碩士]考研真題.................................4
2005年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院程序設(shè)計(jì)[專業(yè)碩士]考研真題.................................10
2006年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院程序設(shè)計(jì)[專業(yè)碩士]考研真題.................................17
2007年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院448程序設(shè)計(jì)[專業(yè)碩士]考研真題...........................23
2008年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院814程序設(shè)計(jì)[專業(yè)碩士]考研真題...........................29
2009年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院814程序設(shè)計(jì)[專業(yè)碩士]考研真題...........................35
2014年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院885程序設(shè)計(jì)[專業(yè)碩士]考研樣題...........................41
2015年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院885程序設(shè)計(jì)[專業(yè)碩士]考研樣題...........................47
2016年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院885程序設(shè)計(jì)[專業(yè)碩士]考研樣題...........................53
2017年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院885程序設(shè)計(jì)[專業(yè)碩士]考研樣題...........................61
2018年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院885程序設(shè)計(jì)[專業(yè)碩士]考研樣題...........................67
2004年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院程序設(shè)計(jì)|專業(yè)碩士|考研真題
機(jī)密★啟用前共5頁
江蘇大學(xué)2004年碩士研究生入學(xué)考試試題第?頁
考試科目:程序設(shè)計(jì)
考生注意:答案必須寫在答題紙上,寫在試題及草稿紙上無效!
-、選擇題(本題有10小題,每題1分,共計(jì)10分)
(在每小題列出的四個(gè)選項(xiàng)中,選出一個(gè)正確答案)
1.以下敘述正確的是o
A)main()必須是程序的第一行
B)C程序每一行只能寫一條語句
C)C程序可以由一個(gè)或多個(gè)函數(shù)組成
D)在編譯時(shí)可以發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤。
2.下面選項(xiàng)中是不合法的C用戶標(biāo)識(shí)符。
A)userB)switchC)_345D)Abe
3.結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是________o
A)輸入、處理、輸出B)樹形、網(wǎng)形、環(huán)形
0順序、選擇、循環(huán)D)主程序、子程序、函數(shù)
4.設(shè)有說明:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型
為。
A)floatB)doubleC)intD)char
5.下列運(yùn)算符中的優(yōu)先級(jí)最低,
A)&&B)!C)+D)=
6.C語言中的文件類型劃分為_______________o
A)索引文件和文本文件兩種B)ASCH文件和二進(jìn)制文件兩種
C)只有文本文件一種D)只有二進(jìn)制文件一種
7.以下對C語言函數(shù)的描述中,不正確的是
A)C語言中,函數(shù)可以嵌套定義B)C語言中,函數(shù)可以遞歸調(diào)用
C)C語言中,函數(shù)可以沒有返回值D)C語言程序由函數(shù)組成
8.若有以下說明和語句:inta[10],*p,l*p2;pl=a;p2=&a[5];則p2-pl的值
為。
A)5B)6C)10D)沒有指針與指針的減法
9.定義一維數(shù)組外部變量a的正確格式是
A)inta(10);B)intn=10,a[n];C)inta[];
D)#defineSIZE10
intaLSIZE];
10.已有如下定義:
structnode
}*P,*q;
并已建立了如圖所示的單向鏈表,p,q分別指向圖中所示的結(jié)點(diǎn),將q所指的結(jié)點(diǎn)插入到鏈
表末尾組成單向鏈表,以下不能實(shí)現(xiàn)該功能的程序段是o
A)(*p).next=q;(*q).next=NULL;B)q->next=p->next;p->next=q;
C)q->next=NULL;p->next=q;D)p->next=q;q->next=p->next;
第2頁
二、閱讀下列程序,寫出程序運(yùn)行結(jié)果(本題有4小題,每小題4分,共計(jì)16分)
1、main()
{inti,j,m,n;
inta=12,b=5,c=23;
i=9;j=12;
m=-i;n=j-;
printf(fct%d,%d,%d,%d\n,,,i,j,m,n);
printfC%d\n”,a%=2+5);
printfT%d",c/=b);
)
2、main()
{inti,sum;
for(sum=0,i=7;i>=4;i-)
switch(i){
case4:case6:sum+=2;break;
case5:case7:sum+=1;break;
)
printf(wsum=%d,,,sum);
}
3、main()
{
staticinta[][4]={{l,2,3},{4,5},{6},{0});
intk;
fbr(k=0;k<=3;k++)
printf(H%4dH,a[k][k]);
}
4、main()
{staticinta[]={l,2,3,4,5,6};
int*p;
p=a;
*(p+3)+=4;
fbr(p=a;p<a+6;p++)printf(,,%4d,\*p);
}
三、程序填空。(46分)
1、【程序說明】函數(shù)mystrlen的功能是計(jì)算str所指字符串的長度,并作為函數(shù)值返回。
intmystrlen(char*str)
{inti;
第3頁
for(i=O;⑴!='\0':i++):
return(⑵):
2、【程序說明】本程序利用牛頓切線公式計(jì)算數(shù)a(不為0)的平方根。根據(jù)牛頓公式,其
第n+1次近似根與第n次近似根滿足:Xnu=(x?+a/x?)/2。
要求相鄰兩次近似根的差的絕對值小于等于時(shí)停止。初次迭代近似根X。取值為lo
//include<math.h>
#defineEPS(3)
main()
{doublex,y=l,a;
printf(“請輸入要開方的數(shù)。\n");
scanf("%f⑷);
do{
x=⑸;/*保存前次近似根*/
v=(6);/*計(jì)算本次近似根*/
}while(fabs(y-x)⑺EPS);
printfT%lf的平方根是%10.51f\n,,,a,y);
}
3、【程序說明】輸入一行字符,分別統(tǒng)計(jì)出其中的英文字母、空格、數(shù)字和其他字符的個(gè)
數(shù)。
#(8)<stdio.h>
main()
{charch;
intletter,digit,space,other;
⑼;
digit=0;space=0;other=0;
while((ch=getchar())(10)'\n')
if(ch>=,a,&&ch<=,z,||ch>='A'&&ch<=,Z,)letter++;
elseif((11))digit++;
elseif(ch==t')(⑵;
elseother++;
printff1etter=%4d,digit=%4d,space=%4d,other=%4d\n",letter,digit,space,other);
}
4、【程序說明】本程序的功能是以如下格式打印楊輝三角形的前10行。
1
11
121
1331
14641
15101051
1615201561
172135352171
18285670562881
193684126126843691
第4頁
#defineLASTROW10
main()
{introw,col,a[l1];
a[l]=l;
printf("%4d\n",a[l]);
fbr(row=2;row<=LASTROW];row++)
|
a[row]=l;
fbr(Q3))
a[col1=ar(14)1+a[(15)1;
for(col=1;(16);col++)
printfi["%4d",a[col]);
(17);
5、【程序說明】本題中的函數(shù)encode。和decode。分別實(shí)現(xiàn)對字符串的變換和復(fù)原.變換函
數(shù)encode。順序考察已知字符串的字符,按以下規(guī)則逐組生成新字符串:
(1)若已知字符串的當(dāng)前字符不是數(shù)字字符,則復(fù)制該字符于新字符串中.
(2)若已知字符串的當(dāng)前字符是一個(gè)數(shù)字字符,且它之后沒有后繼字符,則簡單地將它
復(fù)制到新字符串中
(3)若已知字符串的當(dāng)前字符是一個(gè)數(shù)字字符,并且還有后繼字符,設(shè)該數(shù)字字符的面
值為n,則將它的后繼字符(包括后繼字符是一個(gè)數(shù)字字符)重復(fù)復(fù)制n+1次到新字
符串中.
(4)以上述一次變換為一組,在不同組之間另插入一個(gè)下劃線]用于分隔.例如:
encode。函數(shù)對字符串26a3t2的變換結(jié)果為666_a_tttt_2
復(fù)原函數(shù)decode。做變換函數(shù)encode。的相反的壬作.即復(fù)制不連續(xù)相同的單個(gè)字
符,而將一組連續(xù)相同的字符(不超過10個(gè))變換成一個(gè)用于表示重復(fù)次數(shù)的數(shù)字符和
一個(gè)重復(fù)出現(xiàn)的字符,并在復(fù)原過程中掠過變換函數(shù)為不同組之間添加的一個(gè)下劃線字
符.
假定調(diào)用變換函數(shù)encode。時(shí)的已知字符串中不含下劃線字符.
intencode(char*instr,char*outstr)
{char*ip,*op,c;intk,n;
ip=instr;op=outstr;
while(*ip){
if(*ip>='0'&&*ip<='9'&&*(ip+l)){
n=(18);
c=(19);
for(k=0;k<n;k++)
*op++=c;
}
else(20);
*op++-_';
ip++;
}
if(op>outstr)op—;
第5頁
(21):
returnop-outstr;
}
intdecode(char*instr,char*outstr)
{char*ip,*op,c;intn;
ip=instr;op=outstr;
while(*ip){
c=*ip;n=0;
while(*ip==c&&n<10){ip++;n-H-;}
if((22))*op++='0'+n?l;
*op++=c;
if((23))ip++;
)
*op='\0';
returnop-outstr;
}
四、用C語言編寫下列程序(共78分)。
1、給一個(gè)不多于5位的正整數(shù),要求:①求出它是幾位數(shù);②分別打印出每一位數(shù)字;③
按逆序打印出各位數(shù)字,例如原數(shù)為321,應(yīng)輸出123。(15分)
2、用選擇法或冒泡法對輸入的50個(gè)字符(按ASCII碼由小到大)進(jìn)行排序。(15分)
3、輸入10個(gè)學(xué)生5門課的成績,分別用函數(shù)求:①每個(gè)學(xué)生平均分;②每門課的平均分;
找出最高的分?jǐn)?shù)所對應(yīng)的學(xué)生和課程;③求平均分方差:(28分)
,V2fc'J,X,為某一學(xué)生的平均分。
4、編寫一個(gè)函數(shù)intprism(intn),函數(shù)的功能為判定n是否為素?cái)?shù)(所謂素?cái)?shù)是指除
了能夠被1和自身整除外不能被其它任何數(shù)整除的數(shù)),如果n為素?cái)?shù)則返回值1,否則返
回0。把一個(gè)大于4的偶數(shù)分解為兩個(gè)素?cái)?shù)和的形式,并且把分解的結(jié)果寫入一個(gè)磁盤文件
result.dat中去。(如8=3+5)。(20分)
一、選擇題
l.C2.B3.C4.B5.D6.B7.A8.A9.D10.D
二、閱讀下列程序,寫出程序運(yùn)行結(jié)果
1、8,11,8,12
5
4
2、sum=6
3、1500
4、123856
三、程序填空
(1)str[i]or*(str+i)
(2)i
(3)le-6
(4)&a
(5)y
(6)y=(y+a/y)/2ory=(x+a/x)/2
⑺〉
(8)include
(9)letter=0
(10)!=
(11)ch>=’0'&&ch<='9'
(12)space++或++space或space=space+1
(13)col=row-1;col>=2;col—
(14)col
(15)col-l
(16)col<=row
(17)printR“\n”)
(18)*ip」0'+1或*ip-47
(19)*++ip
(20)*op++=*ip
(21)*op='\0'
(22)n>l
(23)*ip=='J
2005年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院程序設(shè)計(jì)[專業(yè)碩士]考研真題
機(jī)密★啟用前
江蘇大學(xué)2005年碩士研究生入學(xué)考試試題
考試科目:程序設(shè)計(jì)
考生注意:答案必須寫在答題紙上,寫在試題及草稿紙上無效
一、選擇題(在每小題列出的四個(gè)選項(xiàng)中,選出一個(gè)正確答案。每小題1分,共計(jì)10分)
1.表示關(guān)系xWyWz的C語言表達(dá)式為()。
A.(x<=y)&&(y<=z)B.(x<=y)AND(y<=z)
C.(x<=y<=z)D.(x<=y)&(y<=z)
2.下列不正確的轉(zhuǎn)義字符是()。
AAVBA"C.'O74'D.'\0'
3.執(zhí)行語句for(k=10;k>=0;k-=2);后,變量k的值為()。
A)1B)-2C)2D)0
4.若有:inta[6]={4,5,6,9,5,7},*p=a,*q=p;則對數(shù)組元素的錯(cuò)誤引用是()。
A.a[4]B.*(p+4)C.*q-H-D.*a-H-
5.使用#include“文件名”,尋找被包含文件的方式為()。
A.直接按系統(tǒng)設(shè)定的方式搜索目錄B.僅搜索源程序所在目錄
C.先搜索源程序所在目錄,再按系統(tǒng)設(shè)定的方式搜索目錄
D.僅搜索當(dāng)前目錄
6.設(shè)有inta[]={10,II,12},*p=&a[0];則執(zhí)行完*p++;*p+=l;后a[0],a[l],a⑵的值依次
是()。
A.10,11,12B.11,12,12C.10,12,12D.11,11,12
7.設(shè)pl和p2是指向同一個(gè)int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的
語句是()o
A.k=*pl+*p2;B.p2=k;C.pl=p2;D.k=*pl*(*p2);
8.設(shè)p為指向結(jié)構(gòu)體的指針,num為該結(jié)構(gòu)體中的一個(gè)整型成員,y為一整型變量,
y=++p->num;與()等價(jià)。
A.++p;y=p->numB.y=(++p)->num
C.-H-(p->num);y=p->numD.y=p->num;++y
9.以下敘述中不正確的是()。
A.在不同的函數(shù)中可以使用相同名字的變量
B.函數(shù)中的形式參數(shù)是局部變量
C.在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D.在一個(gè)函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
10.如果要以只讀方式打開一個(gè)文本文件,應(yīng)使用的打開方式是()。
A.r+B.wC.rD.rb
二、閱讀下列程序,寫出程序運(yùn)行結(jié)果(本題有4小題,每小題4分,共計(jì)16分)
1.#include<stdio.h>
voidmain()
{inti=0;
while(-H-i)
{if(i==I0)break;
if(i%3!=l)continue;
printf(u%4d”,i);
2.#include"math.h"
main()
{intm,k,i;
fbr(m=2;m<=10;m++){
fbr(k=sqrt(m),i=2;i<=k;i++)
iRm%i==0)break;
if(i>=k+l)printff%dn,m);
3.test()
{intx=0;staticinty=3;
y+=++x;
printff%4d%4dn,x,y);
)
main()
{test();test();}
4.#defineNULL0
structstudent
{longnum;
floatscore;
structstudent*next;
}S[]={{1,80},{2,88},{3,77},{4,97}},*p=s;
voidprint(structstudent*head)
{structstudent*p;
p=head;
if(head!=NULL)
do{printf(,,%ld%5.1f\nM,p->num,p->score);
p=p->next;
}while(p!=NULL);
}
main()
{intj;
for(j=l;j<4;j++,p++)p->next=&s[j];
p->next=NULL;
P=s;
print(p);
)
三、程序填空(閱讀下列程序說明和C代碼,將應(yīng)填入處的字句寫在答卷的對應(yīng)欄內(nèi),
每空2分,共計(jì)42分)
1、【程序說明】本程序?yàn)橐粋€(gè)函數(shù)check(s),它檢查給定字符串s是否滿足下列條件:
①、從字符串首字符起,在順序檢查s中字符的過程中,遇到的右括號(hào)D'的個(gè)數(shù)在任
何時(shí)候均不超過所遇到的左括號(hào)'('的個(gè)數(shù);
②、左括號(hào)'('的個(gè)數(shù)與右括號(hào)')'的個(gè)數(shù)相同
intcheck(s)
(1);
{intlp=0,rp=0;
while(⑵){
if(*s=,C)lp++;
elseif(*s==^)^){
rp++;
if(⑶)return0;
)
(4);
return(5):1;
)
2.【程序說明】遞歸函數(shù)invert(inta口,intk)將指定數(shù)組中的前k個(gè)元素逆置。如有5個(gè)
數(shù):1,2,3,4,5;將前3個(gè)數(shù)逆置后得到結(jié)果:3,2,1,4,5。
voidinvert(inta[],intk)
{intt;
if(_m{
t=a[0];
a[0]=a[k-l];
a[k-l]=t;
invert((7));
3.【程序說明】函數(shù)fimc的功能是:使一個(gè)字符串按逆序存放,例如字符串“ABCDEF”
按逆序存放后為“FEDCBA”。
#include<string.h>
voidfunc(charstr[])
{charm;inti,j;
for(i=0,(8):(9):i++,j??)
{m=str[i];
(10);
(H);
}
)
4、【程序說明】本程序三位正整數(shù)中尋找符合下列條件的整數(shù):它既是完全平方數(shù),又有
兩位數(shù)字相同,例如144=12?、676=26?等,程序找出所有滿足上述條件的二位數(shù)并輸出。
main()
{intn,k,a,b,c;
for(k=1;;k+4-)
(
(12);
if(n<100)(13);
if(n>999)(14);
a=n/100;
b=(⑸;
c=n%10;
if(flag(a,b,c))
printfpN=%d=%d*%d\n”,n,k,k);
flag((16))
return!((x-y)*(x-z)*(y-z));
5【程序說明】函數(shù)voidrcr(inta口,intn,intk)的功能是:將數(shù)組a中的元素a[0]?a[n-l]循
環(huán)向右平移k個(gè)位置。
為了達(dá)到總移動(dòng)次數(shù)不超過n的要求,每個(gè)元素都必須只經(jīng)過一次移動(dòng)到達(dá)目標(biāo)位置。
在函數(shù)rcr中用如下算法實(shí)現(xiàn):首先備份a⑼的值,然后計(jì)算應(yīng)移動(dòng)到a[0]的元素的下標(biāo)p,
并將a[p]的值移至a[0];接著計(jì)算應(yīng)移動(dòng)到a[p]的元素的下標(biāo)q,并將a[q]的值移至a[p];依次
類推,直到將a[0]的備份值移到正確位置。
若此時(shí)移動(dòng)到位的元素個(gè)數(shù)已經(jīng)為n,則結(jié)束;否則,再備份a[l]的值,然后計(jì)算應(yīng)移
動(dòng)到a[l]的元素的下標(biāo)p,并將a[p]的值移至a[l];接著計(jì)算應(yīng)移動(dòng)到a[p]的元素的下標(biāo)q,
并將a[q]的值移至a[p];依次類推,直到將a[l]的備份值移到正確位置。
若此時(shí)移動(dòng)到位的元素個(gè)數(shù)已經(jīng)為n,則結(jié)束;否則,從a[2]開始,重復(fù)上述過程,直
至將所有的元素都移動(dòng)到目標(biāo)位置時(shí)為止。
例如,數(shù)組a中的6個(gè)元素如下圖(a)所示,循環(huán)向右平移2個(gè)位置后元素的排列情況如
圖(b)所示。
412538476576657641253847
a[0]a[l]a[2]a[3]a[4]a[5]a[0]a[l]a[2]a[3]a[4]a[5]
(a)(b)
voidrcr(inta[],intn,intk)
{
inti,j,3temp,count;
count=0;/*記錄移動(dòng)元素的次數(shù)*/
k=k%n;
if((17)"/*若k是n的倍數(shù),則元素?zé)o須移動(dòng);否則,每個(gè)元素都要移動(dòng)*/
i=0;
while(count<n){
j=i;t=i;
temp=a[i];/*備份a[i]的值*/
/*移動(dòng)相關(guān)元素,直到計(jì)算出a[i]應(yīng)移動(dòng)到的目標(biāo)位置*/
while((j=(18))!=i){
a[t]=a[j];
t=(19);
count-H-;
}
(20)=temp;count++;
⑵);
四、用C語言編寫下列程序(共82分)
1、求方程ax2+bx+c=0的根。要求綜合考慮各種情況。如a=0和aWO,b=0和bWO以及c=0
和cW0等。(20分)
2、找出一個(gè)二維數(shù)組中的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小。也可能
沒有鞍點(diǎn)。(16分)
3、有一分?jǐn)?shù)序列
2358B21
T,2,3,5,T,13,'"
求出這個(gè)數(shù)列的前20項(xiàng)之和。(16分)
4、有一個(gè)班30個(gè)學(xué)生5門課的成績。①求第一門課的平均分;②找出有2門以上不及格的
學(xué)生,輸出他們的學(xué)號(hào)、全部課程成績和平均成績;③找出平均成績在90分以上或全部
課程成績在85分以上的學(xué)生。分別編3個(gè)函數(shù)實(shí)現(xiàn)以上要求。(30分)
2006年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院程序設(shè)計(jì)|專業(yè)碩士|考研真題
機(jī)密★啟用前
江蘇大學(xué)2006年碩士研究生入學(xué)考試試題
考試科目:程序設(shè)計(jì)
考生注意:答案必須寫在答題紙上,寫在試題及草稿紙上無效
一、選擇題(在每小題列出的四個(gè)選項(xiàng)中,選出一個(gè)正確答案。每小題2分,共計(jì)20分)
1.表示關(guān)系OWxWl的C語言表達(dá)式為()。
A.(x>=O)&&(x<=l)B.(x>=O)AND(x<=l)
C.(0<-x<=l)D.(x>=O)&(x〈=l)
2.設(shè)有枚類型定義:enumcolor{red,yellow,blue=9>white,black);則枚舉元素black的
值是()□
A.4B.5C.11D.12
3.若w=l,x=2,y=3,z=4:則條件表達(dá)式w<x?w:y<z?y:z的值是()。
A.1B.2C.3D.4
4.若用數(shù)組名作為實(shí)參,則傳遞給形參的是()。
A.數(shù)組首地址B.數(shù)組第一個(gè)元素的值
C.數(shù)組元素的個(gè)數(shù)D.數(shù)組中全部元素的值
5.一個(gè)可執(zhí)行C程序的開始執(zhí)行點(diǎn)是()o
A.程序中的第一個(gè)語句B.包含文件的第一個(gè)函數(shù)
C.名為main的函數(shù)D.程序中的第一個(gè)函數(shù)
6.若intk,*p;p=&k;要實(shí)現(xiàn)k的內(nèi)容加5,則下面的語句()是錯(cuò)的。
A.k+=5B.k=*p+5C.*p=k+5D.*p=&k+5
7.若仃語句組typedefchar"STRING;STRINGa;則以下敘述中正確的是()?
A.a是一個(gè)新類型B.a是一個(gè)字符型指針變量
C.a是一個(gè)字符串常量D.a是一個(gè)字符型變量
8.下面能正確進(jìn)行字符串賦值操作的語句是()。
A.chars[5]={"ABCDE"};B.chars[5]={'A\'B\'C\'D\'E'};
C.char*s;s="ABCDEF";D.char*s;scanf("%s",s);
9.已有定義int*p;以下能動(dòng)態(tài)分配一個(gè)整型存儲(chǔ)單元,并把該單元的首地址正確賦值給指
針變量p的語句是()o
A.*p=(int*)malloc(sizeof(int));B.p=(int*)malloc(sizeof(int));
C.p=*malloc(sizeof(int));D.free(p);
共6頁,第1頁
10.在C程序中,可把整型數(shù)以二進(jìn)制形式存放到文件中的函數(shù)是()。
A.函數(shù)B.fread函數(shù)C.fwrite函數(shù)D.f^utc函數(shù)
二、閱讀下列程序,寫出程序運(yùn)行結(jié)果(本題有5小題,每小題4分,共計(jì)20分)
1.^include<stdio.h>
voidmain()
{intm,n,r;
m=75;n=30;
while(r=m%n){m=n;n=r;}
printf(H%d\nn,n);
)
2.#include<stdio.h>
intfl(intm,intn)
{inta,b;
a=n++;b=-m;
return(a+b);
}
voidinain()
{inta,b,c;
a=3;b=5;
printf(,'a=%d,b=%d\nH,a,b);
c=fl(a,b);
printf("a=%d,b-%d,c=%d\n",a,b,c);
)
3.^include<stdio.h>
voidmain()
(
ints[6][6],j,k;
for(j=0;j<6;j++)
for(k=0;k<6;k++)
*(*(s+j)+k)=j-k;
for(j=0;j<6;j++)
共6頁,第2頁
for(k=0;k<6;k++)
printf("%4d”,*(*(s+j)+k));
printf(“\n”);
4.Sinclude<stdio.h>
intfind(int*a,intn,intx)
{int*p=a+n;
P-;
while(*p!=x&&p>=a)p—;
returnp-a;
}
voidmain()
{staticinta[]={l,2,3,4,5,6,0,8};
intk=20;
printf(K%4dH,find(a,8,k));
}
5.#include<stdio.h>
voidmain()
{inta=l,b=2,c=3;
++a;c+=++b;
if(0=4){
intb=4,c;c=3*b;a+=c;
printf(nFirst:%d,%d,%d\nH,a,b,c);
a+=c;
printf(HSecond:%d,%d,%d\nH,a,b,c);
}
printf(nThird:%d,%d,%d\nn,a,b,c);
}
共6頁,第3頁
三、程序填空(閱讀下列程序說明和C代碼,將應(yīng)填入g處的字句寫在答卷的對應(yīng)欄內(nèi),
每空3分,共計(jì)45分)
1、【程序說明】本程序功能是輸入一行字符,分別統(tǒng)計(jì)出其中的英文字母、空格、數(shù)字和
其他字符的個(gè)數(shù)。
#⑴<stdio.h>
voidmain()
{charch;
intletter,digit,space,other;
⑵:
digit=O;space=0;othei-0;
while((ch=getchar())⑶'\n')
if(ch>=,a,&&ch<=,z,||ch>='A'&&ch<=,Z,)letter++;
elseif((4))digit++;
elseif(ch==t?)⑸:
elseothcr++;
printf(ulettcr=%4d,digit=%4d,space=%4d,other=%4d\n^^,letter,digit,space,other);
)
2.【程序說明】本程序功能是求1至N之間的所有質(zhì)數(shù)(素?cái)?shù))。(設(shè)N〉l,其值由鍵盤輸入)
#include<stdio.h>
#include<math.h>
voidmain()
{
⑹:
piintfC'輸入一個(gè)>1整數(shù):");
do{
scanf("%d”,&N);
}while
printf(1至%d之間的所有質(zhì)數(shù)是:2”,N);
for(m=3;m<=(8);m++)
(
inti,tmp=(int)sqrt(m);
for(i=2;i<=tmp;i++)if((9))break;
if((10))printf(“%d”,m);
共6頁,第4頁
printf("\n");
3.【程序說明】本函數(shù)creathst用來建立一個(gè)帶頭結(jié)點(diǎn)的學(xué)生數(shù)據(jù)的單向鏈表,新的結(jié)點(diǎn)總
是插入在鏈表的末尾。鏈表的頭指針作為函數(shù)值返回,鏈表最后一個(gè)結(jié)點(diǎn)的next域放入
NULL,作為鏈表結(jié)束標(biāo)志。創(chuàng)建中如輸入的學(xué)號(hào)為0,則創(chuàng)建結(jié)束(學(xué)號(hào)為0不存入鏈表)。
//defineNULL0
#defineLENsizeof(structstudent)
structstudent
{
longnum;/*學(xué)號(hào)*/
floatscore;/*成績*/
structstudent*next;
);
(11)creatlistf)/*函數(shù)返回鏈表的起始地址*/
{structstudent*head,*pl,*p2;
pl=p2=(structstudent*)malloc(LEN);/*開辟一個(gè)新單元*/
scanf("%ld%f',&pl->num,&p1->score);
head=NULL;
while(pl->num!=0)
{
if(head==NULL)(12):
else(13);
p2=pl;
pl=(14);
scanf("%ld,%f&pl->num,&pl->score);
}
p2->next=(15):
free(pl);
return(head);
共6頁,第5頁
四、用C語言編寫下列程序(共65分)
10050101
1、求*T*='*=>ko(15分)
2、打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)3位數(shù),其各位數(shù)字立方和等
于該數(shù)本身。例如,153是一水仙花數(shù),因?yàn)?531+5433。(15分)
3、編程模擬選舉過程。假定4位侯選人zhang、wang、li、zhao,代號(hào)分別為1、2,3、4。
選舉人直接鍵入候選人代號(hào),1?4之外的整數(shù)視為棄權(quán)票,-1為終止標(biāo)志。打印各位候
選人的得票以及當(dāng)選者(得票數(shù)超過選票總數(shù)一半)的名單。(15分)
4、編程打印如下圖形,中間一行英文字母由輸入得到,圖形應(yīng)隨輸入的英文字母的變化而
變化。例如,輸入英文字母A得到的圖形為:(20分)
A
輸入英文字母B得到的圖形為:
A
BBB
A
輸入英文字母D得到的圖形為:
A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A
共6頁悌6頁
2007年江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院448程序設(shè)計(jì)[專業(yè)碩士]考研真題
機(jī)密★啟用前
江蘇大學(xué)2007年碩士研究生入學(xué)考試試題
科目代碼:448科目名稱:程序設(shè)計(jì)
考生注意:答案必須寫在答題紙上,寫在試卷、草稿紙上無效!
一、選擇題(在每小題列出的四個(gè)選項(xiàng)中,選出一個(gè)正確答案。每小題2分,共計(jì)20分)
1.卜面選項(xiàng)中()是不合法的C語言用戶標(biāo)識(shí)符。
A.sinB.bookC.nameD.Example2.1
2.若inta=12:則賦值表達(dá)式a*=2+3的值是().
A.12B.27C.60D.5
在inta[][3]=({l,2},{3,2,1},{4,5,
3.6).{0});中的值是()o
A.1B.0C.6D.2
4.下列運(yùn)算符中,()結(jié)合性從左到右。
A.三日B.賦值C.比較D.單目
5.若有以下說明和語句:inta[10],*pl,*p2;pl=a:p2=&a[5];則以下不正確的
表達(dá)式是()o
A.pl=p2B.pl++C.p2~plD.a=p2-3
6.以下函數(shù)聲明中,存在著語法錯(cuò)誤的是().
A.doubleAA(inta,int);B.doubleBB(intx,y);
C.doubleCC(int,int);D.doubleDD(int*,int*);
7.若磁盤上已存在某個(gè)文本文件,其全路徑文件名為c:\c\data.txt,下列語句中不能打開文
件的是(
A.FILE*in;in=fopen("c:\c\data.txt","r");
B.FILE*in;in=fopen("c:\\c\\data.txt","r"):
C.FILE*in;in=fopen("c:\\c\\data.txt","a+");
D.FILE*in;in=fopen("c:\\c\\data.txt","r+"):
第1頁,共6頁
8.若彳1說明和定義:typedefint*INTEGER;INTEGERp,*q;則以下敘述正確的是(
A.p姑int型變量B.p氈基類型為int的指針變量
C.q是基類型為int的指針變量D.程序中可用INTEGER代替int類型名
9.設(shè)有如下定義:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,止確的賦值
語句是().
A.p=&a;B.p=data,a;C.p=&data.a;D.*p=data.a;
10.有以下程序
#include<stdlib.h>
main()
{char*p,*q;'
p=(char*)malloc(20*sizeof(char));q=p;
scanf("%s%s",p,q);print或[%s%s\n",p,q);
)
若從鍵盤輸入:abcdefvWl7^A,則輸出結(jié)果是
A.defdefB.abcdefC.abedD.dd
二、閱讀下列程序,寫出程序運(yùn)行結(jié)果(本題有5小題,每小題4分,共計(jì)20分)
I.^include<stdio.h>
voidfun(char*c,intd)
{*c=*c+l;d=d+l;
printf("%c,%c,",*c,d);
}
main()
{chara='A',b-a';
fun(&b,a);printR"%c,%c\n”,a,b);
}
第2頁,共6頁
2.#include<stdio.h>
voidreverse(inta[],intn)
{inti,t;
for(i=0;i<n/2;i++)
{t=a[i];a[i]=a[n-l-i];a[n-l-i]=t;}
}
main()
{intb[10]={l,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
fbr(i=5;i<10;i++)s+=b[i];
printf("%d\n”,s);
)
3.#include<stdio.h>
structSTU
{charnum[10];floatscore[3];}
main()
{structSTUs[3]={{”10101190,95,85},「10102”,95,80,75},{“10103”,100,95,90}},*p=s+2;
inti;floatsum=0;
for(i=0;i<3;i++)
sum=sum+p->score[i];
printf(w%6.2f\nw,sum);
)
4.#include<stdio.h>
#defineN10
#defines(x)x*x
#definef(x)(x*x)
main()
{int
il=l000/s(N);i2=l000/f(N);
printf("%d%d\n,,,il,i2);
)
第3頁,共6頁
5.#inckide<string.h>
voidf(charp[][10],intn)
{chart[20];intij;
fbr(i=0;i<n-l;i++)
for(j=i+l;j<ny++)
if(strcmp(p[i],p[j])<0)
{strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p|j],t);)
}
main()
{charpqiOH'abdJaabdfg'ZbbWdcdbeTtd”};inti;
f(p,5);printf("%d\n”,strlen(p[O]));
三、程序填空(閱讀下列程序說明和c代碼,將應(yīng)填入(n)處的字句寫在答卷的對應(yīng)欄內(nèi),每
空3分,共計(jì)30分)
1、【程序說明】本程序的功能是在數(shù)組a中查找與x值相同的元素所在位置,數(shù)據(jù)從元素a[l]開始
存放,請?zhí)羁胀瓿沙绦颉?/p>
#inc!ude<stdio.h>
#define⑴10
voidmain()
{inta[MAX+l],x,i;
printf("請輸入數(shù)組a的各元素:\n");
fbr((2):i<=MAX:i++)
scanR"%d”,&a[i]);
printf("請輸入要找的元素:");
scanf("%d",&x);
a[0]=X5
i=MAX;
while(x!=⑶)⑷;
if(⑸)printf("%d的位置在第%d個(gè)元素\n",x,i);
elseprintf("沒有找到!\n");
)
第4頁,共6頁
2、【程序說明】本程序用辛普生公式計(jì)算下式的值:
[2]4
可彳/X+產(chǎn)dx
b
計(jì)算Jf(x)dx的辛普生(simpson)的近似計(jì)算公式為:
a
bh
Jf(x)dx=]{f(a)-f(b)+Z[4f(a+jh)+2f(a+(j+l)h)]}
a
ho
其中,h=—工:£是對j=l,3,5,2n-l求和。
2n
為了使近似值達(dá)到指定精度EPS,程序中采取了逐步擴(kuò)大n的方法。
/include<stdio.h>
(6)
#definePI3.14159265
doublef(doublex)
{
⑺1.0/(3+2*x);
}
doubletg(doublex)
(
returnsin(x)/cos(x);
}
voidsimpson(doublea,doubleb,intn,double(*g)(double),double*s)
(
intj;doubleh;
h=(b-a)/(2*n);
*s=(*g)(a)-(*g)(b);
for(j=l;j<2*n;j+=2)
*s=*s+4.0*(*g)(a+j*h)+2.0*(*g)(a+(j+l)*h);
*s=*s*h/3.0;
)
第5頁,共6頁
main()
(
doubleeps,x,xl,s;
intn;
printf(uPleaseentereps:");
scanf(u%lf\&eps);
x=0.0;n=2;
do{
n*=2;xl=x;
⑻;
x=s/PI;
.⑼;
x+=s;
Iwhilef(10));
printf(ux=%10.71f\n,\x);
)
四、用c語言編寫下列程序(共80分)
1.設(shè)計(jì)函數(shù),將小寫英文字符變?yōu)閷?yīng)的大寫字符。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建廈門市集美區(qū)杏濱中心幼兒園招聘1人備考題庫及答案詳解1套
- 2026貴州貴陽花溪區(qū)孟關(guān)中心完小招聘7人備考題庫完整參考答案詳解
- (2025年)母嬰安全五項(xiàng)制度試題及答案
- 2026海南渠田水利水電勘測設(shè)計(jì)有限公司天津分公司招聘備考題庫及一套完整答案詳解
- 2026福建省水利投資開發(fā)集團(tuán)有限公司招聘1人備考題庫及答案詳解一套
- 2026青海海北州海晏縣愛民社會(huì)服務(wù)中心招聘2人備考題庫及完整答案詳解1套
- 2026那福建省寧德市福安市德藝學(xué)校高中部27人教師招聘備考題庫及完整答案詳解1套
- 2026重慶五一職業(yè)技術(shù)學(xué)院勞動(dòng)合同制人員招聘24人備考題庫及答案詳解(考點(diǎn)梳理)
- 2026陜西西安東方航空食品招聘備考題庫及一套答案詳解
- 企業(yè)年度報(bào)告模板
- 新員工廉潔從業(yè)培訓(xùn)課件
- 東海藥業(yè)校招測評(píng)題庫
- 精準(zhǔn)定位式漏水檢測方案
- 2023氣管插管意外拔管的不良事件分析及改進(jìn)措施
- 2023自動(dòng)啟閉噴水滅火系統(tǒng)技術(shù)規(guī)程
- 架線弧垂計(jì)算表(應(yīng)力弧垂插值計(jì)算)
- 工廠驗(yàn)收測試(FAT)
- 市醫(yī)療保險(xiǎn)高值藥品使用申請表
- 認(rèn)知障礙患者進(jìn)食問題評(píng)估與護(hù)理
- 高職單招數(shù)學(xué)試題及答案
- 基礎(chǔ)化學(xué)(本科)PPT完整全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論