当前位置:首页 » 编程语言 » c语言换衣服
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言换衣服

发布时间: 2022-07-08 09:59:10

c语言中的if语句有哪些形式呢

、 第一种形式为基本形式:if

if(表达式) 语句

其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。

2、第二种形式为: if-else

if(表达式) 语句1;else 语句2;

其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。

3、第三种形式为if-else-if形式

前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,

一般形式为: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3;…

else if(表达式m) 语句m; else 语句n;

其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if

句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。

(1)c语言换衣服扩展阅读

在使用if语句中还应注意以下问题:

在三种形式的if语句中,在if关键字之后均为表达式。

该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如: if(a=5) 语句; if(b) 语句;

都是允许的。只要表达式的值为非0,即为“真”。如在: if(a=5)…;中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。

㈡ JAVA好学还是C语言好学

JAVA还是比较好学,在以后的求职过程也是应用比较多的。

一、企业需求大

多年来,Java作为一种高效的编程言语而广受欢迎,这也是其成为各种软件开发程序中最常用的言语之一,Java言语为开发人员供给了很多数据库,而且,Java与任何类型的软件程序兼容,安全且易于运用,因而,Java言语很受人们欢迎,而企业对Java人才的需求也在持续增长。

二、Java干流编程言语

自从Java编程言语于1995年诞生以来,已经整整25年了,有人表示Java将会被替换,但是,跟着其他言语对Java的需求逐渐增加,Java开发范畴取得了长足的前进,因而,Java开发人员的作业时机增加了,其间的首要原因是Java言语生态系统自身具有极大的自我可持续性,适应性和兼容性正。

三、Java是IT职业的中心言语

在曩昔的二十年中,Java已从计算机编程言语的第25位上升到最高方位,Java广泛的名誉在于其简单和高效的功能,例如Java言语清晰,易于调试,在大多数情况下,由Java操作的应用程序和网站具有很高的可伸缩性,而且能够处理比其他程序更多的数据。

四、Java拥有强大的发展路线图

Oracle仍将遵循强大的路线图致力发展Java。Oracle计划将该平台模块化,同时提高安全性和使用性能。这将使Java扩展更为轻松,可用于从大型软件系统到小型设备的各种设备规模,其中包括嵌入式物联网处理器。

JAVA优点

1、Java语言吸收了C++语言的各种优点,具有功能强大和简单易用两个特征。

2、Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

3、Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。

4、Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

㈢ C语言数组矩阵转换问题

#include<stdio.h>
#defineSIZE3
inta[SIZE][SIZE];

voidtransf(inta[SIZE][SIZE])
{
inti,j,t;

for(i=0;i<SIZE;i++)
{
for(j=i;j<SIZE;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
//printf("%d ",a[i][j]);
}
//printf(" ");
}
}

intmain(void)
{
inti,j;
printf("Pleaseentertheelements: ");
for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE;j++)
scanf("%d",&a[i][j]);

}
printf("ThenewMatrixis: ");
for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE;j++)
{printf("%d ",a[i][j]);}
printf(" ");
}
transf(a);
printf(" ThetransformedMatrixis: ");
for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE;j++)
{printf("%d ",a[i][j]);}
printf(" ");
}
printf(" ");

return0;
}

transf函数中 j 的循环由于从0~SIZE所以矩阵被转置了两次,得到的结果还是他本身,而且printf语句在transf函数中不能正确输出矩阵,把你的代码修改了。

㈣ 语言水平测试只有多选缺乏什么效度

语言研究中测试框架的类型、效度及方法论初探

中国社会科学网
2015-11-12 · 中国社会科学网官方账号
摘要:

文章对语言研究中的测试框架从形式和逻辑关联上进行了分类,即形式上分为单项测试、组合测试和多项测试,逻辑关联上分为逻辑标记型和逻辑索引型。在此基础上,文章分析了框架测试的本质及其效度,指出了影响测试效度的因素。最后从方法论角度论述了研究测试框架的意义。

测试框架; 形式类型; 逻辑类型; 效度; 方法论

作者简介:

刘宗保,安徽大学文学院。

相关信息:

【基金项目】本研究获安徽大学“博士科研启动经费”项目(编号:02303319-0228)资助。

(本文刊于《语言教学与研究》2015年第3期)

语言研究中常常需要对研究对象进行定性,在定性过程中,有几种可供选择的方法,比较常用的方法是运用定义法,直接说明对象的性质和特征。还有一种方法,是运用一些可观察的语言成分或框架,来测试鉴定对象的性质,如用“A和B→B和A”来测试“和”的介词和连词用法,通过测试则为连词,否则为介词。这类测试框架类似于化学中测试酸碱性的ph试纸,通过这些测试框架,我们可以按图索骥,明确测试对象的性质。

在测试中,有的是以词语形式出现的,如鉴定字;另一部分是框架的形式,如上面说的测试连词框架。我们认为词语测试与框架测试在本质上是一致的,都是对象的分布环境,而分布也是框架。所以下文的分析都统一称为“测试框架”。

一测试流程及类型

1.1 测试流程

所谓测试流程,是作者运用测试框架测试对象属性的操作步骤,其程序可以图示如下:

上图①-③可描述为:把需要测试的对象X,如“看”,输入到测试的框架Z,如“(来/去)+V自主+(O)+(来/去)+{祈使}①”中。如果能通过测试,如“去看!”,则它就具有Y(自主属性),即“看”为自主动词。

当然,上面的测试隐含了作者设计框架的过程,即作者首先需要对测试属性Y本身进行定性,如对“自主”的定性为:“能表示有意识的或有心的动作行为……即能由动作发出者做主、主观决定、自由支配的行为”,然后设计相应的框架Z,如上面所说的“自主”框架,再把相应的对象X输入到框架中进行测试。简言之,框架测试背后实际上隐含了由Y到Z再到X的过程。

1.2 测试框架的类型

测试框架可以从形式和逻辑关联两个角度进行分类。

1.2.1 形式类型

根据测试框架与测试属性之间的形式对应关系,可以把它分为:单项测试、组合测试和多项测试。

1.2.1.1 单项测试

指用框架测试属性时,框架和属性之间是一对一的,或者在测试某个属性时,有几个框架可供选择,这些框架之间是在一个层面上的,没有层次之分,可简化为:

Y。

如用来测试时体的“了/着”,分别对应着“完成/进行”这一组属性,它们与需要测试的属性之间是一对一测试的。同时测试“进行”体属性的可能还有“正在/在”等框架,但它们和“着”之间是平行的,不存在先后之别。

相似的测试如刘丹青(2002)提出的测试类指主语的谓语框架,即同“多、少、丰富、稀少”等表属性的谓语同现的主语,在指称上都是表类指的。这里需要测试的属性只有一个,即主语的类指性,但可供选择的测试词语不止一个,它们之间没有先后之别,是一个层次上的。

