2024年3月19日发(作者:仪夏烟)
五邑大学考研专业课真题试卷
809C语言程序设计
2022年《809C语言程序设计》专业课真题试卷
2023年《809C语言程序设计》专业课真题试卷
五邑大学2022年攻读硕士学位研究生入学考试试卷
试卷名称:《C语言程序设计》代码:(809)
提示:①请把答案写在答题纸上,写在试卷上不给分。②答案应清楚标明题号,
字迹应清晰,卷面要整洁。③试卷满分150分。
一、选择题
(
共
15
题,每题
3
分,共
45
分
)
1.s1和s2已正确定义并分别指向两个字符串。若要求:当s1所
指串大于s2所指串时,执行语句S;则以下选项中正确的是
(s1>s2)S;
(strcmp(s1,s2))S);
(strcmp(s2,s1)>0)S;
(strcmp(s1,s2)>0)S;
2.
有以下程序
voidswap1(intc[])
{intt;
t=c[0];c[0]=c[1];c[1]=t;
}
voidswap2(intc0,intc1)
{intt;
t=c0;c0=c1;c1=t;
}
main()
{inta[2]={3,5},b[2]={3,5};
swap1(a);swap2(b[0],b[1]);
共11页第
1
页
。
printf(“%d%d%d%dn”,a[0],a[1],b[0],b[1]);
}
其输出结果是
A.5353
B.5335
C.3535
D.3553
3.有以下定义语句,编译时会出现编译错误的是
=’a’;
=’n’;
=’aa’;
=’x2d’;
4.
以下
C
语言用户标识符中,不合法的是
A
.
-1
C.a_b
D.a-b
5.
设有定义:
inta,b[10],*c=null,*p;
则以下语句错误的是
A.p=b;
B.p=&b[0];
C.p=c;
D.p=a;
。
。
。
。
共11页第
2
页
6.有以下程序
main()
{intm[][3]={1,4,7,2,5,8,3,6,9};
inti,j,k=2;
for(i=0;i<3;i++)
{printf(“%d”,m[k][i]);}
}
执行后输出结果是
A.456
B.258
C.369
D.789
7.
在
C
语言中,要求运算数必须是整型数的运算符是
A.%
B./
C.<
D.!
8.
若有定义一个具有
5
个元素的整型数组,以下错误的定义语句
是。
[5]={0};
[]={0,0,0,0,0};
C.c[2+3];
=5,d[i];
。
。
共11页第
3
页
9.若有定义语句:inta=10;doubleb=3.14;,则表达式‘A’+a+b的值
的类型是
10.
以下不能输出小写字母
a
的选项是
r(97);
r(‘a’)
(“%cn”,’A’+32)
(“%cn”,“a”)
11.有以下程序段
scanf(“%d%d%d”,&a,&b,&c);
if(a>b)a=b;
if(a>c)a=c;
printf(“%dn”,a);
该程序的功能是。
A.输出a,b,c中值相等的数值
B.输出a的原值
C.输出a,b,c中的最大值
D.输出a,b,c中的最小值
。
。
共11页第
4
页
12.有以下程序段
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是
A.5
B.6
C.8
D.9
13.有如下程序段
int*p,a=1;
p=&a;
*p=10;
则变量
a
的值是
A.
不能确定
B.10
C.1
D.11
14.若变量已正确定义for(x=0,y=0;(y!=99&&x<4);x++),则以上
for循环
A.执行3次
B.执行4次
C.执行无限次
D.执行次数不定
。
。
。
共11页第
5
页
15.以下程序的输出结果是
intf()
ints=1;
s+=i;
i++;
returns;
}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
printf(“%dn”,a);
}
A.20
B.24
C.25
D.15
{staticinti=0;
。
二、程序填空题(共6空题,每空5分,共30分)
1.给定程序的功能是求K!(K<13),并通过函数名传回主函数。
例如:若K=10,则应该输出3628800。请在程序的下划线处填入正
确的内容(写在答题纸上),使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
共11页第
6
页
#include
longfun(intk)
{
If(k0)
①
return(k*fun(②));
elseif(k③0)
return1L
}
main()
{intk=10;
printf(“%d!=%ldn”,k,fun(k));
}
2.函数fun的功能是:统计长整数n的各个位上出现数字1、2、3
的次数,并通过外部(全局)变量c1,c2,c3返回主函数。例如
n=123114350时,结果应该是c1=3,c2=1,c3=2。
请在程序的下划线处填入正确的内容(写在答题纸上),使程序得出
正确的结果。注意:不得增行或删行,也不得更改程序的结构!
#include
intc1,c2,c3;
voidfun(longn)
{c1=c2=c3=0;
while(n){
switch(①)
{
case1:c1++;
case2:c2++;
case3:c3++;
}
n/=10;
②;
③;
共11页第
7
页
}
}
main()
{longn=123114350L;
fun(n);
printf(“nTheresult:n”);
printf(“n=%ldc1=%dc2=%dc3=%dn”,n,c1,c2,c3);}
三、程序改错题(共2题,每题15分,共30分)
1.给定函数fun的功能是:用选择法对数组中的n个元素按从小
到大的顺序进行排序。不要增行减行,也不能更改程序结构,找出
错误语句,在答题纸上写出错误语句和它应修改为的正确语句。
#include
#defineN20
voidfun(inta[],intn)
{inti,j,t,p;
for(j=0;j { p=j for(i=j+1;i { 2024年3月19日发(作者:仪夏烟)
五邑大学考研专业课真题试卷
809C语言程序设计
2022年《809C语言程序设计》专业课真题试卷
2023年《809C语言程序设计》专业课真题试卷
五邑大学2022年攻读硕士学位研究生入学考试试卷
试卷名称:《C语言程序设计》代码:(809)
提示:①请把答案写在答题纸上,写在试卷上不给分。②答案应清楚标明题号,
字迹应清晰,卷面要整洁。③试卷满分150分。
一、选择题
(
共
15
题,每题
3
分,共
45
分
)
1.s1和s2已正确定义并分别指向两个字符串。若要求:当s1所
指串大于s2所指串时,执行语句S;则以下选项中正确的是
(s1>s2)S;
(strcmp(s1,s2))S);
(strcmp(s2,s1)>0)S;
(strcmp(s1,s2)>0)S;
2.
有以下程序
voidswap1(intc[])
{intt;
t=c[0];c[0]=c[1];c[1]=t;
}
voidswap2(intc0,intc1)
{intt;
t=c0;c0=c1;c1=t;
}
main()
{inta[2]={3,5},b[2]={3,5};
swap1(a);swap2(b[0],b[1]);
共11页第
1
页
。
printf(“%d%d%d%dn”,a[0],a[1],b[0],b[1]);
}
其输出结果是
A.5353
B.5335
C.3535
D.3553
3.有以下定义语句,编译时会出现编译错误的是
=’a’;
=’n’;
=’aa’;
=’x2d’;
4.
以下
C
语言用户标识符中,不合法的是
A
.
-1
C.a_b
D.a-b
5.
设有定义:
inta,b[10],*c=null,*p;
则以下语句错误的是
A.p=b;
B.p=&b[0];
C.p=c;
D.p=a;
。
。
。
。
共11页第
2
页
6.有以下程序
main()
{intm[][3]={1,4,7,2,5,8,3,6,9};
inti,j,k=2;
for(i=0;i<3;i++)
{printf(“%d”,m[k][i]);}
}
执行后输出结果是
A.456
B.258
C.369
D.789
7.
在
C
语言中,要求运算数必须是整型数的运算符是
A.%
B./
C.<
D.!
8.
若有定义一个具有
5
个元素的整型数组,以下错误的定义语句
是。
[5]={0};
[]={0,0,0,0,0};
C.c[2+3];
=5,d[i];
。
。
共11页第
3
页
9.若有定义语句:inta=10;doubleb=3.14;,则表达式‘A’+a+b的值
的类型是
10.
以下不能输出小写字母
a
的选项是
r(97);
r(‘a’)
(“%cn”,’A’+32)
(“%cn”,“a”)
11.有以下程序段
scanf(“%d%d%d”,&a,&b,&c);
if(a>b)a=b;
if(a>c)a=c;
printf(“%dn”,a);
该程序的功能是。
A.输出a,b,c中值相等的数值
B.输出a的原值
C.输出a,b,c中的最大值
D.输出a,b,c中的最小值
。
。
共11页第
4
页
12.有以下程序段
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是
A.5
B.6
C.8
D.9
13.有如下程序段
int*p,a=1;
p=&a;
*p=10;
则变量
a
的值是
A.
不能确定
B.10
C.1
D.11
14.若变量已正确定义for(x=0,y=0;(y!=99&&x<4);x++),则以上
for循环
A.执行3次
B.执行4次
C.执行无限次
D.执行次数不定
。
。
。
共11页第
5
页
15.以下程序的输出结果是
intf()
ints=1;
s+=i;
i++;
returns;
}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
printf(“%dn”,a);
}
A.20
B.24
C.25
D.15
{staticinti=0;
。
二、程序填空题(共6空题,每空5分,共30分)
1.给定程序的功能是求K!(K<13),并通过函数名传回主函数。
例如:若K=10,则应该输出3628800。请在程序的下划线处填入正
确的内容(写在答题纸上),使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
共11页第
6
页
#include
longfun(intk)
{
If(k0)
①
return(k*fun(②));
elseif(k③0)
return1L
}
main()
{intk=10;
printf(“%d!=%ldn”,k,fun(k));
}
2.函数fun的功能是:统计长整数n的各个位上出现数字1、2、3
的次数,并通过外部(全局)变量c1,c2,c3返回主函数。例如
n=123114350时,结果应该是c1=3,c2=1,c3=2。
请在程序的下划线处填入正确的内容(写在答题纸上),使程序得出
正确的结果。注意:不得增行或删行,也不得更改程序的结构!
#include
intc1,c2,c3;
voidfun(longn)
{c1=c2=c3=0;
while(n){
switch(①)
{
case1:c1++;
case2:c2++;
case3:c3++;
}
n/=10;
②;
③;
共11页第
7
页
}
}
main()
{longn=123114350L;
fun(n);
printf(“nTheresult:n”);
printf(“n=%ldc1=%dc2=%dc3=%dn”,n,c1,c2,c3);}
三、程序改错题(共2题,每题15分,共30分)
1.给定函数fun的功能是:用选择法对数组中的n个元素按从小
到大的顺序进行排序。不要增行减行,也不能更改程序结构,找出
错误语句,在答题纸上写出错误语句和它应修改为的正确语句。
#include
#defineN20
voidfun(inta[],intn)
{inti,j,t,p;
for(j=0;j { p=j for(i=j+1;i {