武汉科技大学考研历年初试真题之C语言程序设计有答案年考研真题.docx
- 文档编号:1980269
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:30
- 大小:41.71KB
武汉科技大学考研历年初试真题之C语言程序设计有答案年考研真题.docx
《武汉科技大学考研历年初试真题之C语言程序设计有答案年考研真题.docx》由会员分享,可在线阅读,更多相关《武汉科技大学考研历年初试真题之C语言程序设计有答案年考研真题.docx(30页珍藏版)》请在冰豆网上搜索。
武汉科技大学考研历年初试真题之C语言程序设计有答案年考研真题
姓名:
报考专业:
准考证号码:
密封线内不要写题
二O一三年招收硕士研究生入学考试试题
考试科目代码及科目名称:
855C语言程序设计
答题内容写在答题纸上,写在试卷或草稿纸上一律无效考完后试题随答题纸交回。
考试时间3小时,总分值150分。
一、选择题(每题2分,共20分)
1.C语言结构类型变量在程序执行期间()。
A)所有成员一起驻留在内存中。
B)只有一个成员驻留在内存中。
C)部分成员驻留在内存中。
D)没有成员驻留在内存中。
2.数组定义为“inta[4][5];”,下列哪一个引用是错误的()。
A)*aB)*(*(a+2)+3)C)&a[2][3]D)++a
3.结构变量stu,类型为STU,含有域major,下面哪条语句正确引用了major?
()
A)stu.majorB)stu->majorC)STU->majorD)STU.major
4.设函数fun和实参数组的说明形式为:
voidfun(charch,floatx[]);floata[10];
以下对函数的调用语句中,正确的是()。
A)fun("abc",a[]);B)t=fun('D',a);
C)fun('65',2.8);D)fun(32,a[10]);
5.下列语句中与语句while
(1){if(i>=100)break;s+=i;i++;}功能相同的是()。
A)for(;i<100;i++)s=s+i;B)for(;i<100;i++;s=s+i);
C)for(;i<=100;i++)s+=i;D)for(;i>=100;i++;s=s+i);
6.C语言中函数返回值的类型是由()决定的。
A)return语句中的表达式类型B)调用该函数的主调函数类型
C)定义函数时所指定的函数类型D)调用函数时临时
7.以下对枚举类型名的定义中正确的是()。
A)enuma={one,two,three};B)enuma{a1,a2,a3};
C)enuma={‘1’,’2’,’3’};D)enuma{“one”,”two”,”three”};
8.对于以下递归函数f,调用f(4),其返回值为()
intf(intn){if(n)returnf(n-1)+n;elsereturnn;}
A)10B)4C)0D)以上均不是
9.设整型变量i,j值均为3,执行了j=i++,j++,++i后,i,j的值是()。
A)3,3B)5,4C)4,5D)6,6
10.while(!
x)中的表达式(!
x)等价于()。
A)x!
=1B)x!
=0C)x==1D)x==0
二、阅读程序写出程序运行结果(每题5分,共20分)
1.
voidmain()
{intk=0;charc='A';
do{
switch(c++){
case'A':
k++;break;
case'B':
k--;
case'C':
k+=2;break;
case'D':
k=k%2;break;
case'E':
k=k*10;break;
default:
k=k/3;
}
k++;
}while(c<'G');
printf("k=%d\n",k);
}
2.
voidmain(void)
{inti=0;
do{printf(“Yes!
”);}while(++i<4);
printf(“\n”);
while(i++<8)printf(“No!
”);
}
3.
#include
voidmain()
{intarr[]={3,6,9,12,15},*p,k;
for(k=0;k<5;k++)arr[k]+=arr[k]/3;
for(p=arr,k=0;k<5;k++)printf("%3d",*(p+k));
}
4.运行时输入:
82
intccc(intn,intr)
{if(r>n)return0;
if(r==0||n==0||n==1)return1;
returnccc(n-1,r)+ccc(n-1,r-1);
}
voidmain()
{intresult=0,n,r;
do{scanf("%d%d",&n,&r);}while(n result=ccc(n,r); printf("ccc(%d,%d)=%d\n",n,r,result); } 三、程序填空(每空3分,共60分) 1.以下函数的功能是将字符串sa中的内容逆置过来,即: 若原串为”abcde”,逆置后应为”edcba”。 #include voidstrinvert(char*sa) { inti=0,j,t; j= (1); while( (2)) {t=sa[i];sa[i]=sa[j];sa[j]=t; i++; (3); } } 2.下列程序A与B功能等价,请填空。 程序A: intf(intn){if(n<=1)returnn;elsereturnf(n-1)+f(n-2);} 程序B: intf(intn) {intt0=0,t1=1,t=n; while((4)) {t=(5);t0=t1;t1=t;n--;} return(6); } 3.下面程序的功能是用公式π/4≈(直至最后一项的值小于10-4为止)求π的值。 #include main() {intsign=1,i=1; floatnext=1.0,pi,sum=0; while((7)) {sum=(8);(9);i+=2;next=1.0/i;} (10); printf("pi=%f\n",pi); } 4.已知带头结点的单链表L,其节点中的元素以递减方式排列。 函数DelList的功能是在L中查找所有大于minK且小于maxK的结点,若找到,则删除结点。 若L中不存在满足条件的结点,则返回-1,否则返回删除的节点数。 链表结点类型定义如下: typedefstructNode{intdata;structNode*next;}NODE,*LinkList; intDelList(LinkListL,intminK,intmaxK) { ___(11)___*q=L,*p=___(12)___; intTag=0; while(p) if(p->data>=maxK){q=p;___(13)___;} elseif(___(14)___) {q->next=___(15)___;free(p); p=___(16)___;___(17)___;} else___(18)___; if(___(19)___)return-1; ___(20)___; } 四、程序设计(4小题,共50分) 1.(10分)函数digit(n,k)的功能是求正整数n中从右端开始的第k(≥1)个数字的值(k从1开始),如果k超过了n的位数,则函数返回-1;否则返回n中第k个数字。 例如: digit(264539,3)=5digit(7622,5)=-1 要求分别用递归和非递归设计该函数。 2.(10分)编程统计输入的一行中的大写字母、小写字母、数字的个数以及单词数(单词间以空格隔开)。 3.(15分)建立一个学生登记表(人数<100),每个学生包含下列信息: 学号(no)、姓名(name)、性别(sex)、分数(score),其结构定义如下: structstudent{longno;charname[8];charsex;floatscore;}; 要求: (1)定义学生信息录入函数input,当输入学号为-1表示学生信息录入结束。 函数返回录入信息的学生人数,其函数原型定义如下: intinput(structstudent*stu); (2)定义sort函数,实现按照学生姓名升序排序的功能。 (3)使用二分查找算法,定义search函数,实现根据给定学生的姓名,查找并显示出该学生的信息,如果不存在,请给出提示信息。 4.(15分)函数BitTreeDel_RightBottom(BitTreeT)的功能是: 若T指向一棵二叉树的根结点,则找出该结点的右子树上的“最右下”结点*p,并从树中删除以*p为根的子树,函树返回被删除子树的根结点指针;若该树根的右子树上不存在“最右下”结点,则返回空指针。 一棵非空二叉树中“最右下”结点定义为: 若树根的右子树为空,则树根为“最右下”结点;否则,从树根的右子树树根出发,沿结点的右孩子分支向下查找,直到某个结点不存在右孩子时为止,该结点即为此二叉树的“最右下”结点。 TypedefstructBitNode{ intdata; structBitNode*left,*right; }*BitTree;//left,right为结点的左、右孩子指针 参考答案(A) 一、选择题(每题2分,共20分) 1.A2.D3.A4.B5.A6.C7.C8.A9.B10.D 二、读程序写结果(每题5分,共20分) 1.k=8 2.Yes! Yes! Yes! Yes! No! No! No! No! 3.481216204.ccc(8,2)=28 三、程序填空题(每空3分,共60分) 1. (1)strlen(sa)-1 (2)i 2.(4)n>1(5)t0+t1(6)t1 3.(7)next(8)sum+sign*next(9)sign=-sign(10)pi=sum*4 4.(11)LinkList(12)L->next(13)p=p->next(14)p->data>minK (15)p->next(16)q->next;(17)tag++;(18)break (19)Tag==0(20)returnTag 四、程序设计题(共50分) 1. intdigit(intn,intk) {if(n==0)return-1; elseif(k==1)returnn%10; elsereturndigit(n/10,k-1);} intdigit(intn,intk) {while(n) {if(k==1)returnn%10; k--;n=n/10;} return-1; } 2. #include voidmain() { inti,num1=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉 科技大学 考研 历年 初试 语言程序设计 答案