又如王灿龙(2008)通过“看来”测试“S(有生)非VP不可”是否为“言者视角”(看来他非去不可);张伯江(2002)通过副词“实实在在”测试施事行为的具体性(门坎儿实实在在绊了我一个跟头)、用状语“冲着我”测试施事行为的方向性(那狗直冲着我咬过来)、用“一阵阵”测试施事行为的可控性(风一阵阵把门吹的又开又关上)等。

1.2.1.2 组合测试

这类测试从宏观上看是指框架与属性之间是多对一的,即一个属性用几种框架来测试,并且这些框架之间有层次、先后之分。这类框架在测试时有两类:

第一类组合框架是“排外”的,即通过设计组合框架来排除属于测试属性边缘的成员,缩小测试对象的范围,从而准确锁定所要测试的属性,可简化为: 。

如张国宪(2006:19-21)鉴定性质形容词与非性质形容词时用了三个句法框架:“{最/很/比较/稍}+________”以及相应的两个次框架

。第一个用来鉴定典型的性质形容词如“大、小”等,第二个用来鉴定大量的非典型性质形容词,如“珍贵”可以进入“这张照片比那张珍贵”,第三个是用来筛选一些进入框架二的非性质形容词,如“宽阔”不能进入“宽阔大街”。

又如袁毓林(1998:106-107)分别运用“包孕测试”(即让待测试的句子作宾语:地铁直达苹果园→我知道地铁直达苹果园)、自指测试(通过在句子后面加上“……的时候/地方”等变成自指偏正词组:王师傅用芹菜包了饺子→王师傅用芹菜包了饺子的消息)和删除测试(把基础句中不影响句子合格性的介词结构删除:妈妈在院子里晾衣服→妈妈晾衣服)等形式操作来确定原子句。其中前两个测试用的测试框架是“宾语/定语从句”,是对基础句的筛选,最后一个是把基础句中与论元关系不大的成分删除,成为原子句。

第二类组合框架是“对内”的,即通过设计组合框架来筛选测试属性内部的次类成员。有些测试属性有下位类型,且这些下位类型之间也处于上下位关系,因此需要设计不同的框架来逐一进行筛选。从宏观上来说,这类组合框架都是测试某一个上位属性,只不过为了筛选其不同次类的下位属性而进行了组合,可简化为:

如邵敬敏等(2001)在测试动态名词的次类时,依次运用了“一+动量词+名词”、“名词+方位词(之前/之后)”和“N正在进行中”三个句法框架,分别筛选了其中的“动量动态名词”、“时间动态名词”和“进行动态名词”。这三类名词都是“动态名词”的下位类别,同时它们之间也分别是上下位关系,即时间动态名词是动量动态名词的一部分,进行动态名词是时间动态名词的一部分。

1.2.1.3 多项测试

前两种测试可以说是单项的,即只针对某一个属性进行测试,形式上是一对一或多对一,但多项测试则是指一对多的,即一个框架有可能被用来测试不止一种属性,可简化为:

典型的如运用进入从句的能力来测试句法结构的性质:石毓智(2000:183)根据能否进入从句(定语从句)的能力测试句法结构的标记性,而袁毓林(1998:106-107)则运用从句来测试最小的论元结构(原子句)。

1.2.2 逻辑类型

根据测试框架与测试属性之间的逻辑关联,可分为逻辑标记型和逻辑索引型。

1.2.2.1 逻辑标记型

该类型是指测试框架是测试属性的标记,两者之间的逻辑关系得到了较为充分的论证,呈现一一对应的逻辑关系。

如用“了/着”等来测试对象的“完成/进行”体范畴;用“不/没”来测试“连续”和“离散”这对语义范畴(徐通锵1997:447-452;石毓智1999:31-36)。

“了/着”的时体属性在学界已经得到较为充分的论证②,即分别是“完成/进行”体范畴的标记,因此能通过它们的测试,自然就具有了相应的时体属性。“不/没”作为“连续”和“离散”范畴的语义标记,徐通锵和石毓智等都有较为充分的论证,因此,“不/没”与“连续/离散”属性之间也是一一对应的逻辑关联。

标记型测试框架并不是很多,这是因为该类测试框架往往是语言中某些语法、语义范畴的形式标记,如“了/着”等是汉语体范畴的形式标记,“不/没”是“离散/连续”范畴的形式标记,但像这类论证较为充分的标记在汉语研究中并不多见,还有哪些类似的形式标记则有待研究者的进一步挖掘和论证。

1.2.2.2 逻辑索引型

该类测试框架可以视为测试属性逻辑推导的一个线索,但不一定是唯一的线索,两者之间的关系不是固定的。

如上文所举王灿龙(2008)通过“看来”来测试“S(有生)非VP不可”是否为“言者视角”,作者对“言者视角”的定性是“表示说话人的主观推断”,而“看来”正蕴含了主观推断的意思,因此能加“看来”的句子也就具有了“言者视角”。

但我们知道,蕴含主观推断的词语不只“看来”一例,还有“我认为/我觉得”等形式,但作者在这里只选了这一例,其他蕴含主观判断的词语并未充分论证。

又如张伯江(2002)用状语“冲着我”测试施事行为的方向性(那狗直冲着我咬过来)。这里选用“冲着我”作为测试施事行为的方向性,从词语本身的语义来看,“冲着我”确实具有方向性特征,但从另一个角度来说,具有方向性特征的词或短语除了“冲着我”,还有诸如“向着我/对着我”等形式。

从这两个例子我们可以看出,逻辑索引型的测试框架往往并不具有唯一性,或者说并不是唯一能够逻辑推导出测试属性的,还有其他隐含的框架成分。

逻辑标记型和索引型框架的共性是都基于测试框架本身蕴含所要测试的属性,区别在于蕴含的程度上有所不同,即标记型要强于索引型。

1.2.3 小结

当然,测试框架还可以从其他角度进一步划分,如从测试框架的语言形式来说,有的是虚词性的,如“了/着”或者“{最/很/比较/稍}+________”类;有的是实词性的,如“一阵阵、丰富、稀少”等;有的是句法成分或结构形式,如包孕测试(即让待测试的句子作宾语)或定语从句等。因此,本文对测试框架的分类并不求面面俱到,而是列举其中的典型类型进行分析。

二测试框架的本质及其效度

2.1 测试框架的本质

作者之所以设计一定的测试框架进行测试,其背后的理据在于:测试框架本身能够逻辑地推导出相应的属性,两者具有逻辑蕴含关联,即测试框架是属性的充要条件。

具体来说,在运用框架测试时,测试框架与测试属性之间的逻辑蕴含关联主要有两种形式,一种是“相容”关联,即测试框架本身的分布语义与测试属性的语义是相容的。如马庆株(1988/2004)用

