单选题(20分)
1.在一个长度为n的带头结点的单链表h上,设有尾指针r,则执行()操作与链表的表长有关。
A 在单链表最后一个元素后插入一个新元素
B 在单链表第一个元素前插入一个新元素
C 删除单链表中最后一个元素
D 删除单链表中的第一个元素
参考答案:C
2.母牛的故事:有一头大母牛,它每年年初生一头小母牛,每头小母牛从第四个年头开始,每年年初也生一头小母牛。问:在n年的时候,共有多少头小母牛?()
#include<stdio.h>
int main()
{
long f[10];
int i,n;
scanf("%d",&n);
f[1]=1;f[2]=2;f[3]=3;//边界
for(i=4;i<=n;i++)
{
f[i]=______;//递推公式
printf("%d %ld\n",i,f[i]);
}
return 0;
}
A f[i-3]+f[i-1]
B f[i]+f[i-1]
C f[i-3]+f[i-2]
D f[i-2]+f[i-1]
参考答案:A
3.5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2人大两岁。问第2个人,说比第1个人大两岁。最后问第1个人,他说是10岁。请问第五个人多大年龄? ( )
#include<stdio.h>
int age(int n)
{
if(n==1)return (10);
else return _____;
}
int main()
{
int n=5;
printf("The fifth age is %d.\n",age(n));
return 0;
}
A age(n-2)+2
B age(n)+2
C age(n-1)+2
D age(n-1)
参考答案:C
4.已知一对兔子每一个月能生一对小兔子,而一对小兔子出生后第二个月就开始生小兔子,假如一年内没有发生死亡,则一对兔子一年(12个月)能繁殖成多少对?( )
#include<stdio.h>
int main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=12;i++)
{
printf("i=%d f2=%ld\n",i,f2);
f1=f2; f2=___;
}
return 0;
}
A f2*2+f1
B f1+f2
C f1*2+f2
D f2-f1
参考答案:B
5.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半再多一个。到第5天早上想再吃时,见只剩下1个桃子了。求第一天共摘了多少个桃子。( )
#include<stdio.h>
#define N 5
int main()
{
int n,s1,s2;
s1=1;
for(n=N-1;n>=1;n--)//倒数第二天开始
{
s2=___;//算出当天的桃子数
s1=s2;
}
printf("第一天的桃子数为%4d\n",s2);
return 0;
}
A s1-s2/2
B s1*2+1
C (s1+1)*2
D s1+s2
参考答案:C
答案仅供参考,要好好学习C语言啊。