当前位置:文档之家› 2010年辽宁专升本考试真题-C语言部分

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

2010辽宁省高职高专毕业生升入本科学校招生考试计算机试卷第二部分计算机高级语言部分(C语言)四、填空题(将正确答案填写在答题卡相应的位置上,每小题2分,共10分)41.C语言程序中可以对程序进行注释,注释部分必须使用的符号是______42.设float x=3.8,y=2.7,int a=5,则表达式x+a/3*(int)(x+y)%2+4的值为____________43.在C语言程序中,若对函数类型未加说明,则函数的隐含类型为:______________44.求解逗号表达式(a=9,a+4),a*2的值和a的值依次为____________45.函数的参数为float类型时,形参与实参与结合的传递方式为_____________五、阅读程序题(阅读下列程序,将正确的运行结果填写到答题卡相应的位置上。

每小题3分,共24分)46、下面程序运行的结果是。

main(){int x=4;if(x++>=5)printf("%d",x);elseprintf("%d\n",x--);}47、下面程序的运行结果是。

main(){int a[]={1,3,5,7,9};int y=1,x,*p;p=&a[1];for(x=0;x,3;x++)y+=*(p+x);printf("%d\n",y);}48、下面程序运行的结果是。

#include<stido.h>int func(int a){int b=1;static c=4;a=++c,++b;return a;}main(){int a=2,i,k;for(i=0;i,2;i++)k=func (++a)printf("%d\n",k);}49、下面程序运行的结果是。

#include<stido.h>main(){int k=0;char c='B';switch(c++){case 'A':k++;break;case 'B':k--;case 'C':k+=2;default:k*=3;break;}Printf("k=%d\n",k);}50、下面程序运行的结果是。

#include<stido.h>main(){int a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},I,j;for(i=0;I<6;i++){for(j=0;j<6;j++)if(a[i]==b[j])break;if(j<6)printf("%d",a[i]);}printf("\n");}51、下面程序运行的结果是#include<stido.h>int fun(int u,int v);main(){int a=27,b=18,c;C=fun(a,b);printf("%d\n",c);}int fun(int u,int v){int w;while(v){w=u%v;u=v;v=w;}Return u;}52、下面程序运行的结果是main(){a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};int I,j,s=0;for(i=0;i<4;i++){for(j=0;j<4;j++)if(i==j)s+=a[i][j];}printf("%d\n",s);}53、下面程序运行的结果是。

struct stu{int num;Char name[10];Int age;};void fun(struct stu *p){printf("%s\n",p->name);}main(){struct stu students[3]={{,"Shang",19},{,"Zhang",18},{,"Chang",18}};fun(students+2);}六、完善程序题(请在答卡相应的位置上填写正确的内容,使程序完整正确。

每小题3分,共24分)54.下列程序是求1+1/2+1/4+1/6……+1/50的值。

第 3 页共9 页#include<stido.h>main(){int i=2;float sum=1;while(i<=50){sum=sum+1.0/I;______________;}Printf("sum=%f",j);}55.下列程序是求1—100之间“用3除余1,用5除余3“数的总个数。

#include<stido.h>main(){int i=1,j=0;do{if(____________________)j=j+1;i=i+1;}while(i<=100);printf("j=%d",j);}56.下面程序的功能是讲数组str2的全部字符拷贝到数组str1中#include<stido.h>main(){int i;char set1[80],str2[80];gets(str2);for(i=0;str2[i]!='\0';i++)str1[i]=str2[i];___________________;Puts(str1);}57.以下程序的功能是:输入10个学生的成绩,统计学生的平均分,并将成绩小于平均分的成绩输出main(){int x[10],i;float sum=0.0,ave;for(i=0;i<10;i++){scanf("%d",____________);sum=sum+x[i];}ave=sum/10;printf("ave=%5.2,2f\n",ave);for(i=0;i<10;i++)if(x[i]<ave)printf("%d\n",x[i]);}58.输入一个长整型数,求各位数字的平方和,例如:输入321,输出14#include<stido.h>main(){int digit;long in,s=0;scanf("%ld",&in);while(in!=0){___________________;s=s+digit*digit;in=in/10;}printf("sum=%ld\n",s);}59.下面程序将视线十进制数转换成二进制数,并存放于一位数组b中,然后输出。

main(){int b[30],x,k,r,i;printf("enter a integer:\n");scanf("%d",&x);printf("%6d s binary number is :\n",x);k=-1do{r=x%2;k++;b[k]=r;____________________;}while(x!=0);for(i=k;i>=0;i--)printf("%d",b[i]);printf("\n");}60.下面程序的功能是输入n值,并打印下列图形,(例如n=5时)1 2 3 4 5第 5 页共9 页1 123 41 1 12 31 1 1 1 1main(){int n,i,j,k;printf("input n:\n");scanf("%d",&n);for(j=0;j<n;i++){k=1if(_________________)printf("%3d",k);elseprintf("%3d",++k);printf("\n");}}61.下面的程序功能是将字符串”new world保存在文件test.txt中。

#include<stido.h>void fun(char*fname,char*st){FILE*my;int i;myf=fopen(fname,"w");for(i=0;i<strlen(st);i++)_________________________;fclose(nyf);}main(){fun("test.txt","new world");}七、程序改错题(以下每个小题都有一个错误,请在答题卡相应的位置上写出有错误语句的行号及改正后的完整语句。

每小题3分,共12分)62.下面函数的功能是计算在一个整型数种出现次数最多的数及其出现次数1.#include<stido.h>2.void fun(float*a,int n,int*k,float*x)3.{int I,j,y;4.*k=0;5.for(i=0;i<n;i++)6.{y=0;7.for(j=0;j<n;j++)8.if(*(a+i)==*(a+j)) y++;9.if(y>*k) {*k=y;*x=*(a+i)}10.}11.}12.main()13.{float c[10]={6,5,2,5,3,2,4,5,2,5,7,8},t;14.int m;15.fun(c,10,m,t);16.printf("元素%f出现次数为%d\n",t,m);17.}错误行的行号是:改为:63.面程序是统计在所输入的20个整数中有多少个整数、多少个负数、多少个零。

1.#include<stido.h>2.#define N 203.main()4.{ intx;5.unsigned int s1=0,s2=0,s3=0;6.for(i=1;i<=N;i++){7.scanf("%d",&x);8.if(x<0) s1++;9.else if (x=0) s2++;10.else s3++;11.printf("负数%u个,零%u个,正数%u个\n",s1,s2,s3);12.}错误行的行号是:改为:64.编写函数,在给定的一行以Y结束的字符串中,找出最长的单词并输出。

相关主题