来测试动词的“自主”与“非自主”。作者认为鉴定自主动词的框架提供了含自主义的动词出现的典型环境,这个框架的意义是“表示请求、劝告或命令别人执行说话人的某种意图,或者表示说话人的计划、打算”,而“自主”的属性为“动作发出者主观决定、自由支配的行为”。可以看出,这一框架的语义与“自主”属性的语义是相容的。

另一种是“对立”关联,即测试属性与框架之间的语义是对立的,这种测试可以通过否定框架义来反证测试属性。如金立鑫(2003)运用疑问测试法来测试“起始”体的“S了”(句尾“了”)的时体属性,在检验句子是否具有“现在起始”的时体特征时,使用了“还+疑问语气”的测试框架。例如:

(1)A:他还是医生吗? B:他不是医生了。

运用这一框架是基于“现在起始”体的基本意义和“保持原有状态”(“还”的框架义)相对立。通过否定“还”的框架义,从而肯定了句尾“了”的“现在起始体”属性。

当然,这两种逻辑关联形式本质都是一样的,都是基于测试框架蕴含相应的测试属性。

2.2 测试效度的确定与举例

效度(validity)是教育测量学中的概念,指一项测试测量到了想要测量的东西的程度(关丹丹等2010),反映的是测量的准确性和有效性。语言研究中,用测试框架测试对象属性这一过程也可以看成是一种测量,因而也存在测试效度问题,即运用测试框架对测试对象定性的有效性,效度越高,测试框架对对象定性的有效性就越强。

效度高低的确定主要基于框架对测试对象的测试是否“对内具有普遍性,对外具有排他性”,即所有通过Z的X是否都具有Y。

高效度的测试应该是能通过框架测试的对象都具有所要测试的属性,即对内具有普遍性。而低效度的测试则会出现有些通过框架测试的对象不具有所要测试的属性,即对外不具有排他性。

理想的测试应该是具有较高效度的,但在实际研究中有的框架在测试过程中效度并不高,因而影响了结论的可信度。我们先来看看研究中的实例:

针对这一测试框架,邢福义(2006)指出,这一框架与双宾句没有必然联系,对于认定双宾句这一框架不足为据。因为它不仅容纳了“吃了他三个苹果”这类句式,还容纳了复指结构如“他一共接待了学生三千多人/那一带一共聚集了胡宗南十万军队”这样的结构。

在此基础上,邢先生提出了“归总性数量框架”:“总共/一共……多少……”(如“一共吃了他三个苹果”)和“只/就……多少……”(如“只吃了他一个苹果”),即与这一框架语义关联最密切的应该是“归总性”这一语义属性。

施春宏(2004)则认为,如果笼统地把能否进入从句作为测试句式标记的框架,就会把“把”字句、“被”字句等都纳入进来。同时,根据能否进入从句这一单一测试框架严格区分汉语元标记结构和有标记结构有很大困难。他认为可以通过组合标准、使用频率、分布等标记理论的参数来确定句式的标记度,即与句式标记度语义相关度更大的是标记本身的一些参数。

石定栩(2009)对用“什么”和“怎样”来测试谓词性宾语的属性表示怀疑,认为“什么”和“怎样”的对立与词类地位无关,而是同提问对象的句法地位相关,能够用“怎样”提问的谓宾实际上是宾语小句的谓语,本身不具有宾语的地位,而真正的谓词性宾语只能用“什么”提问。

上面几个研究实例的测试效度并不理想,主要表现为有的通过测试框架测试的对象具有其他属性,即“通过Z的X具有‘-Y’”。如通过数量框架“总共/一共……多少……”测试的对象包含了非双宾句的复指结构,通过从句测试的对象包含了有标记句式“把”字句等。这就引起我们的思考,是什么因素影响了框架测试的效度?如何才能提高测试效度?

2.3 测试效度的影响因素与测试效度的提高

测试效度的高低表面上反映的是测试框架本身设计的合理性程度,但实质上反映了整个测试中相关因素的相互影响。从前面的分析可知,测试过程涉及测试属性、测试框架和测试对象这三个因素。

第一,测试属性内涵的明确性。这是提高测试效度的前提。对于设计测试框架来说,如果测试属性本身的内涵比较模糊,就会影响其外延,那么在测试时就可能因为测试对象处在外延的边缘,从而影响测试框架的设计和测试效度。

如对“吃了他三个苹果”这一句式的测试,由于这一测试对象本身不在典型的“给予”类双宾句式范围内,学界对“非给予”类句法格式是否是双宾句的认定具有不确定性,因此在设计框架时,并不一定能够有效地测试这种边缘性或者并未给予对象清晰的定性,自然影响了测试的效度。

第二,“测试框架”论证的合理性。实际上这和第一个因素是一个问题的两面,因为对于测试框架来说,弄清“测试属性”的实质就是寻找与其具有逻辑蕴含关联的形式标记,即测试框架。但在有些研究中,所设计的测试框架虽然有可能与测试属性之间具有某种关联,但两者往往并不具有逻辑蕴含关系,究其原因,就是这些框架和测试属性之间的关联并未经过较充分和合理的论证。

金立鑫(2007:386)提到了语言描写中的“框架”法,指出:“研究者可以根据不同的研究目的来设计不同的测试框架。这也可以看作是一种实验性的操作。当然,前提是这些被研究者设定的测试框架具有充分的合理性,其本身要经过合理的论证。”

上面讨论框架类型时曾提到逻辑标记型框架,这些框架是经过较为充分论证的,但在实际研究中,这些框架是比较少的,很多框架是临时和特设的,即没有得到充分的论证。而没经过充分论证的测试框架,在测试时出现的结果就是其与测试属性之间没有必然关联。

如石定栩(2009)所言:“朱德熙(1982)用‘什么’和‘怎么样’的对立来区分谓词性宾语,是基于疑问代词在语义上和句法上的对立,不过,疑问代词与提问对象之间的关系非常复杂,并非‘什么’与‘怎么样’之间的对立所能准确描述。”也就是说,测试框架“什么/怎么样”本身与哪些属性之间存在着逻辑上的推导关系,需要更加充分的研究和论证,只有在此前提下,才能提高测试的效度。

第三,“测试对象”的合法性。具体而言就是要确定测试对象是否为一个合格的形式。因为测试效度不高有时不一定是测试框架设计的问题,而有可能是测试对象本身并不是一个合格的形式。

比如对句式标记度的测试,石毓智(2000:187)在论证“把”字句为有标记结构时,举例为“换衣服的时间太长了”不能说成“把衣服换的时间太长了”,即说明“把”字句不能进入定语从句,从而证明其为有标记句式。但施春宏(2004)认为这个例子中的“把衣服换的时间”本身就不是合格句子,如果换成合格的句子,同样可以进入从句,如可以说“你把衣服换下来的时间太长了”。因此,在用框架进行测试时如果没有考虑测试对象的合法性这一因素,显然会影响测试的效度。

这三个因素是影响测试效度较为显着的几个方面,我们的分析主要是基于测试效度不高的几个实例来探讨。在实际研究中可能还有其他因素会影响测试的效度,这需要对更多框架测试进行研究才能了解得更全面。

基于现有的研究,从理论上来说,要提高测试的效度并设计较为理想的测试框架,需重点考虑上述几点因素,简言之:

第一,在设计测试框架时,首先要弄清测试属性本身的内涵,即测试属性是否得到了较充分的研究和认定,其外延是否清晰。

第二,在测试属性研究较充分的前提下,寻找与之具有逻辑蕴含关联的形式标记,即测试框架,在这一过程中,测试属性与框架的关联须经过充分而合理的论证。

第三,在设计测试框架时,可根据测试属性的特点设计相应类的测试框架。比较各类测试框架的效度,从形式类型上看,组合测试的效度在一定程度上强于单项或多项测试,因为组合测试实质上是一种筛选机制,可以较为精准地锁定所要测试的属性。

从逻辑类型上看,逻辑标记型要强于索引型,因为标记型的测试框架本身经过了较为充分的论证,而索引型的测试框架临时性比较强,测试效度有待充分论证。

之所以从理论上来提出这三点,是因为很多测试框架是特设的,所要测试的属性和测试对象处在语言的不同层面,类型不一、目的不同,因而很难用一个较为普遍的规则进行正向约束,只能从低效度的测试来推导影响测试效度的因素,从而逆向说明如何提高框架测试的效度。

三方法论启示

语言研究中的测试从广义上还包括各种类型的变换、删除、添加等实验性操作,我们这里只讨论具有显性框架形式的测试,或者说是一种狭义上的测试。

框架测试本身是一种方法,因此对这一问题的研究具有重要的方法论意义。陈保亚(1999:40-41)在对“鉴定字”的分析中指出:“鉴定字在根本上说是在语义分布上确定词类,因为用‘很’鉴定形容词而不用‘不’,根据的是意义标准,用‘很’鉴定的词有程度区别。从另一个角度也可以看出鉴定字涉及到意义。我们最初一步是用‘不’区分出两类词,为什么不用‘二’来区分?实际上可以和‘二’结合的是一类词,不可以和‘二’结合的是一类词。显然我们心目中大体已经有了体词和谓词的对立,而用‘不’又恰好可以把体词和谓词分开。那么心目中的体词和谓词的对立的根据是什么?这种机制是非常复杂的,是在长期运用母语的过程中获得的,有形式的因素,也不排除意义的可能。……”

这一观点与我们对测试框架研究的目的不谋而合,即试图探索人们运用测试框架背后的机制,挖掘测试框架和测试属性之间具有的语义和心理理据,从而提高测试的效度。当然,这一方面有待于汉语本体研究的深化,从而更深入地了解语言中相关句法语义的内涵及其形式标记,另一方面也需要对更多测试框架进行深入系统的梳理和分析。

注释:

①{祈使}表示“祈使语气”,这一框架为马庆株(1988/2004)所设计的测试自主动词的框架,原文的测试框架有两大类,本文在这里进行了合并。

②“了/着”作为“完成/进行”体范畴的标记在学界还有一定的争论,主要原因是对汉语中有没有体范畴有不同意见,或者在表达相应范畴意义时,有隐现情况或交替形式。吴福祥(2005)认为“完成/进行”体不是汉语中的强制性语法范畴,但我们认为“了/着”作为这两种范畴的标记是无异议的。在这一基础上,“了/着”作为测试“完成/进行”体的框架(鉴定词)研究应该是相当充分的。

参考文献:

[1]陈保亚 1999 《20世纪中国语言学方法论》,山东教育出版社。

[2]关丹丹、车宏生 2010 现代效度理论与效验方法述评,《心理科学》第3期。

[3]金立鑫 2003 “S了”的时体意义及其句法条件,《语言教学与研究》第2期。

[4]金立鑫 2007 《语言研究方法导论》,上海外语教育出版社。

[5]刘丹青 2002 汉语类指成分的语义属性和句法属性,《中国语文》第5期。

[6]陆俭明 2002 再谈“吃了他三个苹果”一类结构的性质,《中国语文》第4期。

[7]马庆株 1988 自主动词和非自主动词,载《汉语动词和动词性结构·一编》,北京大学出版社,2004年。

[8]邵敬敏、刘焱 2001 论名词的动态性及其鉴测方法,《汉语学习》第6期。

[9]施春宏 2004 汉语句式的标记度及基本语序问题,《汉语学习》第2期。

[10]石定栩 2009 谓词性宾语的句法地位,《语言科学》第5期。

[11]石毓智 1999 《肯定和否定的对称与不对称》,北京语言文化大学出版社。

[12]石毓智 2000 《语法的认知语义基础》,江西教育出版社。

[13]王灿龙 2008 “非VP不可”句式中“不可”的隐现,《中国语文》第2期。

[14]吴福祥 2005 汉语体标记“了、着”为什么不能强制性使用,《当代语言学》第3期。

[15]邢福义 2006 归总性数量框架与双宾语,《语言研究》第3期。

[16]徐通锵 1997 《语言论——语义型语言的结构原理和研究方法》,东北师范大学出版社。

[17]袁毓林 1998 《汉语动词配价研究》,江西教育出版社。

[18]张伯江 2002 施事角色的语用属性,《中国语文》第6期。

[19]张国宪 2006 《现代汉语形容词功能与认知研究》,商务印书馆。

语言迟缓训练100个项目
app测试八大测试流程
测试工作的七个步骤
语言研究的三大中心
符合性测试的意义
c语言测试框架用法

㈤ 编程计算1-1/3!+1/5!+....+(-1)^n-1/(2n-1)!,

#include<stdio.h>
#include<math.h>
int jc(int n)
{ int i,s=1;
for(i=2;i<=n;i++)
s*=i;
return s;
}
void main()
{
double s,t,n;
int x;
printf("please input n:");
scanf("%lf",&n);
x=1;
s=0;
do{

t=1.0/jc(x);

if((x-1)%4==0)
s+=t;
else
s-=t;
x=(x+2);

}
while (x<=(2*n-1));
printf("s=%lf\n",s);
}

阶乘的函数需自己定义,还有就是你的程序最后一项是2n-1,不是n-1;总之你可能还是刚学c语言不久的吧。还有好多错误。刚入门还是有点难的,以后就好了的。

㈥ c语言程序设计教程(新手的)

最好的方法就是从书店卖一本C语言的入门教程。

****************************************************

《The C Programming Language》的最新版是第二版,但是包括此书作者及中文版译者在内的许多人士都认为此书不是一本入门教材,不适合初学者阅读(此书前言中有这一表述),建议选择其它书籍, 如《C语言教程》

****************************************************

《C程序设计》(第三版)

http://www.wl.cn/1120321

㈦ c语言里面.\115什么意思

表示大写字母M
c语言中“\”是转意衣服,类似的还有换行“\n”等等。
单个的115表示整型数字115;"115"表示一个字符串,包含三个字符;而'\115'表示ASCLL码为115的一个字符,该字符是M。

㈧ C语言题目,大一题目,有旋转摆花之类的,大约十题,题目在word文档里,解压一下,不要用指针 ,题

作为大一大学生,作业要靠自己独立完成。

根据一些同学的提问,我归纳了一下。新生入学报到时主要要准备如下东西、要注意如下事项:
1.相关证件。包括:身份证、录取通知书(入学通知书)、户口迁移证、党团组织关系证明(介绍信)、一寸登记照若干张(可以多带几张,以备它用),等等。这些很重要,一定不要忘记。另外,把父母、爷爷奶奶即各个近亲的姓名、出生年月、工作单位、职业和职务搞清楚,填下来,到学校要填各种表格,有的表格需要这些信息。
2.钱和卡。上学要交学费和住宿费(分别为每年4500-500元与1000元左右),合计要6000左右(个别专业可能要高些,如艺术类专业)。因为新生出门较少,没有什么旅途安全经验,建议少带现金(但千把块钱还是要带的,以备一些不时之需)。可以在家中先办一张信用卡或储值卡用于交学杂费等。有的学校会给你寄一张卡,让学生把钱存在其中,你可以用这张卡,也可以不用。如果家庭条件还可以,办一张信用卡,把它关联到父母亲的储值卡(如工资卡),每月刷卡后直接从父母亲的卡中扣款,这样的好处是方便、安全。但如果你不想让父母亲知道你的消费情况,可以自己在老家办一张储值卡(让父母亲往里冲钱),然后办一张信用卡与之关联。也可以到学校再办储值卡与信用卡,但这样你父母亲异地往你的储值卡打钱时要付手续费。
3.一般情况下,各个学校都要配发一些学习和日常生活用品,这些东西不是无偿给你的,都要你花钱购买。学校发的物品质量都很次而且贵,建议学校发的东西如果可以不要就尽量不要,能自己买的就别买学校发的,有些生活必需品则可以在离开家时先配好,免得到学校后由于人生地不熟不好买。
4.衣服被褥。你平常穿的衣服,春夏秋冬各季的,都要带,除非学校距你家乡很近或者父母亲有机会出差来学校给你带东西。内衣和袜子至少要两三套,各季的外衣至少也要两套。如果你现在生活的地方和要去上学的城市的地理气象与生活环境是否相似,那么准备的东西和在老家差不多;如果相差太大,就要带些那个城市需要的衣服(例如,如果你生活在北方,但上学的城市在南方,那么太厚的保暖内衣裤就可以不带了)。被褥也是这样,夏天去学校,可以带一床薄被(如毛巾被),厚被子可以自己带,也可以到学校后再买。席子可以到学校根据床宽购买合适的,床单和枕头(枕套)可以自己带也可以到学校再买。
5.洗漱生活用品。要带牙膏牙刷、毛巾、漱口杯、香皂肥皂、洗发水、梳子、手机(看家庭条件)等,以便在途中和到校后就能使用。男生要带剃须刀、女生要带各种女性用品和洗面奶等。至于洗脸盆、晒衣架、拖鞋、雨伞、水瓶、指甲剪、剪刀、小刀、台灯之类的东西就不一定要带了,有的学校会发,就算不发自己买也不贵(这些生活用品到了学校买也很方便,而且到时候和舍友一起去买还能快速缩短距离)。条件可以时,可以带个照相机,为自己和同学照照相,也是人际交流的一种很好方式。
6.学习用品。可以带几支水笔、本子、字典、词典(英汉汉英词典等,包括功能强大的电子词典)、书包(背包)。如果学校没有不允许,你家庭条件许可的话,可以带笔记本。但最好不要带,尤其是当你迷恋上网或者玩游戏的时候,带笔记本会影响你的学习和生活以及和同学的正常交往。另外,还可以预备一些生活中用到的药或创可贴之类,虽然不一定会用到它们,不过等需要的时候随手可以找到也很方便。
7.旅行箱。如果家庭条件不是特别好得钱花不了,不需要买太贵的,毕业后可以买更好的。箱子可以大一些,能装下自己的衣服及平常不是常用的生活用品和学习用品即可。但不要过分大,免得不好携带,到学校在宿舍也不好放。一般以80公分左右长、50-60公分宽为佳。
8. 如果可以的话,带点家乡的特产,不是一定要去给老师,而是给舍友或班上同学吃,毕竟你有四年的时间和他们在一起,越早熟悉越好。
10.如果坐火车的话,可以凭录取通知书(入学通知书)享受学生票优惠。
11.一点小建议:大学学习勇攀高峰,加入社团量力而行,大学社会实践多多益善,尊敬老师有难必问,同学相处宽容大度,大学恋爱不鼓励也不反对。
12.入学测试和体检。有的大学在新生报到后一段时间内,要组织几门文化课的新生入学测试,对考试成绩和高考成绩有较大出入者要进行重点核查。如果你考试没有作弊,不要有任何担心。考试范围和难度不会超过高考,考得好坏无所谓。体检也很容易过,除非你有不符合入学要求的重大疾病而且在高考体检时又使了花招,一般是不要紧的。只要你高考时正常体检、正常考试,这两项都没有问题,现在可以放心玩!
当然还有另一种入学考试,那是为各种分班做做准备的,比如英语成绩好的学生分到英语快班。
13.新生军训。大学新生要进行军训,军训一般只有两个星期。按照《国防教育法》的规定,组织学生进行军训,这是贯彻国防教育法的具体行动,是推进素质教育、为国家和军队培养造就高素质国防后备力量的重大举措。参加军训可以增进同学友情,应该积极参加。如果身体条件不许可,应该尽早跟辅导员或班主任讲清楚,以免发生意外。
14.宿舍是在你去之前就安排好的,这个不用担心。住宿条件有好有坏,不要太拘泥于这个,主要是要和同舍同学友好相处。不要以为住宿条件差就不能适应,人的适应性是非常强的,而且不太好的生活条件对你以后的成长和工作、生活很有好处,不管你的家庭是多么富有!
15.专业不理想,调换专业。一般学校进校一年后都可以调换专业。调换专业有两种情况,一种是因为在原专业很难学下去,学校会帮助你换一个好学一点的专业(但一般不是很好的专业,也不是热门专业);另一种是你想换一个你心仪的其它专业,这种时候一般都要由你要转入的专业所在院系进行资格考试,考试合格才能转入,有的学校还要交一笔费用。

㈨ 谁能指导下我

如何学习 C++
如何学习一门较复杂的编程语言
前言

呵呵,大家好,我又来了,其实我天天在,大多数时候总是回答一些套话,比如"同意上传。文件名:......文件夹:......",或者"确认完毕,加1分,谢谢支持"之类,大概传过书的朋友都见过吧。

前几天,心血来潮,写了一篇如何选书的帖子,写完以后,手痒难忍,不知哪条虫又醒了过来,趁热再来一篇,谈谈如何学习 C++,总题为"斑竹观点",不知道以后还会写什么,也许就这两篇打住,也许会洋洋洒洒写成系列(吹牛不上税吧?税务局别来找我呀),那就要看我有没有心情和那么多闲工夫了,至于别人想不想看,爱不爱看,我可管不了,自己痛快就行啦。你自己愿意恶心自己,就往下看,哈哈......

闲话少叙,书归正传。话说在很久很久以前,C++ 红红火火,风头正劲,天下多少英雄豪杰为其马首是瞻......

(呸,废话连篇,看西红柿......)哇,不好,我躲,我躲,我躲躲躲......

惨,掌声没有,烂西红柿来了一筐,等我去换身衣服先......

......西服换成马褂,咱接着来。睡觉的醒一醒啦,快看呀,窗户外面下刀子了!

自从 Java 问世以来,C++ 阵营人气日下,唉,人的本性就是喜新厌旧,最近又新出一小妞,叫什么 C# 的,搅得人心惶惶,明明是 Java 的克隆加变异,她干妈(那个叫什么 M$ 的)非要和人家 C++ 攀亲戚,说是 C++ 亲生,和 Java 对着干。唉,这世道,乱套了,不知道这人心都是怎么长的。

我不怕你们的西红柿了,我准备了纸糊盾牌,嘿嘿,除非本·拉登亲自出马......

但是,C++ 周围总还是有一群誓死效忠的追随者长伴左右,任你风吹雨打,我自岿然不动。C++ 把纯粹与高效,精美与诡异完美地,近乎奇迹般地集于一身,吸引着那些喜欢寻幽揽胜的探险家们。当然 C++ 并非不实用,但我今天不想谈 C++ 的工业应用(那是我的工作,俗),超脱起来,来看看纯粹的 C++。如果你想为了找工作而学习 C++,我劝你就此打住,别往下看了,我帮不了你,瞎耽误工夫,我也劝你别学 C++,改行 Java 吧,或者 VB 也成。如果你是一个专职程序员,下一个项目是关于 C++ 的,而你还不会,想临时抱抱佛脚,你也别看了,我想你的公司会组织你们集体去抱的,你们可以针对你们的项目学习一个够用的子集大概就可以了。我这篇帖子不是佛脚,不讲如何速成,我只是想针对现在众多想学习 C++ 却又无从下手的学生提出我自己的建议。你可以不同意我的观点,那么请准备好西红柿,等我讲完了,我给你们时间扔(事先声明,我要好的,烂的不要啊)。

好了,如果你的耐心已经让你忍耐至此,而且还想忍耐下去的话,我希望你能忍到最后,再也没一句废话了,你没有理由看完上面的废话不往下看。

一、什么是 C++?

一看我的标题,大概又有人举西红柿了,您慢着点儿,别闪了腰或岔了气!很多人不知道这个问题的正确答案。如果你还认为"C++ 是 C 的超集",那你可是大大落伍了,这是二十年前的答案了。如果你说"C++ 是一种面向对象的程序设计语言",哈哈,沾边,但也不对,在98年 C++ 国际标准公布以后尤其不对!

C++ 之父 Bjarne Stroustrup 曾有一篇论文 Learning Standard C++ as a New Language,《程序员》杂志2001年4月号有陈崴的译文《将标准 C++ 视为一个新语言》,把 C++ 和它那个好像还不是右派的爹彻底划清了界限。文章对 C 和 C++ 在 Complexity(复杂度)和 Efficiency(效率)两方面做了比较,指出 C++ 已经完全不同于 C 的观念,并对如何学习标准 C++ 提出建议。有兴趣的朋友可以看看,很有启发性。

C++ 发展至今,其历史已足够写一本书了,Bjarne 的经典名着 The Design and Evolution of C++,详细记述了 C++ 设计和发展过程中(1979-1994)的种种考虑与妥协,它不讲 C++ 是什么样的,它只讲 C++ 为什么会成为这样。不建议初学者去看这本书,实在是咬不动,我当初已经看得头破血流了,而且这本书只讲到1994年为止,多少有些过时了,如果你已比较好地掌握 C++,并想了解其历史,看看倒是有些参考价值。

C++ 虽然起源于 C,语法也比较相似,其迅速成功并成为主流很大程度上也归功于 C 的成功。但经过多年的发展,其最精妙,最有吸引力的部分正是不同于 C 的那一部分。Koenig & Moo 夫妇在为想成为更好的 C++ 程序员的人提出的3条建议中第1条就是"避免使用指针",你相信吗?指针正是 C 的核心呀。C 的宏、位运算、结构、联合、数组、强制类型转换、指针,在 C++ 程序中都应该尽量避免(在少量涉及底层的程序设计中例外),C++ 语法上强调的是类、对象、模板、标准库、引用、异常和 const 关键字,思想上强调的是面向对象和泛型。

在 Proceral Programming, Object-Based Programming, Object-Oriented Programming, Generic Programming 中,C 仅仅支持第一种,而就是在 Proceral Programming 的程序中,如果使用了标准库,一个 C++ 程序也可以和实现同样功能的 C 程序完全不同。

Bjarne 曾不止一次强调 C++ 不仅仅是一种 Object-Oriented Programming Language,那是 Java,C++ 是一种集各种编程风格于一身的程序设计语言,Object-Oriented Programming 只是其中一种,并不比其它几种风格重要。我目前很怀疑 C++ 对面向对象的支持程度,虽然它一度在这方面风光无限,但多年发展,它并没有形成一个类似于 Java 或 Python 或其它语言那样的类库,也很少取得成功的像样的类库(不能说一个没有,但毕竟很少),反而,在难产到1998年的 C++ 的第一个标准化文本中的库却是基于 Template 和 Generic 的。哈,这多少有些讽刺意味,在别的语言还唧唧喳喳讨好面向对象的时候,C++ 抛下一个媚眼,却转身投入泛型的怀抱。见风使舵的 Java 和 C# 好像上错了贼船,又都赶着往自己身上贴泛型的金,弄得人不人鬼不鬼,当初,Java 可是批判 C++ 过于复杂最起劲的一个,在可以预见的将来,它的复杂程度将不低于 C++。拜托,有点创意好不好,别总让人神经衰弱了!

