《2023年遼寧專升本考試真題-C語言部分》由會員分享,可在線閱讀,更多相關(guān)《2023年遼寧專升本考試真題-C語言部分(9頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、2023遼寧省高職高專畢業(yè)生升入本科學(xué)校招生考試
計 算 機 試 卷
其次部分 計算機高級語言部分(C語言)
四、填空題(將正確答案填寫到答題卡相應(yīng)的位置上,每小題2分,共10分)
41.若有定義:int a=2,b=1; 則表達式b+1.0/a 輸出結(jié)果是________________________。
42. 若有定義:int a,b;則表達式b=((a=2*3,a*2),a+4)的值為________________________。
43.語句fopen(“myfile”,”r+”):的含義是________________________。
4
2、4.若有定義:int a;能正確表達-1≤a≤2 且 a≠0 的C語言表達式是________________________。
45.若有定義:int a=1,b=2,max; 則能實現(xiàn)語句if(a>b) max=a;else max=b;的條件賦值語句為______。
五、閱讀程序題(閱讀下列程序,將正確的運行結(jié)果填寫到答題卡相應(yīng)的位置上,每小題3分,共24分)
46.下面程序運行的結(jié)果是___________________。
Void main()
{ int i=1,sum=0,t=1;
while(i<5)
{ t*=i++;
Sum=sum+
3、t;
}
Printf(“%d\n”,sum)
}
47. 下面程序運行的結(jié)果是___________________。
main()
{ char c1,c2;
c1=’A’+’8’-‘3’;
c2=’A’+’6’-‘3’;
printf(“%d,%c \n”,c1,c2);
}
48.下面程序運行的結(jié)果是___________________。
main()
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1)
{ b+=3; continue;}
4、
b-=5;
}
printf(“%d\n”,a);
}
49. 下面程序運行的結(jié)果是___________________。
#include “stdio.h”
int fun(int a)
{
static int b=1;
b*=a
return(b);
}
main()
{
int a=2,i;
printf(“\n”);
for(i=0;i<4;i++)
printf(“%d”,fun(a));
}
50. 下面程序運行的結(jié)果是___________________。
#include “stdio.h”
5、#include “string.h”
void fun(char *w,int n)
{ char t,*s1=w,*s2=w+n-1;
while(s1
6、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. 下面程序運行的結(jié)果是___________________。
#include “stdio.h”
main()
{ int s=0,i=0;
while(i<6)
{ switch(i)
{ case 0:
case1:s+=1;
case2:s+=2;i
7、++;break;
default:s+=3;
}
i++;
}
printf(“%d\n”,s);
}
53.下面程序運行的結(jié)果是___________________。
#include “stdio.h ”
#define N 12
main()
{ 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]+
8、a[i-1][j];
for(i=1;i<5;i++)
{ for(j=1;j<=i;j++)
printf(“%6d”,a[i][j]);
printf(“\n”);
}
}
六、完善程序題(請在答題卡相應(yīng)的位置上填寫正確的內(nèi)容,使程序完整正確。每小題3分,共24分)
54.下面程序的功能是求一個整數(shù),這個數(shù)加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù)。
#include “math.h”
main()
{ long int I,x,y,z;
for(i=1;i<1000;i++)
{ x=sqrt(i+100);
y=
9、sqrt(i*268);
if(____________)
printf(“\n%ld\n”,i);
}
}
55.下面程序?qū)崿F(xiàn)的功能是,輸入一個字符ch插入到一個升序的字符數(shù)組中a中,且插入完成后字符數(shù)組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
10、(a);i>add;i--) a[i]=a[i-1];
a[add]=ch;
printf(“插入后的數(shù)組如下: %s\n”,a);
}
56.下面程序?qū)崿F(xiàn)的功能是將兩個有序的一維數(shù)組a和b,歸并成一個有序的一維數(shù)組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]
11、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,er
12、ror!\n”);
y=fac(n);
printf(“%d!=%ld\n”,n,y);
}
58.下面程序的功能是,定義結(jié)構(gòu)體(姓名,高數(shù),英語,平均成果),輸入n個學(xué)生的姓名和二門課程的成果并計算得到每個學(xué)生的平均成果。
struct score{ char name[12];
int ma,en;
float ave;
};
main()
{ int k; struct score stu[5];
printf(“輸入學(xué)生姓名和成果:\n”);
for(k=0;k<5;k++)
{ scanf(“%s %d %d”,stu[k].
13、name,&stu[k].ma,&stu[k].en);
stu[k].ave=____________;
}
printf(“輸出學(xué)生成果 :\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.下面程序?qū)崿F(xiàn)的功能是將n個字符的串s,從第1個字符到第j個字符間的字符逆置。運行時輸入字符串s:as絕代雙驕封口機<回車>,輸入i和j:38<回車>輸出結(jié)果串為:askfjsdjj
void main()
{ char s[8
14、0],ch; int i,j;
scanf(“%s %d %d ”,s,&i,&j);
j--; j--;
for(;i
15、 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’(
16、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
17、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);
}
七、程序改錯題(以下每個小題都有一個錯誤,請在答題卡相應(yīng)的位置上寫出有錯誤語句的行號級改正后的完整語句。每小題3分,共12分)
62.下面程序的功能是輸入n(n≤50)個字符串存入數(shù)組str,輸出最長的字符串。其中maxlen為最長字符串的下標。
(1)
18、 #include “stdio.h”
(2) #include “string.h”
(3) main()
(4) { char str[50][80];
(5) int i.maxlen,n;
(6) scanf(“%d”,&n);
(7) getchar();
(8) for(i=0;istrlen(str[maxlen]))
(13) maxlen=I;
(14
19、) puts(str[maxlen]);
(15) }
錯誤的行是:___________________________
改為:________________________________
63.下面程序的功能是計算正整數(shù)n各位上的數(shù)字之積。例如輸入456.輸出120;輸入203,輸出0。
(1) long fun(long num)
(2) { long k=1;
(3) do{ k*=num%10;
(4) num\=10;
(5) }
(6) return k;
(7) }
(8) main()
(9) { long n;
(10
20、) printf(“\nPlease input a number:”);
(11) scaf(“%ld”,&n);
(12) printf(“\n%d”,fun(n));
(13) }
錯誤的行是:___________________________
改為:________________________________
64.下面程序的功能是輸入n(n≤100)個學(xué)生成果,查找大雨90分的學(xué)生認輸并輸出。
(1) #include “stdio.h”
(2) main()
(3) {
(4) float a[100];
(5) int i,s,n;
21、(6) scanf(“%d”,&n);
(7) for(i=0;i=90)
(11) s++;
(12) printf(“超過90分的學(xué)生人數(shù)=%d”,s);
(13) }
錯誤的行是:___________________________
改為:________________________________
65.下面程序的功能是將長整型數(shù)中每一位上為奇數(shù)的數(shù)依次去除,組成一個新數(shù)放在p中,且高位、低位的依次保持不變。例
22、如n中的數(shù)為98765時,p中的數(shù)位975。
(1) #include “stdio.h”
(2) void fun (long n,long *p)
(3) { int d;long n1=1;
(4) *p=0;
(5) while(n>0)
(6) { d=n%10;
(7) if(d%2=1)
(8) {*p=d*n1+*p;
(9) n1*=10;
(10) }
(11) n/=10;
(12) }
(13) }
(14) main()
(15) { long n,p;
(16) scanf(“%ld”,&n);
(17) fun(n,&p);
(18) printf(“Result is %ld\n”,p);
(19) }
錯誤的行是:___________________________
改為:________________________________
掃描二維碼馬上獲得答案