问题 问答题

常用字符串函数strcat(s1,s2)可将字符串s2添加到字符串s1的末端,但其使用必须保证字符串s1足够大,以便保存它自己的内容和字符串s2中的内容。请编写一个函数char*append(char*s1,char*s2),其可将字符串s2添加到字符串s1的末端,而且不受s1空间大小的限制。请利用常用字符串函数实现。
常用字符串函数说明:
strcpy(to,form):将form字符串复制到to字符串;
strcat(s1,s2):将字符串s2添加到字符串s1的末端,但必须保证字符串s1足够大;
strlen(s):返回字符串s的长度;
注意:部分源程序已存在文件test4_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数append的花括号中填写若干语句。
输出结果如下:
this is a string.
文件test4_2.cpp的内容如下:
#include<iostream.h>
#include<string.h>
char *append(char *s1,char *s2)


void main()

char *s,*s1,*s2;
s1="this is ";
s2=",a string.";
s=append(s1,s2);
cout<<s<<endl;

答案

参考答案:
char *append(char *s1,char *s2)
{
char *tmp;
int length;
length=strlen(s1)+strlen(s2);
tmp=new char[1ength+1];
strcpy(tmp,s1);
strcat(tmp,s2);
return tmp;
}

解析: 本题考查考生利用常用字符串函数编写新函数的能力。strlen返回参数含有的字符个数, strcpy是字符串复制函数,作用是将第二个参数赋值给第一个参数,strcat是字符串追加函数,可将参数2添加到参数1的末端,new是动态申请空间,返回指向该空间的指针。

阅读理解与欣赏

阅读《鱼我所欲也》,回答小题。

  鱼,我所欲也;熊掌,亦我所欲也。二者不可得兼,舍鱼而取熊掌者也。生,亦我所欲也;义,亦我所欲也。二者不可得兼,舍生而取义者也。生亦我所欲,所欲有甚于生者,故不为苟得也;死亦我所恶,所恶有甚于死者,故患有所不辟也。如使人之所欲莫甚于生,则凡可以得生者何不用也?使人之所恶莫甚于死者,则凡可以辟患者何不为也?由是则生而有不用也,由是则可以辟患而有不为也。是故所欲有甚于生者,所恶有甚于死者。非独贤者有是心也,人皆有之,贤者能勿丧耳。     

  一箪食,一豆羹,得之则生,弗得则死。呼尔而与之,行道之人弗受;蹴尔而与之,乞人不 屑也。万钟则不辩礼义而受之,万钟于我何加焉!为宫室之美,妻妾之奉,所识穷乏者得我与?乡为身死而不受,今为宫室之美为之;乡为身死而不受,今为妻妾之奉为之;乡为身死而不受,今为所识穷乏者得我而为之:是亦不可已乎?此之谓失其本心。

1、下面各句没有通假字的一项是(     )  

A. 故患有所不辟也

B. 万钟则不辩礼义而受之

C. 乡为身死而不受

D. 是亦不可已乎?   

2、下面句子翻译不正确的的一项是(     )   

A. 是亦不可已乎?此之谓失其本心。译文:这也不是可以的吗?这就叫做失去了他的天良。   

B. 所识穷乏者得我与?译文:所认识的贫穷的人感激我吗?   

C. 乡为身死而不受。译文:从前(为了“礼义”)宁愿死也不接受(施舍)。   

D. 贤者能勿丧耳。译文:(只不过)贤者能不丢掉它罢了。

3、选出对本文理解有误的一项(     )

A.作者在文中表达的主要观点是“二者不可得兼”。

B.首段用“舍鱼而取熊掌”的常情来比喻“舍生而取义”的道理。

C.第二段主要用对比的方法说明不应为物欲所获而丧失本心。

D.文中运用了不少排比和对偶句,使文章读起来节奏感强,富于文采和气势。     

单项选择题