2019 年湖南省对口高考计算机C 语言试题
一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确
的,本大题共
3 小题,每小题
5 分,共 15 分)
2019
年 20.
已知“ int w=1,x=2,y=3,z=4; ”,则表达式“ w>xw:z>yz:x”的值是
(
)
A. 1
B. 2
C. 3
D. 4
2019
年 21.
若有定义语句“ int a[3][5]; ”,按内存中的数据存放顺序,
a 数组的第
10 个元素
是(
)
A. a[1][4]
B. a[1][3]
C. a[2][3]
D. a[2][4]
2019
年 22.
已知“ int a=1,b=2,c=3,x;”与“ x=(a^b)&c; ”,则 x 的值为
(
)
A. 0
B. 1
C. 2
D. 3
三、综合应用题(每小题20 分,每空 5 分,共 20 分)
2019 年 30.下面程序功能是统计 5 个同学成绩( 1~100 间的整数)中低于平均成绩的人数并输出,请补全以下代码。
#include “”
main()
{ int i,count=0;
①int score[5];
float ave=;
printf( “input 5 scores:\n
for(i=0;i<5;i++)
{
”);
②
scanf("%d",&score[i])
;
ave+=score[i];
}
ave/=5
for(i=0;i<5;i++)
if( ④score[i]
printf( “%2d”,count);
}
四、程序分析题(本大题共3 小题,共 75 分)
2019 年 32. 阅读程序,写出运行结果(每空
5 分,共 25 分)
(1)下列程序的运行结果是
① 0,1
#include “”
main()
{int i =0;
do printf( “%d,”,i);
while(i++);
printf( “%d\n ”,i);
}
( 2)下列程序的运行结果是
② 7
#include “”
int fun(char *s) {
char *t=s;
while(*t++);
return t-s;
}
main(){
char t[8]= ”123456 ”;
printf( “%d\n ”,fun(t));
}
( 3)下列程序的运行结果是
③ 56
#include “”
int fun(char s[]) {
int n=0;
while(*s<= ’9’&&*s>= ’0’)
{
n=10*n+*s- ‘0’;
s++;
}
return n;
}
main() {
printf( “%d\n ”,fun( “056a0”));
}
( 4)下列程序的运行结果是④f(n)=2
#include “”
int f(int n) {
if(n<=2)
return 1;
else
return f(n-1)+f(n-2);
}
main() {
int n=5;
printf( “f(n)=%d\n ”,f(3));
}
( 5)下列程序的运行结果是⑤the result is 2
#include <>
int f(char *s,char *t) {
int n=0,num=0; char *p,*r;
while(*s)
{
p=s;r=t;
while(*r)
if(*r==*p)
{r++;p++;}
else
break;
if(*r== ’\0 ’)
num+=1;
n++;s++;
}
return num;
}
main()
{
printf( “the result is %d\n ”,f(“aabdabc”,”ab”));
}
2019 年 33.
程序填空。按照题目要求,将正确内容填入答题卡相应位置,使程序完整。
(每
空5分,共
25 分)
下列程序的功能是求整数
n( 1~10)的阶乘的位数,例如:
5!=120 ,输出结果是 3。
#include “”
#include ""
#include ""
①
#include
“”
#include ""
#include ""
int fun(int n) {
int fun(int n) {
int fun(int n) {
int i,d=0;
int i,d=0;
int i,d=0;
double s= ;
double s=0 ;
②
double s=0 ;
for(i=1;i<=n;i++)
for(i=1;i<=n;i++)
s+=log10(i)
;
for(i=1;i<=n;i++)
s+=log10(i) ;
d=s