Java fans 们不要扁我,下次我写"如何学习 Java"时,咱哥们友情后补。

废话太多,第一个问题就此打住。

二、选用什么样的编译器?

这个问题也是初学者经常问的问题,其实一句话,对于初学者来说,现有的较新的编译器,除了易用性外,没有任何区别。

有人总是在用 VC 还是 BCB 还是 GCC 上争论不休,我想如果你能把这三种编译器的区别用出来,你现在就不会看我这篇破玩意儿了。但有人现在还在用 Turbo C++ 3.0/3.1,如果你真想学好 C++,我劝你还是换换的好,那东东确实是个好东东,但已经被 Borland fans 们当作古董收藏起来了(我也留着一套呢,还有 TC 2.0),你也收起来吧,没准什么时候能卖个好价钱。

我要讲的一个重要问题是不要把 VC 与 C++ 混为一谈,也不要把 VC 当作另一种语言。首先,VC 的全称是 Microsoft Visual C++,注意,前面带有公司的名字,即使是 Java,也没有叫过 Sun Java,这就意味着 VC 是一个产品,它是 C++ 众多编译环境中的一种,它不仅仅带有一个 C++ 语言的编译器,它还带有一个用于开发 Windows 应用程序的 Application Framework - Microsoft Foundation Classes Library (MFC),又一个带公司名的家伙,它只是用 C++ 语言在 Windows API 外面加了一层包装而已,省得赤裸裸的,让程序员们在工作的时候总走神去看那些不该看的地方, 这个东西多少让开发 Windows 程序变得更容易一些。呵呵,不要再把 VC 当作语言了。

在易用性层面上,我还是推荐初学者使用 VC,用这个东东的比较多,遇到问题也好找人问。至于版本,6.0 应该够用,但这个版本已经是5年前的东东了,毕竟早了些,与标准的兼容性也多有诟病,如果有条件的话,可以用 VC .NET,这个东东的最新版本是刚刚发布的2003版,我还没见过,我只用过它的上一个版本。经过 C++ 大腕 Lippman 亲手调教过的2003版,据说对标准的兼容性已经有了根本性的转变,管他呢,又是一个宣传用语,只要你不是特意去实验标准中的那些犄角旮旯,现在流行的编译器都已经绝对够用了。

三、选书很重要

这是一个最让人挠头的问题,选什么书总是见仁见智,什么书最好是一个永远找不到标准答案的难题,来我们这个论坛的朋友多半是冲着书来的。我不想评论哪本书好哪本不好,我只是大致列一个书单,简单讲两句。

我的书单并不定位于一个没有任何语言编程基础的初学者,我觉得这样的初学者不适合直接学习 C++ 语言。我的书单定位于那些有其它语言的一定的编程基础的 C++ 初学者,他至少应该知道什么是变量,什么是运算符,什么是表达式,关键字,语句,程序,至少应该知道赋值语句是干什么的,分支判断语句干什么,循环语句干什么,当然他不必知道 C/C++ 的词法和语法,也就是说他有以上的概念,但不知道这些东西在 C/C++ 中是如何实现的。在这个基础上,我把书单分为入门类、进阶类、应用技巧类。

入门类:

C++ Primer, 3rd Edition

Thinking in C++, 2nd Edition

C++ 大学教程(这本书我没看过,但不少初学者说不错,留此存目)

The C++ Standard Library: A Tutorial and Reference

进阶类:

The C++ Programming Language, Special Edition

The Design and Evolution of C++

Inside C++ Object Model

C++ Templates: The Complete Guide

STL 源码剖析

Generic Programming and the STL

Modern C++ Design: Generic Programming and Design Patterns Applied

应用技巧类:

Effective C++, 2nd Editon

More Effective C++

Exceptional C++

More Exceptional C++

Effective STL

Ruminations on C++

对这个书单我有几点说明:

1、除我注明的那本以外,其它书我基本看过,或浏览过,了解其大致内容。也因此这些书就局限在我的眼光之内,既然不愿给大家推荐我没看过的书,也就难免有遗珠之憾。

2、很多人认为 The C++ Programming Language 是入门书,我认为不妥,这本书号称"专家自学指南",并非浪得虚名,读者水平越高越能从这本书里学到更多的东西。如果身边没有一个很好的老师随时指导的话,我不建议初学者选用这本书,一上来就看这本书容易产生挫折感,影响学习的信心。这本书也可以作为语言参考手册常备身边,随用随查。

3、入门类前三本选一本即可,第一本我详细读过,第二本我大致浏览过,第三本没看过。第四本我极力推荐,每个初学者都应该好好看看,很多人认为应该归入进阶类,我放在入门类自有我的道理。有网友反应 Thinking in C++ 对于初学者太难,我感觉如果符合了我上面对初学者的初步要求的话,读这本书应该没什么问题。

4、我不建议用国内的书入门,我见过大部分国内书的内容只是讲了一个更好的 C,不是 C++。我认为初学者应选择一本对语言介绍比较全面、详细的书,以便对 C++ 有一个全面而系统的认识,一知半解是学习的大忌。如果一本自称全面的 C++ 书中缺少 String, Containers, Generic Algorithms, Namespaces, Templates, Exception Handling, RTTI 中的一个,你有理由不看它,如果一本自称全面的 C++ 书没有讲到标准库或 STL,你有理由不看它,如果一本自称全面的 C++ 书中的头文件还带有 ".h" 后缀,你有理由不看它。

5、应用技巧类并非最后再看,我单独把这些书列出,是因为这些书要和前两类书一起看,没有先后顺序。

6、选书的原则以及与每一阶段学习的关系,到下一部分我还要继续展开。

7、上述大部分书都有中文版,翻译质量大部分还不错,建议英文较好的最好直接读英文版,英文不好的也可看中文版。

下面我谈谈对纸版书和电子版书的看法。初学时最好去买一本纸版书,这样无论你躺着,坐着还是站着,也无论你身在何处——教室、图书馆、实验室、湖边长廊,你都可以很方便地拿出来看。很多同学的实验室和寝室中都配有电脑,似乎看电子版很方便,但是当寝室中老大在大呼小叫地打 CS,老二抱着电话和准老婆谈情说爱,老三抱着枕头说着梦话,老四抱着吉他唱着调跑到北冰洋去的自创情歌时,无论你是老几,我不相信你能对着电脑屏幕,心平气和地看着 C++ Primer 电子版,寝室根本不是学习的地方,最好还是拿上一本纸版书,到自习室、图书馆去吧。

课间短剧

