2022年自学考试《C语言程序设计》练习题及答案16
【2.46】下面程序的输出结果是____。
#include
main()
{int a[]={1,2,3,4,5};
int x,y,*p;
p=&a[0];
x=*(p+2);
y=*(p+4);
printf('%d,%d,%dn',*p,x,y);
}
A)1,3,5 B)1,2,3 C)1,2,4 D)1,4,5
【2.47】下面程序的输出结果是____。
void ive(x,n)
int x[],n;
{int t,*p;
p=x+n-1;
while(x
{t=*x;
*x++=*p;
*p--=t;
}
return;
}
main()
{int i,a[]={1,2,3,4,5,6,7,8,9,0};
ive(a,10);
for(i=0;i<10;i++)
printf('%d',a);
printf('n');
}
A)1 2 3 4 5 6 7 8 9 0 B)0 9 8 7 6 5 4 3 2 1
C)1 3 5 7 9 2 4 6 8 0 D)0 8 6 4 2 9 7 5 3 1
【2.48】下面程序的输出结果是____。
#include'string.h'
fun(char*w,int n)
{char t,*s1,*s2;
s1=w;s2=w+n-1;
while(s1
{t=*s1++;
*s1=*s2--;
*s2=t;
}
}
main()
{static char*p='1234567';
fun(p,strlen(p));
printf('%s',p);
}
A)7654321 B)1717171 C)7171717 D)1711717
【2.49】下面程序的输出结果是____。
#include
char*p='abcdefghijklmnopq';
main()
{int i=0;
while(*p++!='e');
printf('%cn',*p);
}
A)c B)d C)e D)f
【2.50】下面程序的输出结果是____。
#include
f(int x,int y)
{return(y-x);
}
main()
{int a=5,b=6,c;
int f(),(*g)()=f;
printf('%dn',(*g)(a,b));
}
A)1 B)2 C)3 D)前面三个参考答案均是错误的
【阅读程序题参考答案】
【2.46】参考答案:A
注释:语句'p=&a[0]'表示将数组a中元素a[0]的地址赋给指针变量p,则p就是指向数组首元素a[0]的指针变量,'&a[0]'是取数组首元素的地址。对于指向数组首址的指针,p+i(或a+i)是数组元素a<i>的地址,*(p+i)(或*(a+i))就是a<i>的值。
【2.47】参考答案:B
【2.48】参考答案:D
【2.49】参考答案:D
【2.50】参考答案:A
注释:变量g是指向函数的指针,(*g)(a,b)是调用指针g所指向的函数。
热门推荐:
自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》
推荐阅读: