问题 问答题

阅读以下说明和C函数,回答问题1至问题3,将解答写在答题纸的对应栏内。  

   

    

 

【说明1】函数substring(constcharstr[],intindex,intlength)的功能是求出字符串str中指定序号index开始且长度为length的子串,并返回所取出的子串。以字符串"Chinatoday"为例,其第一个字符"C"的序号为1(而其在字符数组str中的下标为0),从序号5开始且长度为3的子串为"at"。【C函数1】

【问题1】函数substring中有两处错误,请指出这些错误所在代码的行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行(有注释时,注释可省略)。

答案

参考答案:

解析:

 本问题考查字符串运算及常见编程错误的处理。  求子串运算substring的原型如下:    根据题目说明,参数index为子串的位置序号(从1开始),length为子串的长度。显然,在函数substring中,首先应判断参数的合理性,即index应不小于1,length应不小于0,同时,从index开始可以得到长度为length的子串,即index+length-1应不大于最后一个字符的序号。因此,第6行的代码是正确的。  第7行申请动态内存块的语句是正确的。第9行的代码判断内存申请是否成功,其中,判断指针tptr的表达式tptr=0有错误,即误用了"="与"=",导致无论内存申请操作是否成功,在此都将tptr赋值为空指针,造成内存泄漏。第10、11行代码用于从字符串str中复制子串,代码是正确的。第12行的代码设置字符串的结束标志,为错误代码。由于所获得字符串的长度为length,其在动态数组tptr的下标从0开始,因此,下标length-1为最后一个字符的下标,tptr[length-1]='\0'会导致丢失最后一个字符,因此该语句中tptr的下标应为length。

材料分析题

材料三:2009年前三个季度我国主要贸易伙伴进出口总值表。

材料四:

(1)请分析甲图中A海域的形成原因。

                                                                                                                                                                

(2)描述甲图中B处7月份的洋流流向,说明其成因,并分析此时洋流的冷暖性质。

                                                                                                                                                                

                                                                                                                                                                

                                                                                                                                                                

(3)据材料三结合我国能源状况,分析我国派军舰护航,打击索马里海盗的必要性。

                                                                                                                                                                 

                                                                                                                                                                 

                                                                                                                                                                 

(4)索马里所在区域经济落后,自1991年以来一直战乱不断,沿海地区海盗活动猖獗,被国际海事局列为世界上最危险的海域之一。结合材料四,分析索马里所在区域经济落后的原因。

                                                                                                                                                                  

                                                                                                                                                                  

问答题