讲到此处,digerati 同学举手发言:"老师,我有笔记本电脑啦,我可以带到自习室去,还是看电子版。"

涅盘老师当场被噎出四个跟头,晕了过去。五分钟后悠悠醒转,感觉口干舌燥。"水......水......"

涅盘老师喝了两口水,清清嗓子,继续讲课:

刚才,digerati 同学说得......说得......很好......是吧......哈哈......这个......那个......是呀......啊......

你可以把笔记本电脑带到自习室去,但你在马路边等 MM 或者 GG 的时候,或者坐公共汽车的时候,笔记本电脑总是不如纸书方便嘛?是吧?

zhazha 同学举手发言:"老师,我有掌上电脑啦,比你那本两块砖头重的书方便多了,我可以在等 MM 的时候看电子版。"

涅盘老师当场被噎了八个跟头,一天都没有醒。

转天,涅盘老师才醒过来,有气无力地抬起胳膊,伸出手:"眼镜......给我眼镜......"

zhazha:"老师,您戴着呢。"

涅盘老师:"那我怎么什么都看不见啊?"

zhazha:"您还没睁眼呢!"

涅盘老师艰难地睁开眼睛:"怎么还看不见呢?"

zhazha:"老师,您睡了一整天了,揉揉眼睛。"

涅盘老师用力揉揉眼:"还是不清楚。"

zhazha:"您再揉揉......"

涅盘老师:"还是不行......"

zhazha:"您再揉揉......"

涅盘老师:"还是不行......"

如此反复50次。

涅盘老师双眼红肿,极为愤怒,不耐烦地嚷着:"不能再揉了!!!我为什么还是看不清???"

digerati:"老师,很抱歉,我们忘了告诉您,昨天您眼镜的两个镜片都摔碎了,现在您只戴着眼镜框......"

涅盘老师:"@#&*@$%$#&"又晕了过去......

......

几天以后,继续上课,涅盘老师原来只有两名同学,现在他面对空空的教室......

同学们,啊......上次课,啊......digerati 同学 和 zhazha 同学,啊......上课捣乱,啊......被停课请家长,啊......家长至今未到,啊......他们现在还在办公室罚站,啊......如果其他同学,啊......再上课捣乱,啊......就和他们一样的下场,啊......

就在涅盘老师对着空教室慷慨激昂的时候,digerati 和 zhazha 正舒舒服服地坐在办公室的沙发上,翘着二郎腿,喝着涅盘老师的龙井茶......哈哈!

四、学习过程很辛苦

不要问我学习 C++ 有什么捷径,因为我也不知道。

如果你的学校里开设 C++ 课程,那你很幸运,送你八个字:"课前预习,课后复习",按时完成作业之类是作为学生的基本要求,我就不在这里重复了。下面的内容是针对学校里不开设 C++ 课程的学习者的。

我不可能一步一步教你如何学习 C++,不同的人经历不同,环境不同,学习能力不同,适用于一个人的方法不一定适用于另一个人,我只讲几条经验,供大家参考:
1、不要死抠语法:初学者最容易犯的错误就是抱着一本大书死抠语法,结果语法倒是很熟,程序还是一行都不会写,学习的积极性也受到很大打击。学习编程,语法是最不重要的,最重要的是思路。语法可以从任何一本书上查出来,比如说,用到循环语句的时候,你忘了语法,你可以翻书去查,但如果该用循环的时候你不知道用循环,该赋值的时候不知道用赋值,语法再熟有什么用呢?

2、建立面向对象的概念:在这一点上,我很欣赏 Thinking in C++,第一章是 Introction to Objects,第二章是 Making & Using Objects,先让读者建立起对象的概念。面向对象概念开始建立的时候确实比较难,但这一关早晚得过,不过这一关就永远写不出真正的 C++ 程序,因此从开始就要培养这一思维方式,不必一蹴而就,要慢慢来,一点一点把思想方法转变过去。只要面向对象的概念建立起来,以后无论学习 Java 还是 C#,都不过是小菜一碟,新东西很少了。

3、尽早接触标准库:这也就是我把 The C++ Standard Library: A Tutorial and Reference 归入入门类的出发点,标准库的概念接触越早越好,要把使用标准库作为天经地义的事情,作为自己的编程习惯,能用的地方一定要用。几乎所有的 C++ 大师都强调过这一点,The C++ Programming Language 第三章就是 A Tour of the Standart Library,已经提前得不能再提前了,可见其重视程度。而国内的 C++ 教材要么不讲,要么简简单单一带而过,晕!

4、认真分析例题:从别人的源代码中学习是最简单的学习方法。书上的例题大部分都是作者精心挑选的,最能体现某种语法特点或思想观念的程序,认真体会这些例题,理解程序的逻辑和结构,多问自己几个问题:作者为什么要设计这个类?这个类有什么作用?作者是如何设计这个类的?如何使用这个类的?这个类是否还可以用在别处?等等。把上述问题中的"类"换成"函数"、"模板"等同样适用。遇到不好理解的例题我有一个笨办法,就是把源程序输入一遍,这个办法确实很有效,看了半天也看不懂的程序,只要输入一遍基本就能理解了,而且还加深了印象。不要不动脑子一个字母一个字母敲,敲完都不记得敲的什么了,要看一行或一段再自己输入。

5、培养良好的编程风格,积累编程技巧:只要你对 C++ 有了一个初步的概念,就可以开始看我在上一部分列出的应用技巧类书籍了。并不是每一个条款都那么高难,你也不是一定要按顺序读,一边学一边就可以挑选自己能看懂的条款研究一番。当然初学者不可能理解很深,好在这些书也不是看一遍就够的,有些条款随着你学习的深入,反复阅读会有更深的体会。如果一本全面的书是正餐的话,这些书就是佐餐的小菜,提供人体必须的维生素、矿物质和微量元素,全面吸收才能茁壮成长。

6、擅于利用身边的工具与环境:大多数编程环境都提供丰富的工具供用户使用,比如调试器等,参照用户手册,利用这些工具对自己写的程序进行分析、监视和跟踪,可以在很大程度上提搞学习和工作效率。互联网更是一个丰富的资源,特别是 google 和 MSDN,利用这些可以解决你的大多数问题,即使没有找到答案,还可以上论坛去问。我不提倡动不动一点小问题就到论坛上发一些诸如"救火""救命"之类的帖子,很无聊,这样的帖子我基本不看,大多数人都不会看,在论坛上要有提问的技巧,将你的问题,你所使用的环境,问题出现的条件等描述清楚,包括你自己的思考,你自己的想法,虽然你的帖子是在提问,但如果写得好还可以给别人一些启发。

7、学无止境:C++ 语言还在不断发展,C++ 语言的国际标准也正在修订,早一天了解就能早一天受益。推开这扇门吧,有一片奇异的风景在等着你。