单选题(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语言啊。