程序设计基础(C语言)进阶篇(山东联盟)第四单元测试

单选题(20分)

1.在一个长度为n的带头结点的单链表h上,设有尾指针r,则执行()操作与链表的表长有关。

A 在单链表最后一个元素后插入一个新元素

B 在单链表第一个元素前插入一个新元素

C 删除单链表中最后一个元素

D 删除单链表中的第一个元素

参考答案:C

2.母牛的故事:有一头大母牛,它每年年初生一头小母牛,每头小母牛从第四个年头开始,每年年初也生一头小母牛。问:在n年的时候,共有多少头小母牛?()

#include
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
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
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
#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语言啊。

你可能感兴趣的:(c语言,链表,数据结构)