问题 单项选择题

阅读下面短文,回答下列问题。
史学原以记述近现代事实为主要任务,任何时代的近现代史都是史学家的研究中心。史学容易触犯政治禁忌,成为文字狱和其他变相文字狱的主要对象。清代的文字狱几乎等于历史狱。朴学反是,以经学为中心,以小学(文字学)的训诂、音韵等为附庸,在其范围内的诸子、古史考证、地理、方志等等,都和政治现实没有直接关系。清代顺、康、雍、乾文网太密,文字狱大兴之后,史学因为首当其冲而大衰,考证学因为可以避祸而极盛,便是明证。由于中国封建社会历经的时期特别长,君主权威无限大,一切都被严密控制,学术界便越来越明显地出现这种极其反常的怪现象:现代史成为空白点,近代史成为薄弱点,古代史成为集中点,越古越厚,越今越薄,甚至有古无今,许多学者都成为“信而好古”者。这自然是由于统治者极端专制和极端愚民造成的,而学术界死气沉沉,学术家畏难避祸,以古代史为防空洞、避风港,也是无法辩解和否认的原因。明末清初许多伟大的史学家,在国变之后,毅然决然地都要集中余生精力,就亲身见闻去私著《明史》。《明史》就是他们的近代史。当时,从学术界老前辈黄宗羲、顾炎武、王夫之到万斯同、全祖望等大史学家,多专心致志私著《明史》,把私著《明史》看作高于一切的神圣任务。黄、万、全等清初史学家在中国史学史上的地位是难以比拟的,因为在二十四史中,只有《史记》敢于写到“今上”即当代史。在明代以前,如后汉初修的《前汉书》,唐初的官修《隋书》,元初的官修《宋史》等,均属隔代修史,而且由于官修,那是根本谈不上史德问题的。在清代以后,如民国初年以清朝遗老为主官修的《清史稿》,等于清王朝的奴才为清王朝的主子服务,也是可鄙的。只有明清间的一大群史学家敢于不惜牺牲、无所畏惧地私著信史实录,确为难能可贵,这是中国史学史上最值得大书特书的一点。由此可见史学是以同现实有密切关系的近现代历史为中心的,历史科学工作者必须是大智大勇者,缺乏勇敢精神,就不可能成为伟大的历史学家。

下列对本文内容理解正确的一项是______。

A.朴学研究不易酿成文字狱,因为朴学以经学为中心,以小学的训诂、音韵等为附庸,跟政治现实并没有直接的关系

B.清代的考证学极其兴盛,是由于顺、康、雍、乾大兴文字狱后,史学研究大大衰落造成的

C.明代以前,后汉初修的《前汉书》,唐初的官修《隋史》,元初的官修《宋史》等,其史学价值都在官修《清史稿》之上

D.黄、万、全等清初史学家在中国史学史上地位崇高,是因为他们私著《明史》的成就达到了司马迁《史记》的高度

答案

参考答案:A

解析: B项“史学大衰”不是“考证学极盛”的根本原因。C项二者不构成比较。D项“私著《明史》的成就达到了司马迁《史记》的高度”这句话有误,文中没有这样的信息。

问答题 简答题
问答题

使用VC6打开考生文件夹下的工程test31_3。此工程包含一个test31_3.cpp,其中定义了可以动态分配的字符串类,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类tstring的私有数据成员length和p,它们分别是血型的数据和字符型的指针,其中length表示一个字符串的长度。请在注释“//**1**”之后添加适当的语句。
(2)完成类tstring的构造函数,使length等于字符串m的长度,并申请由指针p指向的length长的字符型空间,将m所指的字符串复制到该空间。请在注释“//**2**”之后添加适当的语句。
(3)完成类tstring的成员函数strcopy(tstringn)的定义,该函数将对象n的值(包括字符串长度和字符串本身)复制给调用该函数的对象(对象n的字符串长度任意)。请在注释“//**3**”之后添加适当的语句。
(4)完成类tstring的友元函数strlink(tstring m,tstring n)的定义,该函数将可动态分配的字符串类对象m和n的字符串成员连接在一起(对象m和n的字符串长度任意),并返回该串。请在注释“//**4**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
程序输出结果如下:
hello the world!
源程序文件test31_3.cpp清单如下:
#include<iostream.h>
#include<conio.h>
#include <string.h>
class tstring

public:
//** 1 **
tstring(char *m)

//** 2 **
strcpy(p,m);

void strcopy(tstring n);
friend char *strlink(tstring m,tstring n);
;
void tstring::strcopy(tstring n)

//** 3 **
char *q;
q=new char[length];
strcpy(q,tstring::p);
q=strcat(tstring::p,n.p);
tstring::p=q;
tstring::length=strlen(tstring::p);

char *strlink(tstring m, tstring n)

int length=strlen(m.p)+strlen(n.p);
char *p;
//** 4 **
strcpy(p,m.p);
p=strcat(p,n.p);
return p;

void main ( )

tstring a("hello ");
tstring b("the world");
tstring c("!");
a.strcopy(b);
cout<<strlink(a,c)<<end1;