2012年辽宁专升本考试真题-C语言部分

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页共10页2012辽宁省高职高专毕业生升入本科学校招生考试计算机试卷第二部分计算机高级语言部分(C语言)四、填空题(将正确答案填写在答题卡相应的位置上,每小题2分,共10分)41、语句fopen(“test”,”rb”)):的含义是。42、若有定义inta=2;则执行a=(a+2)/5;语句后,a的值为。43、若有定义intb=-1;则执行printf(“%u”,b);语句后,输出结果是。44、执行for(i=0;;i++)sum=sum+I;时,sum=sum+i被执行的次数为。45、若有定义inta[10];则数组元素a[i]的地址可以表示为&a[i]和。五、阅读程序题(阅读下列程序,将正确的运行结果填写到答题卡相应的位置上。每小题3分,共24分)46、下面程序运行的结果是。#include”stdio.h”Main(){Char*p.a[10][10]={“China”,”American”,”England”};Inti,j,len[10];for(i=0;i3;i++){for(j=0;j10;j++)if(a[i][j]’0’){len[i]j;Break;}Printf(“%s,%d\n”,a[i],len[i];}}47、下面程序的运行结果是。#include”stdio.h”Voidmain(){intf(inta,intb);Inti=2,p;p=f(i,++i)l;printf(“%d\n”,p);}Intf(inta,intb){intc;If(ab)c=1;elseif(a==b)c=0;第2页共10页elsec=-1;return(c);}第3页共10页48、下面程序运行的结果是。#includestdio.hvoidmain(){inti.sum=O;i=1;while(i=10){sum=sum+i;i++;}print(%d\n,sum);}49、下面程序运行的结果是。#includestdio.hmain(){ints[3][4]={{63,87,56,52,50,67,90,80,90,70,84,80}};int(*p)[4],j,k,flag;p=s;for(j=0:j3:j一){flag=();for(k=O;k4;k++)if(*(*(p+j)+k)60)flag=1;if(flag==1){for(k=0;k4;k++)printf(%3d,*(*(p+j)+k));printf(\n);}}}50、下面程序运行的结果是。#includestdio.hmain(){inta[51={4.7.2.5.1};inti.j.t;for(i=O;i5;i++)for(j=i+1;j5;j++)if(a[i]a[j])第4页共10页{t=a[i);a[i]=a(j];a[jj=t;for(i=0;i5;i++)printf(%2d,a[i]);printf(\n);}51、下面程序运行的结果是#includestdio.hmain(){intx=1,yam,a=O,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break:}case2:a++:b++:break;}printf(a=%d,b=%d,a,b);}52、下面程序运行的结果是#includesidiu.hstructs{inta;intb;}*p,str[4];main(){intm=1,i;for(i=0;i4;i++){str[i].a=m;str[i].b=&str[i].a;m=m+2;}p=&str[O];P++;printf(%d,%\n,(++p)-a,(p++)-a);}53、下面程序运行的结果是。#includestdio.hmain(){inti=0,n=0;第5页共10页chars[80]=Iamaboy;char*p;for(p=s;*p='\10';p++){if(*p=--‘’)i=1;if(i==1){n++.i=0;}}printf(%d\n,n);}六、完善程序题(请在答卡相应的位置上填写正确的内容,使程序完整正确。每小题3分,共24分)54、下面程序的功能是求字符串的长度。#includestdio.hintlength(char*s){char*p;p=s;while(*p)p++;;}main(){chars[20];intlen;scanf(%s.s);len=length(s);printf(%d\n.len);}55、下面程序的功能是在某个字符串中查找是否包含有字符‘m’,若有则输出‘yes’,否则输出‘no’。#inciudestdio.h#ircludemath.hmain(){charc='m',t[50];intn,k,j;gets(t);n=strlen(t);for(k=0;kn;k++)if(t[k]==c){j=k;;}elsej=-1;ifj=0)第6页共10页printf(yes)elseprintf(no);}56、下面程序的功能是求一个数,该数满足其个位、十位、百位每位立方和等于该数自身,例如:371=33+73+13。#includestdio.hmain(){inti.j,k:for(i=1:i=9;i++)for(j=0;j=9;j++)for(k=O;k=9;k++)if()printf(%d%d%d,I,j,k);}57、下面程序的功能是从急务接受一行字符,分别计算其大写和小写英文字母的个数。#includestdio.hmain(){intm=0,n=O;charc;while(){if(='A'&&c='Z')m++;if(c'a'&&c='z')n++;}printf(%d,%d,m,n);}58、下面conj函数的功能是将变量s和t中的字符串连接在一起,合成一个字符串。includestdio.hvoidconj(char*s.char*t){char*P=s;while(*p);while(*t){*p=*t;P++;t++;}=*p\0}第7页共10页59、下列面程序的功能是输出100-200之间的不能被3整除的整数。#includestdio.hvoidmain(){intn;for(n=100;n=200;n++){if(n%3==O);printf(%d,n);}}60、下面程序的功能是:有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,计算几天以后卖完。#includestdio.hmain(){intday,x1,x2;day=0;x1=1020:while(x1){;x1=x2;day++;}printf(day=%d\n,day);}61、下面程序的功能是用递归方汉计算1+2+3+…+n的和。#includestdio.hintff(intn){if(n==1);elsereturnff(n-1)+n;}main(){inti,j=0;for(i=1;i3;i++)j=ff(i);printf(%d,j);}第8页共10页七、程序改错题(以下每个小题都有一个错误,请在答题卡相应的位置上写出有错误语句的行号及改正后的完整语句。每小题3分,共12分)62、下面程序功能是找出两个字符串中对应位置相同的字符并输出。(1)includestdio.h(2)main()(3){chara[]=language,b[]=program';(4)char*pl,*p2;(5)intk;(6)p1=&a;p2=&b;(7)for(k=0;k=7;k++)(8)if(*(pl+k)==*(p2=k)!='\10')(9)printf(%c,*(pl+k));(10)}错误行的行号是:改为:63、下面程序功能是输入一个矩阵,求矩阵转置并输出。(1)voidmain()(2){inta[2][3]({1,2,3},{4,5,6}),b[3][2]i.j;(3)printf(arraya:\n);(4)for(i=O;i-1;i++)(5){for(.j=O;j-2;j++)(6){printf(%5d,a[i][j]);(7)b[j][i]-a[i][j];(8)}(9)printf(\n);(10)}(11)printf{arrayb:\n);(12)for(i=0;i=1,i++)(13){for(j=0;j=1;j++)(14)printf('%5d,b[i][j];(15)printf(\n);(16)}(17)}错误行的行号是:改为:64、下面程序功能是输出斐波那契数列:1、1、2、3、5、8……,每一行输出四项。(1)#includestdio.h(2)voidmain()(3){longintfl=1;f2=1;(4)inti;(5)for(i=1;i=20;i++)(6){printf(%121d%121d,fl,f2);(7)if(i%2==0)printf(\n);第9页共10页(8)f1=f1+f2;f2=f2+f1;(9)}(10)}错误行的行号是:改为:65、下面程序功能是输入10个数,??????均值。(1)#includestdio.h(2)floatMax=O,Min=O;(3)floataverage(floatarray[],intn)(4){inti:floataver,sun=array[0];(5)Max=Min=array[0];(6)for(i=1,in;i--)(7){if(array[i]Max)Max=array[i];(8)elseif(array[i]Min)Min=array[i];(9)sum=sum+array[i];(10)}(11)aver=sum/n;(12)return(aver);(13)}(14)voidmain()(15){floatave.score[10];(16)inti;(17)for(i=0;i10,i++);(18)scanf(%f,&score[i]);(19)ave=average(score,10);(20)printf(max=%6.2f\nmin=%6.2f\naverage=%6.2f\n,Max,Min,ave);错误行的行号是:改为:扫描二维码立即获取答案第10页共10页

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功