第1页共9页2011辽宁省高职高专毕业生升入本科学校招生考试计算机试卷第二部分计算机高级语言部分(C语言)四、填空题(将正确答案填写在答题卡相应的位置上,每小题2分,共10分)41.C语言程序的基本单位是______。42.若有定义inta=8;则执行a=0.5+a/4.0;语句后,变量a的值为______。43.若有定义intx[]=[3,2,5,1,15,7,12];则表达式*(x+3)的值_______。44.若有定义inta=1,b=2,c=3,d=4,z;则表达式(ab)?(z=c):(z=d)的值为_______。45.若有定义inti,*p;使p指向i的赋值语句是_______。五、阅读程序题(阅读下列程序,将正确的运行结果填写到答题卡相应的位置上。每小题3分,共24分)46、下面程序运行的结果是。#include”stdio.h”main(){char*s=“abcde”;s+=2;printf(“%s”,s);}47、下面程序的运行结果是。#include”stdio.h”main(){inti=0;while(i2){switch(i++){case0:printf(“fat”);break;case1:printf(“hat”);case2:printf(“cat”);break;default:printf(“Ohno!”);}}第2页共9页}48、下面程序运行的结果是。#includestdio.hmain(){inti,a[6]=(2,-7,9,-4,5,-6);for(i=0;i6;i++){if(a[i]=0)continue;printf(“%d”,a[i]);}}49、下面程序运行的结果是。#includestdio.hinta=8,b=10;voidFunc(intn){intt=1;a+=t+n;printf(“a=%d”,a++);}main(){inta=3;Func(b);printf(“a=%d”,a,b);}50、下面程序运行的结果是。#includestdio.hmain(){intI,j,n=10,t;inta[10]={13,7,9,11,0,6,7,5,4,2};for(i=0,j=n-1;i=(n-1)/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i10;i++)printf(“%d”,a[i]);第3页共9页}51、下面程序运行的结果是#include“stdio.h”intfunc(intn){intc;if(n0)c=func(n-2)+3;elsec=2;returnc;}main(){intn=6;printf(“%d”,func(n));}52、下面程序运行的结果是#includestdio.hmain(){intf1,f2,i;f1=1,f2=1;for(i=1;i3;i++){f1=f1+f2;f2=f2+f1;printf(“%d,%d”,f1,f2);}}53、下面程序运行的结果是。#includesidio.hmian(){inta[10]={12,45,34,67,89,45,34,54,76,10};intx,i;x=a[0];for(i=1;i0;i++)if(xa[i])x=a[i];printf(“x=%d\n”,x);}六、完善程序题(请在答卡相应的位置上填写正确的内容,使程序完整正确。每小题3第4页共9页分,共24分)54、下面程序的功能是输入10个整数,采用选择法按由小到大顺序排序。#include“stdio.h”main(){inti,j,a[10],k,t;for(i=0;i10;i++)scanf(“%d,”,&a[i]);for(i=0;i9;i++){____________________;for(j=j+1;j10;j++)if(a[j]a[k])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}for(i=0;i10;i++)printf(“%d,”,a[i]);}55、下面程序的功能是将数组str1中字符串中的小写英文字母放入数组str2中,输出数组str2中的字符串#inciude”string”main(){charstr1[50],str2[50];inti,j;gets(str1);for(i=0;j=0;str1[i]!=’\0’;i++)if(_______________){str2[j]=str1[i];j++;}str2[j]=’\0’puts(str2);}56、下面程序的功能是求存储在array数组中的矩阵两条对角线上元素之和。#include“stdio.h”main(){第5页共9页intarray[3][3]={2,3,4,8,3,2,7,9,8},a=0,i,j;for(i=0;i3;i++)for(j=0;j3;j++)if(_______________)a=a+array[i][j];printf(“%d\n”,a);}57、下面程序的功能是输出结构体数组的所有元素的值。#include“stdio.h”structs{charname[10];intage;}main(){structsa[3]={{“John”,19},{“Paul”,17},{“Marry”,18}};structs*pinti=0;for(____________;i3;i++,p++)printf(“%s,%d\n”p-name,p-age);}58、下面程序的功能是计算:1-1/2+1/3-1/4+…+1/99-1/100+…的值,直到最后一项的绝对值小雨10-5为止。include“stdio.h”include“math.h”main(){intn=1;doublesum=0,term=1.0,temp;do{temp=(double)1/(double)n;________________________;term=-term;n++;}while(fabe(temp)=1e-5);printf(“sum=%f\n”,sum);}第6页共9页59、下列面程序的功能是打印所有的水仙花数。所谓”水仙花数”,是指一个三位数,其各位数字的立方和等于该数本身。例如,由于153=13+53+33,所以153是”水仙花数”。#includestdio.hmain(){inti,j,k,n;for(n=100;n1000;n++){i=n/100;j=(n-i*100)/10;k=n%10;if(_____________________________)printf(%d\t,n);}printf(\n);}60、下面程序的功能是求两个正整数的最小公倍数。#includestdio.hintMinCommonMultiple(inta,intb){inti;for(i=1;i=b;i++)if(____________)returni*a;return0;}main(){inta,b,x;printf(Inputa,b:);scanf(%d,%d,&a,&b);x=MinCommonMultiple(a,b);printf(MinCommonMultiple=%d\n,x);}61、下面程序的功能是输入10个学生的成绩,计算这10个学生的平均成绩并输出。#include”stdio.h”main(){floatscore[10],aver,sum=0;inti;for(i=0;i10;i++)scanf(“%f”,&score[i]);for(i=0;i10;i++)sum+=score[i];__________________________;第7页共9页printf(averagescoreis%f\n,aver);}七、程序改错题(以下每个小题都有一个错误,请在答题卡相应的位置上写出有错误语句的行号及改正后的完整语句。每小题3分,共12分)62、下面程序功能是读入10个字符串,然后找出最大的字符串并输出。1)#includestdio.h2)#includestring.h3)main()4){5)charstr[10][80],maxstring[80];6)inti;7)for(i=0;i10;i++)8)gets(str[i]);9)strcpy(maxstring,str[0]);10)for(i=1;i10;i++)11)if(str[i]maxstring)12)strcpy(maxstring.str[i]);13)puts(maxstring);14)}错误行的行号是:改为:63、下面程序功能是删除变量s中的字符串中所有与变量c中相同的字符。(1)#includestdio.h(2)#includestring.h(3)voidSqueeze(chars[],charc)(4){inti,j;(5)for(i=0,j=0;s[i]!=’\0’;i++){(6)if(s[i]!=’c’)(7)s[j++]=s[i];(8)s[j]=’\0’;(10)main()(11){chars[50],c;(12)gets(s);(13)c=getchar();(14)Squeeze(s,c);(15)puts(s);()16}错误行的行号是:改为:64、下面程序功能是输入学生成绩,查找不及格的学生,输出不及格学生的人数。(1)#include“stdio.h”第8页共9页(2)main()(3){(4)floata[30];(5)inti,s=0;(6)for(i=0;i30;i++)(7)scanf(“%f”,a[i]);(8)for(i=0;i30;i++)(9)if(a[i]60)(10)s++;(11)printf(“counts=%d”,s);(12)}错误行的行号是:改为:65、下面程序功能是计算1!+2!+3!+…+n!的值。(1)#include“stdio.h”(2)intfac(intn)(3){(4)intf=1;(5)f=f*n;(6)returnf;(7)}(8)main()(9){(10)intn,i,sum=0;(11)scanf(“%d”,&n);(12)for(i=1;i=n;i++)(13)sum+fac(i);(14)printf(“sum=%d”,sum);(15)}错误行的行号是:改为:扫描二维码立即获取答案第9页共9页