问题 阅读理解

Early in the 16th century men were trying to reach Asia by travelling west from Europe. In order to find Asia they had to find a way past South Africa. The man who finally found the way from the Atlantic Ocean to the Pacific was Ferdinand Magellan.

Magellan sailed from Seville in August 1519 with five ships and about 280 men. Fourteen months later, after spending the severe (凌冽的) winter on the coast of Patagonia, he discovered the channel (海峡) which is now called Magellan Straits. In November 1520, after many months of dangers from rocks and storms, the three remaining ships entered the ocean on the other side of South America.

They then continued, hoping to reach Asia. But they didn’t see any land until they reached the islands off the coast of Asia. Before they arrived at these islands, later known as Philippines, men were dying of starvation. While they were in the Philippines., Magellan was killed in battle.

The remaining officers then had to get back to Spain. They decided to sail around Africa. After many difficulties, one ship with eighteen men sailed into Seville after leaving. They were all that remained of Magellan’s expedition (探险队).

小题1:Magellan Straits were discovered by Magellan ______.

A.in August 1519

B.in October 1520

C.in November 1520

D.in December 1520小题2:The number of the ships lost on the whole expedition was ______.

A.two

B.three

C.four

D.five小题3:Which of the following is NOT mentioned in the text?

A.Dangers from rocks and storms

B.Lack of fresh food and water

C.Severe winter in Patagonia

D.The death of Magellan

答案

小题1:B

小题2:C

小题3:B

文章讲述了麦哲伦的探索过程。

小题1:计算题。根据第二段前两行Magellan sailed from Seville in August 1519 with five ships and about 280 men. Fourteen months later,麦哲伦1519年8月出发,14个月后也就是1519年10月他发现了麦哲伦海峡。

小题2:推理题。文章开头说有5艘船,最后说只有一艘船返回,说明4艘在探索过程中没有了。

小题3:细节题。第二段第二行severe winter on the coast of Patagonia说明C正确。第四行dangers from rocks and storms说明A正确。第三段最后一行Magellan was killed in battle.

多项选择题 X型题
问答题


阅读下列函数说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。
【函数2说明】
本题中的函数encode()和decode()分别实现对字符串的变换和复原。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:
1.若已知字符串的当前字符不是数字字符,则复制该字符于新字符串中。
2.若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它自己复制到新字符串中。
3.若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字字符的面值为n,则将它的后续字符(包括后续字符是一个数字字符)重复复制n+1次到新字符串中。
4.以上述一次变换为一组,在不同组之间另插入一个下划线字符“-”用于分隔。例如。encode()函数对字符串26a3t2的变换结果为666_a_tttt_2
复原函数decode()做变换函数encode()的相反的工作。即复制不连续相同的单个字符,而将一组连续相同的字符(不超过10个)变换成一个用于表示重复次数的数字字符和一个重复出现的字符,并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符。
假定调用变换函数encode()时的已知字符串中不包含下划线字符。
【函数2】
int encode(char*instr,char * outstr)
{
char*ip,*op,c;int k,n;
ip=instr;op=outstr;
while(*ip){
if (1) &&*(ip+1){
n= *ip -’0’+ 1;
c= *++ip;
for(k=0;k<=n;k++)
(2)
}
else (3)
*op++ =’-’;
ip++;
}
if(op>outstr) (4)
*op=’\0’;
return op-outstr;
}
int decode(char * instr,char * outstr)
{char*ip,*op,c;int n;
ip=instr;op=outstr;
while(*ip){
c= *ip;n=0;
while(*ip==c && n<=10){ip++;n++;}
if (5) *op++=’0’+n-1;
*op++=c;
if(* ip==’_’,) (6)
}
* op=’\0’;
return op-outstr;
}