2013辽宁省高职高专毕业生升入本科学校招生考试计算机试卷第二部分计算机高级语言部分(C语言)四、填空题(将正确答案填写到答题卡相应的位置上,每小题2分,共10分)41.若有定义:int a=2,b=1; 则表达式b+1.0/a 输出结果是________________________。
42. 若有定义:int a,b;则表达式b=((a=2*3,a*2),a+4)的值为________________________。
43.语句fopen(“myfile”,”r+”):的含义是________________________。
44.若有定义:int a;能正确表达-1≤a≤2 且a≠0 的C语言表达式是________________________。
45.若有定义:int a=1,b=2,max; 则能实现语句if(a>b) max=a;else max=b;的条件赋值语句为______。
五、阅读程序题(阅读下列程序,将正确的运行结果填写到答题卡相应的位置上,每小题3分,共24分)46.下面程序运行的结果是___________________。
V oid main(){ int i=1,sum=0,t=1;while(i<5){ t*=i++;Sum=sum+t;}Printf(“%d\n”,sum)}47. 下面程序运行的结果是___________________。
main(){ char c1,c2;c1=’A’+’8’-‘3’;c2=’A’+’6’-‘3’;printf(“%d,%c \n”,c1,c2);}48.下面程序运行的结果是___________________。
main(){ int a,b;for(a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1){ b+=3; continue;}b-=5;}printf(“%d\n”,a);}49. 下面程序运行的结果是___________________。
#include “stdio.h”int fun(int a){static int b=1;b*=areturn(b);}main(){int a=2,i;printf(“\n”);for(i=0;i<4;i++)printf(“%d”,fun(a));}50. 下面程序运行的结果是___________________。
#include “stdio.h”#include “string.h”void fun(char *w,int n){ char t,*s1=w,*s2=w+n-1;while(s1<s2){ if(*s1<*s2){ t=*s1;*s1=*s2;*s2=t;}s1++;s2--;}}main(){ char str[]=”08172639”,p;p=str;fun(p,strlen(p));puts(p);}51. 下面程序运行的结果是___________________。
#include “stdio.h”int a=1,b=7;int fun(int a,int *b){ int c;*b=a;c=a+b;return(c%2);}main(){ int a=4,c;c=fun(a,&b);printf(“%d %d %d \n”,a,b,c);}52. 下面程序运行的结果是___________________。
#include “stdio.h”main(){ int s=0,i=0;while(i<6){ switch(i){ case 0:case1:s+=1;case2:s+=2;i++;break;default:s+=3;}i++;}printf(“%d\n”,s);}53.下面程序运行的结果是___________________。
#include “stdio.h ”#define N 12main(){ int I,j,k,a[N][N];for(i=0;i<5;i++)for(j=0;j<5;j++) a[i][j]=0;a[0][1]=1;for(i=1;i<5;j++)for(j=1;j<=i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=1;i<5;i++){ for(j=1;j<=i;j++)printf(“%6d”,a[i][j]);printf(“\n”);}}六、完善程序题(请在答题卡相应的位置上填写正确的内容,使程序完整正确。
每小题3分,共24分)54.下面程序的功能是求一个整数,这个数加上100后是一个完全平方数,再加上168又是一个完全平方数。
#include “math.h”main(){ long int I,x,y,z;for(i=1;i<1000;i++){ x=sqrt(i+100);y=sqrt(i*268);if(____________)printf(“\n%ld\n”,i);}}55.下面程序实现的功能是,输入一个字符ch插入到一个升序的字符数组中a中,且插入完成后字符数组a仍然有序。
#include “stdio.h”main(){ char a[10]={“abbgmn”},ch; int add=0,i;scanf(“%c”,%ch);for(i=0;a[i]!=’\0’;i++)if(ch>a[i]) add++;else ___________;for(i=strlen(a);i>add;i--) a[i]=a[i-1];a[add]=ch;printf(“插入后的数组如下: %s\n”,a);}56.下面程序实现的功能是将两个有序的一维数组a和b,归并成一个有序的一维数组c。
#include “stdio.h”main(){ int a[10]={2,5,7,9,10,13,20,28,30,35},b[6]={1,4,6,8,25,29},c[30],k=0,m=0,n=0;while(____________)if(a[m]<b[n]) c[k++]=a[m++];else c[k++]=b[n++];while(m<10)c[k++]=a[m++];while(n<6)c[k++]=b[n++];for(k=0;k<16;k++) printf(“%d,”,c[k]);}57.下面程序的功能是递归法求n!。
long fac(int n){ long f;if (n==0 || n==1) f=1;else ____________;return f;}main(){ int n;long y;scanf(“%d”,&n);if(n<0) printf(“n<0,error!\n”);y=fac(n);printf(“%d!=%ld\n”,n,y);}58.下面程序的功能是,定义结构体(姓名,高数,英语,平均成绩),输入n个学生的姓名和二门课程的成绩并计算得到每个学生的平均成绩。
struct score{ char name[12];int ma,en;float ave;};main(){ int k; struct score stu[5];printf(“输入学生姓名和成绩:\n”);for(k=0;k<5;k++){ scanf(“%s %d %d”,stu[k].name,&stu[k].ma,&stu[k].en);stu[k].ave=____________;}printf(“输出学生成绩:\n”);for(k=0;k<5;k++)print(“%s %d %d %f\n”,stu[k].name,stu[k].ma,stu[k].en,stu[k].ave);}59.下面程序实现的功能是将n个字符的串s,从第1个字符到第j个字符间的字符逆置。
运行时输入字符串s:as绝代双骄封口机<回车>,输入i和j:38<回车>输出结果串为:askfjsdjjvoid main(){ char s[80],ch; int i,j;scanf(“%s %d %d ”,s,&i,&j);j--; j--;for(;i<j;i++,j--){ ch=*(s+i);____________;*(s+j)=ch;}printf(“%s”,s);}60.下面程序的功能是出涨工资后的工资数。
单位涨工资原则:若元工资大于等于800元,涨原工资的20%,若小于800元大于等于400元,涨原工资的15%,若小于400元,涨原工资的10%。
#include “stdio.h”main(){ double salary;printf(“Input your salary:”);scanf(“%lf”,&salary);if(salary<400)salary=salary*0.1+salary;else if(salary<800)salary=salary*0.15+salary;else____________;printf(“your salary = %.2lf\n\n”,salary);}61.下面程序的功能是输入一百分制的成绩score,输出其等级grade。
grade=’A’ (score≥90); grade=’B’(89≥score≥80); grade=’C’ (79≥score≥70);grade=’D’ (69≥score≥60); grade=’E’ (score<60)。
#include “stdio.h”void main(void){ int score;char grade;while(1){ scanf(“%d”,&score);if(score>=0 && score <=100) break;printf(“输入错误请重新输入\n”);}switch(______________){ case10:case 9: grade=’A’;break;case 8: grade=’B’;break;case 7: grade=’C’;break;case 6: grade=’D’;break;default: grade=’E’;}printf(“%d %c”,score,grade);}七、程序改错题(以下每个小题都有一个错误,请在答题卡相应的位置上写出有错误语句的行号级改正后的完整语句。