问题 阅读理解与欣赏

阅读下文,完成小题。(17分)

燕子翩翩入云端

①燕子善飞,妇孺皆知。其飞行速度每小时可达120公里,堪称是鸟类大家庭中最善于飞翔的成员之一。燕子又具有高超的飞行特技:它们一会儿像箭一样贴墙飞行,一会儿又垂直地直冲云天;它们能够倏忽来个180度大转弯,或者翼不振,翅不摇,干脆在空中(   )几分钟。

②燕子老是在飞,似乎它们永不感到疲劳。可是有谁能想到这是它们自身的弱点造成的。燕子有两只很小很小的脚。瘦小的脚难以(   )燕子的身躯,使它们在地上站立时不能够灵活地保持平衡。因此,它们学会了一切都在飞翔中解决的本领:在飞行中吞吃猎获物,在飞行中饮水,甚至在喂自己的孩子吃饭时,也不是蹲坐在巢沿上,而是扑楞着翅膀,像直升机那样停留在巢前的空中,将食物一一喂给孩子们。

③那么,燕子的飞行本领为什么如此高强呢?原来,燕子的身躯呈流线型,两只翅膀既窄又长,每钞钟可以振动20次,它们的尾巴几乎是整个身躯长度的三分之一,这些对飞翔是特别重要的。燕子的身子特别轻巧,平均重量仅为20克,堪称是最轻量级的飞行员。

④燕子的繁殖能力很强。每年能产卵三次,每次三至七枚。这种很强的繁殖能力,符合燕子种群延续的需要。因为燕子是一种远距离迁徙性候鸟。例如,美国的亚种仓燕,它们往往到加拿大度夏,在阿根廷越冬,在由北往南或由南往北的长距离、不间隔断飞行中,有时有一半的燕子因精疲力竭而死于途中。

⑤燕子是一种勤劳的鸟。筑巢,“娶妻生子”,抚养孩子,整天忙得不亦乐乎。燕子又是个捕虫能手。一对燕子夫妇每天捕8000多只虫,除供自己所需外,大部分都用来喂养它们那些似乎永远也填不饱肚子的孩子们。燕子吃掉大量害虫,对农业、林业有很大好处,所以,燕子是益鸟,是人类的朋友。

⑥燕子又是一种很聪明的鸟。欧洲的燕子在向南方越冬飞行时,能够发现穿越阿尔卑斯山的隧道。它们不是飞越高山,而是成群结队地穿过这些隧道,向目的地前进,从而节约了飞行时间和自己的精力。

⑦世界各地几乎都有燕子,但各地的燕子种类不尽相同。据统计,全世界共有75种之多的燕子。在古老的传说里,燕子被称为幸福鸟,人们把它们看作吉祥的象征。

小题1:根据文意,①②段括号中应填的的词语依次是(    )(4分)

A.飞翔

B.支撑

C.滑翔

D.支持小题2:根据本文的介绍,概括燕子的生活特性。(4分)

⑴                ⑵             

⑶                ⑷             

小题3:燕子具有高强的飞行本领的原因有哪些?(3分)

答:                                                      

小题4:“这种很强的繁殖能力,符合燕子种群延续的需要”,这是因为(  )(3分)

A.燕子是一种远距离迁徙性候鸟。

B.它们往往到加拿大度夏,在阿根廷越冬。

C.它们要由北往南或由南往北的长距离、不间隔断飞行中。

D.在远距离的迁徙、不间隔断地飞行中,有时有一半的燕子因精疲力竭而死于途中。小题5:第一段中的“之一”能否除掉?为什么?(3分)

答案

小题1:CB

小题1:善飞;繁殖力强;勤劳(或“善捕虫”);聪明(或方向性强)

小题1:燕子的身躯呈流线型,两只翅膀既窄又长,每钞钟可以振动20次,它们的尾巴几乎是整个身躯长度的三分之一。

小题1:D

小题1:不能。燕子只是鸟类中最善于飞行的一种鸟,去掉”之一“,燕子就变成鸟类中唯一最善于飞翔的了,这与实际情况不符。

问答题
问答题

已知数据文件IN60.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab<cd,ab必须是奇数且不能被5整除,cd必须是偶数,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT60.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],己定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序;
#include<stdio.h>
#define MAX 200
int a[MAX],b[MAX] ,cnt=0; void jsVal( )
void readDat ()

int i;
FILE *fp;
fp= fopen ( "IN60. DAT", "r" );
for (i=0 ; i<MAX; i++)
fscanf(fp,"%d",&a[i]);
fclose(fp);
main()

int i;
readDat();
jsVal();
printf ( "满足条件的数=%d\n", cnt);
for(i=0;i<cnt;i++)
printf("%d\n",b[i]);
printf("\n");
writeDat ( );
writeDat ( )

FILE *fp;
int i;
fp=fopen("OUT60.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp,"%d\n",b[i]);
fclose(fp);