五道口金融考研_第1页
五道口金融考研_第2页
五道口金融考研_第3页
五道口金融考研_第4页
五道口金融考研_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

转眼间,复试已经结束。我知道对我来说,考研已经彻底的结束了。但2年的考研岁月给我留下很多难忘的记忆和体会,我今天把它们写下来,既是对自己考研做个小结,也希望对以后考研的同学能够有所帮助。首先说下我的基本情况:跨专业报考五道口金融,考了2年,06年初试成绩421分,政治78,英语73,数学四146,专业课124.我本科毕业之后,在一家通讯企业做软件测试工作,工作了几个月以后,由于兴趣和其他一些原因,就有了考研转行的打算。在征询了朋友的意见之后决定要考金融,至于选择五道口,主要是因为:五道口导师很强,教学风格务实;另外,五道口没有本科生,录取很公平;而且往年都有一半左右是跨专业考取的,这让我很受鼓励。我对自己的实力从一开始就有很清醒的认识。我数学基础还行,英语勉强过关,四级、六级几次都是5x分,专业课毫无基础。而五道口的竞争很激烈,英语线一般是60分,而且专业课科目有很多,对我这样跨专业的学生来说,1年就考上的希望很小,所以我决定第一年就当是尝试,打打基础。我把时间主要放在数学和专业课上,政治临考前20天才开始看。但即使这样,到考前专业课我也只看完了经济、货银,财政学和会计学只是浏览了一下,而国际金融基本不懂,金融法也没背。05年我考了347分,专业课89。这个分数虽然离375

的分数线差了很多,但比我预期的要好。05年3月我来

到北京备考。7月以前的时间,我主要是以背单词和看

专业课本为主,为下半年复习打基础。我从英语4级过

了以后没背过单词,考研第一年几乎没看英语,很多单

词都忘了。我必须从头背起,用的是刘毅的单词,从

fundamental到5000,再到10000,背完这些,我感觉

自己的单词量确实上了一个台阶,阅读能力也明显提高

了。专业课方面,我系统的看了高鸿业的另外还有几本

金融知识的书,真的不掉线吗??、????????????也应该掌握。唐旭老师主编的《金融前沿理论

课题》和《金融前沿理论课题2》中国金融出版社

出版的《证券知识读本》和《保险知识读本》辅导

资料:中国金融出版社的《金融学考研名校真题详

解及强化习题》就是几个五道口的师兄编的,非常

适合备考。另外,去年我下载了北大张延的宏观经

济学讲义,是按多恩布什的书来讲的,推导很严密,

对搞清楚宏观模型有帮助.联考大纲,02年版的

最好,其他的也行.主要是对照大纲,以免复习遗

漏了知识点,但联考和五道口范围不同,后面金融

部分自己有取舍的掌握。热点方面,除了上面推荐

的报刊杂志之外,每年的经济、金融蓝皮书和最近

的货币执行报告、金融报告等都是对经济,金融运

行情况的综述,大家可以看看,对经济总体情况有

个整体把握,这对回答五道口的论述题很有帮助。

总的来说,文科的学习我感觉主要还是下工夫背,

看的多了自然才能记牢.当然,复习方法也很重要,

我这有自己的一点心得,谈不上经验,跟大家分享一下。1,从近几年的试题可以看出,初试专业课重点主要在西方经济学和货币银行两门上,国际金融考的很少.大家复习也应该以这两门课为重点。其中货币银行又是重中之重,大家看书要看的细一些.有时间的话还应该分别看看《商业银行学》《中央银行学》《金融市场学》。微观经济学主要是考一些常用的概念,都比较简单,宏观经济学重点是NI-AE,IS-LM,AD-AS几个模型,同时要结合热点,应该对当时宏观经济状况比较清楚,会用经济学原理和模型来分析.比如目前是通货膨胀还是通货紧缩?消费,投资,储蓄,净出口有什么特点,金融运行情况如何等等。财政内容比较散,自己要归纳一下,主要是税收,国债,支出几块,同时要注意和财金热点结合.比如今年就考了与所得税调整相关的公平效率问题。会计和统计这两门课考的不深,主要是一些基本概念,以前的师兄总结了会计和统计概要,大家可以上网找找。按照这份概要复习课本,基本上也就差不多了。资产负债表,损益表和财务比率分析前几年考过,也应真的不掉线吗??、????????????该准备一下。金融法主要就是背法条,但也要注意方法.往年考的题都是答案是几个相关性很高法条的的,单独的知识点分值少,基本没法考。比如02年出的,商业银行经营管理应注意什么原则?人民币管理有什么规定?都是这样的。翻翻金融法,符合这样条件的也就不到20个,背背就差不多了.热点方面,连续几年出了和当年诺贝尔经济学奖相关的名词解释,大家应该注意.2,复习专业课,笔记很重要,做笔记可以帮助你把所学的知识建立体系,掌握的更好。而且以后按笔记来复习,省时,效率也高。我到考前主要就是翻翻笔记了.3,关于要不要上专业课辅导班的问题,我觉得,报辅导班不完全是为了压中考题,还有给你提供复习方法和思路,尤其是答题思路对考试拿分很有帮助。辅导班还可以节省你很多整理热点的时间,对于那些没有时间看很多杂志报刊的同学,我建议你报个辅导班。考研到现在,我最大的感受就是:一分耕耘,一分收获.考研很大程度是个功夫活。大多数学生智力都差不多,谁花的时间多,英语,政治自然背的好.数学题做多了也就更熟练。这点对报考五道口的同学来说更是如此。专业课谁的书看的更多,更细,才更有把握。一般来说,每天5个小时以上的复习时间,复习上5,6个月,是你考上的必要条件.考研复习是个持久的过程,毅力是考研成功不可缺少的品质。如果3天打鱼,2天晒网,必然不能取得好的效果。另外,我觉得自己能考研成功的一个重要原因就是自信.去年复习过程中,我一直相信自己肯定能考上,内心乐观的心态使我能保持了良好的复习状态。另外,制定一个好复习计划也非常有帮助。我给自己制定了详细的计划,大到总体复习进度,小到每天的任务都有,每天都要坚决完成当天的任务,最后总的计划也就完成了.按计划不但能保证复习质量,还可以根据情况调整复习节奏。还有,希望大家复习的时候,经常上网了解一些报考的,有什么问题也可以在五道口的提出来,肯定会有热心的师兄师姐为你解答。考研竞争越来越激烈,今年初试分数线395,真的不掉线吗??、????????????一下比去年高了21分,除了试卷简单的原因,报的人数增多也是重要原因.明年会怎样,谁也说不准。所以说,希望大家制定目标时候应该定的高一些,以防止一些意外情况发生.以上的一些个人经验仅供大家参考。如果能对你的复习思路有所帮助,我深感欣慰.最后祝大家考研成功!真的不掉线吗??、????????????从研究生二年纪开始学习计算机也差不多两

年了,一路走来,有很多的收获,也有不少的遗憾,

现在正好有一段闲暇,就想对走过的路留下一些足

迹,回忆。每个人都有自己不同的人生,说到这里,

就是程序人生了,歌德在《浮士德》中说过:“如

果不曾在悲哀中咀嚼过面包,不曾在哭泣中等待过明天,这样的人就不知道你——天的力量。”所以我想记下一些带给我悲哀,带给我哭泣的程序人生.其实学习计算机的基础课程是非常重要的,离散数学,编译原理,操作系统,形式语言 如果你认真走过了这些路,在以后的日子你会发现你的路会越走越宽,以前的努力和汗水会不断的给你灵感,给你支持,给你前进的武器和勇气。你会发现以后取得的很多成就,不过是朝花夕拾而已!对于程序语言我喜欢的是C++,它能带给你别的语言无法给予你的无上的智力快感,当然也会给你一门语言所能给你的魔鬼般的折磨。其实Java,C#,Python语言也非常的不错,我也极为喜欢.它们都是非常成功的语言,我从来就不愿意做某一种语言的盲目信仰者,每种语言都有它成功的地方,失败的地方,都有它适合的地方,不如意的地方。所以每一次看到评价语言的文章,我看看,但从来不会发言。C++的前世是C,而且C所留下的神秘以及精简在C++中是青出于蓝而胜于蓝!C所带给人的困惑以及灵活太多,即使一个有几年经验的高段C程序员仍然有可能在C语言的小水沟里翻船。不过其实C语言真的不难,下面我想指出C语言中最神秘而又诡请多变的四个地方,它们也继续在C++语言中变幻莫测。指针,数组,类型的识别,参数可变的函数。一.指针.

它的本质是地址的类型。在许多语言中根本就没有这个概念。但是它却正是C灵活,高效,在面向过程的时代所向披靡的原因所在。因为C的内存模型基本上对应了现在vonNeumann(冯・诺伊曼)计算机的机器模型,很好的达到了对机器的映射。不过有些人似乎永远也不能理解指针【注1】。注1:JoelSpolsky就是这样认为的,他认为对指针的理解是一种aptitude,不是通过训练就可以达到的.joelonsoftware./pr.../fog0000000073.html指针可以指向值、数组、函数,当然它也可以作为值使用.看下面的几个例子:int*p;〃p是一个指针,指向一个整数int**p;//p是一个指针,它指向第二个指针,然后指向一个整数int(*pa)[3];//pa是一个指针,指向一个拥有3个整数的数组int(*pf)0;〃pf是一个指向函数的指针,这个函数返回一个整数后面第四节我会详细讲解标识符(identifier)类型的识别..指针本身的类型是什么?先看下面的例子:inta;〃a的类型是什么?对,把a去掉就可以了。因此上面的4个声明语句中的指针本身的类型为:int*int**int(»)[3]真的不掉线吗12一 —int(*)0它们都是复合类型,也就是类型与类型结合而成的类型。意义分别如下:pointtoint(指向一个整数的指针)pointertopointertoint(指向一个指向整数的指针的指针)pointertoarrayof3ints(指向一个拥有三个整数的数组的指针)pointertofunctionofparameterisvoidandreturnvalueisint(指向一个函数的指针,这个函数参数为空,返回值为整数).指针所指物的类型是什么?很简单,指针本身的类型去掉“*”号就可以了,分别如下:intint*int0[3]int003和4有点怪,不是吗?请擦亮你的眼睛,在那个用来把“*”号包住的“0”是多余的,所以:int0[3]就是int[3](一个拥有三个整数的数组)int00就是int0(一个函数,参数为空,返回值为整数)【注2】注2:一个小小的提醒,第二个“0”是一个运算符,名字叫函数调用运算符(functioncalloperator)..指针的算术运算。请再次记住:指针不是一个简单的类型,它是一个和指针所指物的类型复合的类型.因此,它的算术运算与之(指针所指物的类型)密切相关.inta[8];int*p=a;int*q=p+3;p++;指针的加减并不是指针本身的二进制表示加减,要记住,指针是一个元素的地址,它每加一次,就指向下一个元素。所以:int*q=p+3;//q指向从p开始的第三个整数。P++;〃P指向下一个整数。double*pd;……〃某些计算之后double*pother=pd-2;〃pother指向从pd倒数第二个double数。.指针本身的大小.在一个现代典型的32位机器上【注3】,机器的内存模型大概是这样的,想象一下,内存空间就像一

个连续的房间群.每一个房间的大小是一个字节(一般是二进制8位).有些东西大小是一个字节(比如char),一个房间就把它给安置了;但有些东西大小是几个字节(比如double就是8个字节,int就是4个字节,我说的是典型的32位),所以它就需要几个房间才能安置.注3:什么叫32位?就是机器CPU一次处理的数据宽度是32位,机器的寄存器容量是32位,机器的数据,内存地址总线是32位。当然还有一些细节,但大致就是这样.16位,64位,128位可以以此类推。这些房间都应该有编号(也就是地址),32位的机器内存地址空间当然也是32位,所以房真的不掉线吗??、????????????间的每一个编号都用32位的二进制数来编码【注4】.请记住指针也可以作为值使用,作为值的时候,它也必须被安置在房间中(存储在内存中),那么指向一个值的指针需要一个地址大小来存储,即32位,4个字节,4个房间来存储。注4:在我们平常用到的32位机器上,绝少有将32位真实内存地址空间全用完的(232=4G),即使是M务器也不例外.现代的操作系统一般会实现32位的虚拟地址空间,这样可以方便运用程序的编制。关于虚拟地址(线性地址)和真实地址的区别以及实现,可以参考《Linux源代码情景分析》

的第二章存储管理,在互联网上关于这个主题的文章汗牛充栋,你也可以google一下。但请注意,在C++中指向对象成员的指针(pointertomemberdataormemberfunction)的大4、不一定是4个字节.为此我专门编制了一些程序,发现在我的两个编译器(VC7.1.3088和Dev-C++)上,指向对象成员的指针的大小没有定值,但都是4的倍数。不同的编译器还有不同的值。对于一般的普通类(class),指向对象成员的指针大小一般为4,但在引入多重虚拟继承以及虚拟函数的时候,指向对象成员的指针会增大,不论是指向成员数据,还是成员函数。【注5】。注5:在AndreiAlexandrescu的《ModernC++Design))的5.13节Pagel24中提到,成员函数指针实际上是带标记的(tagged)unions,它们可以对付多重虚拟继承以及虚拟函数,书上说成员函数指针大小是16,但我的实践告诉我这个结果不对,而且具体编译器实现也不同.一直很想看看GCC的源代码,但由于旁鹫太多,而且心不静,本身难度也比较高(这个倒是不害怕),只有留待以后了.还有一点,对一个类的staticmember来说,指向它的指针只是普通的函数指针,不是pointertoclassmember,所以它的大小是4。.指针运算符&和*它们是一对相反的操作,上取得一个东西的地址(也就是指针),*得到一个地址里放的东西.这个东西可以是值(对象)、函数、数组、类成员(classmember).其实很简单,房间里面居住着一个人,上操作只能针对人,取得房间号码;*操作只能针对房间,取得房间里的人。参照指针本身的类型以及指针所指物的类型很好理解。小结:其实你只要真正理解了1,2,就相当于掌握了指针的牛鼻子.后面的就不难了,指针的各种变化和C语言中其它普通类型的变化都差不多(比如各种转型).二.数组。在C语言中,对于数组你只需要理解三件事。.C语言中有且只有一维数组。所谓的n维数组只是一个称呼,一种方便的记法,都是使用一维数组来仿真的。C语言中数组的元素可以是任何类型的东西,特别的是数组作为元素也可以。所以inta[3][4][5]就应该这样理解:a是一个拥有3个元素的数组,其中每个元素是一个拥有4个元素的数组,进一步其中每个元素是拥有5个整数元素的数组.是不是很简单!数组a的内存模型你应该很容易就想出来了,不是吗?:).数组的元素个数,必须作为整数常量在编译阶段就求出来。inti;inta;〃不合法,编译不会通过。也许有人会奇怪charstr[]="test";没有指定元素个数为什么也能通过,因为编译器可以根据后面的初始化字符串在编译阶段求出来,真的不掉线吗??、????????????不信你试试这个:inta[];编译器无法推断,所以会判错说"arraysizemissingina”之类的信息。不过在最新的C99标准中实现了变长数组【注6】注6:如果你是一个好奇心很强烈的人,就像我一样,那么可以查看C99标准..对于数组,可以获得数组第一个(即下标为0)元素的地址(也就是指针),从数组名获得。比如inta[5];int*p=a;这里p就得到了数组元素a[0]的地址。其余对于数组的各种操作,其实都是对于指针的相应操作。比如2[3]其实就是*缶+3)的简单写法,由于*(a+3)==*(3+a),所以在某些程序的代码中你会看到类似3[a]的这种奇怪表达式,现在你知道了,它就是a[3]的别名。还有一种奇怪的表达式类似现在你也明白了,它就是*(a-l)【注71注7:你肯定是一个很负责任的人,而且也知道自己到底在干什么.你难道不是吗?:)所以你一定也知道,做T事是要付出成本的,当然也应该获得多于成本的回报。我很喜欢经济学,经济学的一个基础就是做什么事情都是要花成本的,即使你什么事情也不做。时间成本,金钱成本,机会成本,健康成本可以这样说,经济学的根本目的就是用最小的成本获得最大的回报.所以我们在自己的程序中最好避免这种邪恶的写法,不要让自己一时的智力过剩带来以后自己和他人长时间的痛苦.用韦小宝的一句话来说:“赔本的生意老子是不干的!”但是对邪恶的了解是非常必要的,这样当我们真正遇到邪恶的时候,可以免受它对心灵的困扰!对于指向同一个数组不同元素的指针,它们可以做减法,比如int*p=q+i;p-q的结果就是这两个指针之间的元素个数.i可以是负数。但是请记住:对指向不同的数组元素的指针,这样的做法是无用而且邪恶的!对于所谓的n维数组,比如inta[2][3];你可以得到数组第一个元素的地址a和它的大小。*(a+0)(也即a[0]或者*a)就是第一个元素,它又是一个数组int[3],继续取得它的第一个元素,*(*(a+0)+0)(也即a[0][0]或者*(*a)),也即第一个整数(第一行第一列的第一个整数).如果采用这种表达式,就非常的笨拙,所以a[0][0]记法上的简便就非常的有用了!简单明了!对于数组,你只能取用在数组有效范围内的元素和元素地址,不过最后一个元素的下一个元素的地址是个例外.它可以被用来方便数组的各种计算,特别是比较运算。但显然,它所指向的内容是不能拿来使用和改变的!关于数组本身大概就这么多,下面简要说一下数组和指针的关系.它们的关系非常暧昧,有时候可以交替使用.比如intmain(intargs,char*argv[])中,其实参数列表中的char*argv□就是char**argv的另一种写法.因为在C语言中,一个数组是不能作为函数引数(argument)在8]直接传递的。因为那样非常的损失效率,而这点违背了C语言设计时的基本理念 作为一门高效的系统设计语言。注8:这里我没有使用函数实参这个大陆术语,而是运用了台湾术语,它们都是argument这个英文术语的翻译,但在很多地方中文的实参用的并不恰当,非常的勉强,而引数表示被引用的数,很形象,也很好理解。很快你就可以像我一样适应引数而不是实参。dereferance,也就是*运算符操作。我也用的是提领,而不是解引用。我认为你一定智勇双全:既有宽容的智慧,也有面对新事物的勇气!你不愿意承认吗?:)所以在函数参数列表(parameterlist)中的数组形式的参数声明,只是为了方便程序员的阅真的不掉线吗??、????????????读!比如上面的char*argv[]就可以很容易的想到是对一个char*字符串数组进行操作,其实质是传递的char*字符串数组的首元素的地址(指针)。其它的元素当然可以由这个指针的加法间接提领(dereferance)【参考注8]得到!从而也就间接得到了整个数组.但是数组和指针还是有区别的,比如在一个文件中有下面的定义:charmyname[]="wuaihua”;而在另一个文件中有下列声明:externchar*myname;它们互相是并不认识的,尽管你的本义是这样希望的。它们对内存空间的使用方式不同【注9】。对于charmyname[]="wuaihua”如下mynamewuaihua\0对于char*myname;如下表myname\l/aihua\0注9:可以参考AndrewKonig的《C陷阱与缺陷》4.5节.改变的方法就是使它们一致就可以了.charmyname[]="wuaihua”;externcharmyname[];或者char*myname="wuaihua”;〃C++中最好换成constchar*myname="wuaihua”。externchar*myname;C之诡请(下)三.类型的识别。基本类型的识别非常简单:inta;//a的类型是achar*p;〃p的类型是char*真的不掉线吗??、????????????那么请你看看下面几个:int*(*a[5])(int,char*);//#1void(*b[10])(void(*)0);//#2doube(»)()(*pa)[9];//#3如果你是第一次看到这种类型声明的时候,我想肯定跟我的感觉一样,就如晴天霹雳,五雷轰顶,头昏目眩,一头张牙舞爪的狰狞怪兽扑面而来。不要紧(Takeiteasy)!我们慢慢来收拾这几个面目可憎的纸老虎!.C语言中函数声明和数组声明。函数声明一般是这样intfun(int,double);对应函数指针(pointertofunction)的声明是这样:int(*pf)(int,double),你必须习惯.可以这样使用:pf=&fun;〃赋值(assignment)操作(*pf)(5,8.9);〃函数调用操作也请注意,C语言本身提供了一种简写方式如下:pf=fun;//赋值(assignment)操作pf(5,8.9);//函数调用操作不过我本人不是很喜欢这种简写,它对初学者带来了比较多的迷惑.数组声明一般是这样inta⑸;对于数组指针(pointertoarray)的声明是这样:int(*pa)[5];你也必须习惯。可以这样使用:pa=&a;//赋值(assignment)操作inti=(*pa)⑵〃将a⑵赋值给i;.有了上面的基础,我们就可以对付开头的三只纸老虎了!:)这个时候你需要复习一下各种运算符的优先顺序和结合顺序了,顺便找本书看看就够了.1:int*(»a[5])(int,char*);首先看到标识符名a,“口”优先级大于“*”,a与“[5]”先结合。所以a是一个数组,这个数组有5个元素,每一个元素都是一个指针,指针指向“(int,char*)",对,指向一个函数,函数参数是“int,char*",返回值是“int*”.完毕,我们干掉了第一个纸老虎.:)2:void(*b[10])(void(*)0);b是一个数组,这个数组有10个元素,每一个元素都是一个指针,指针指向一个函数,函数参数是,(void(*)0”【注10],返回值是“void”.完毕!注10:这个参数又是一个指针,指向一个函数,函数参数为空,返回值是“void”.3.doube(♦)0(*pa)[9];pa是一个指针,指针指向一个数组,这个数组有9个元素,每一个元素都是“doube(*)0”【也即一个指针,指向一个函数,函数参数为空,返回值是“double”】。现在是不是觉得要认识它们是易如反掌,工欲善其事,必先利其器!我们对这种表达方式熟悉之后,就可以用“typedef”来简化这种类型声明.1:int*(*a[5])(int,char*);typedefint*(*PF)(int,char*);〃PF是一个类型别名【注11】。PFa[5];〃跟int*(*a[5])(int,char*);的效果一样!注11:很多初学者只知道typedefchar*pchar;但是对于typedef的其它用法不太了解。StephenBlaha对typedef用法做过一个总结:“建立一个类型别名的方法很简单,在传统的变量声明表达式里用类型名替代变量名,然后把关键字typedef加在该语句的开头:可以真的不掉线吗??、????????????参看《程序员》杂志2001.3期《C++高手技巧20指.2:void(*b[10])(void(*)());typedefvoid(*pfv)0;typedefvoid(*pf_taking_pfv)(pfv);pf-taking-pfvb[10];〃跟void(*b[10])(void(*)0);的效果一样!3.doube(*)0(*pa)[9];typedefdouble(*PF)0;typedefPF(*PA)[9];PApa;〃跟doube(*)()(*pa)[9];的效果一样!3.const和volatile在类型声明中的位置在这里我只说const,volatile是一样的【注12]!注12:顾名思义,volatile修饰的量就是很容易变化,不稳定的量,它可能被其它线程,操作系统,硬件等等在未知的时间改变,所以它被存储在内存中,每次取用它的时候都只能在内存中去读取,它不能被编译器优化放在内部寄存器中。类型声明中const用来修饰一个常量,我们一般这样使用:const在前面constint;〃int是constconstchar*;〃char是constchar*const;//*(指针)是constconstchar*const;〃char和*都是const对初学者,constchar*;和char*const;是容易混淆的.这需要时间的历练让你习惯它.上面的声明有一个对等的写法:const在后面intconst;//intAconstcharconst*;//charAconstchar*const;//♦(指针)是constcharconst*const;〃char和*都是const第一次你可能不会习惯,但新事物如果是好的,我们为什么要拒绝它呢?:)const在后面有两个好处:A.const所修饰的类型是正好在它前面的那一个。如果这个好处还不能让你动心的话,那请看下一个!B.我们很多时候会用到typedef的类型别名定义.比如typedefchar*pchar,如果用const来修饰的话,当const在前面的时候,就是constpchar,你会以为它就是constchar*,但是你错了,它的真实含义是char*const.是不是让你大吃一惊!但如果你采用const在后面的写法,意义就怎么也不会变,不信你试试!不过,在真实项目中的命名一致性更重要。你应该在两种情况下都能适应,并能自如的转换,公司习惯,商业利润不论在什么时候都应该优先考虑!不过在开始一个新项目的时候,你可以考虑优先使用const在后面的习惯用法。四.参数可变的函数C语言中有一种很奇怪的参数它主要用在引数(argument)个数不定的函数中,最常见的就是printf函数。printf("EnjoyyourselfeverydayiXn");printf("Thevalueis%d!\n”,value);真的不掉线吗??、????????????你想过它是怎么实现的吗?1.printf为什么叫printf?不管是看什么,我总是一个喜欢刨根问底的人,对事物的源有一种特殊的癖好,一段典故,一个成语,一句行话,我最喜欢的就是找到它的来历,和当时的意境,一个外文翻译过来的术语,最低要求我会尽力去找到它原本的外文术语。特别是一个字的命名来历,我一向是非常在意的,中国有句古话:“名不正,则言不顺."printf中的f就是format的意思,即按格式打印【注13】。注13:其实还有很多函数,很多变量,很多命名在各种语言中都是非常讲究的,你如果细心观察追溯,一定有很多乐趣和满足,比如哈希表为什么叫hashtable而不叫hashlist?在C++的SGISTL实现中有一个专门用于递增的函数iota(不是itoa),为什么叫这个奇怪的名字,你想过吗?看文章我不喜欢意犹未尽,己所不欲,勿施于人,所以我把这两个答案告诉你:table与list做为表讲的区别:table:iteml|kadkglasgaldfglIjkdsfhitem2IkjdszhahlkaIxcvzlist:***************That7sthedifference!如果你还是不明白,可以去看一下hash是如何实现的!ThenameiotaistakenfromtheprogramminglanguageAPL.而APL语言主要是做数学计算的,在数学中有很多公式会借用希腊字母,希腊字母表中有这样一个字母,大写为I,小写为它的英文拼写正好是iota,这个字母在8(theta)和k(kappa)之间!你可以./wiki/APL_programming_language下面有一段是这样的:APLisrenownedforusingasetofnon-ASCIIsymbolsthatareanextensionoftraditionalarithmeticandalgebraicnotation.Thesecrypticsymbols,somehavejoked,makeitpossibletoconstructanentireairtrafficcontrolsystemintwolinesofcode.Becauseofitscondensednatureandnon-standardcharacters,APLhassometimesbeentermeda"write-onlylanguage",andreadinganAPLprogramcanfeellikedecodinganalientongue.Becauseoftheunusualcharacter-set,manyprogrammersusedspecialAPLkeyboardsin真的不掉线吗??、????????????theproductionofAPLcode.NowadaystherearevariouswaystowriteAPLcodeusingonlyASCIIcharacters.在C++中有函数重载(overload)可以用来区别不同函数参数的调用,但它还是不能表示任意数量的函数参数.在标准C语言中定义了一个头文件专门用来对付可变参数列表,它包含了一组宏,和一个va」ist的typedef声明.一个典型实现如下【注14】:typedefchar*va.list;#defineva.start(list)list=(char»)&va-alist#defineva_end(list)#defineva-arg(list,mode)((mode*)(list+=sizeof(mode)))[-1]注14:你可以查看C99标准7.15节获得详细而权威的说明。也可以参考AndrewKonig的《C陷阱与缺陷》的附录A.ANSIC还提供了vprintf函数,它和对应的printf函数行为方式上完全相同,只不过用vaJist替换了格式字符串后的参数序列.至于它是如何实现的,你在认真读完《TheCProgrammingLanguage》后,我相信你一定可以doityourself!使用这些工具,我们就可以实现自己的可变参数函数,比如实现一个系统化的错误处理函数error。它和printf函数的使用差不多。只不过将stream重新定向到stderr.在这里我借鉴了«C陷阱与缺陷》的附录A的例子.实现如下:#include#includevoiderror(char*format,...)va-listap;va-start(ap,format);fprintf(stderr,“error:");vfprintf(stderr,format,ap);va.end(ap);fprintf(stderr,"\n");exit(1);)你还可以自己实现printf:#includeintprintf(char*format,...)(va-listap;va-start(ap,format);intn=vprintf(format,ap);va-end(ap);returnn;)真的木掉线吗*?Q.我还专门找到了VC7.1的头文件看了一下,发现各个宏的具体实现还是有区别的,跟很多预处理(preprocessor)相关。其中va-list就不一定是char*的别名,,typedefstruct{char*aO;/»pointertofirsthomedintegerargument*/intoffset;/*byteoffsetofnextparameter♦/}va-list;其它的定义类似。经常在Windows进行系统编程的人一定知道函数调用有好几种不同的形式,比如_stdcall,--pascal,__cdecl.在Windows下_stdcal1,--pascal是一样的,所以我只说一下--stdcall和__cdecl的区别。一stdcall表示被调用端自身负责函数引数的压栈和出栈。函数参数个数一定的函数都是这种调用形式.例如:intfun(charc,doubled),我们在main函数中使用它,这个函数就只管本身函数体的运行,参数怎么来的,怎么去的,它一概不管.自然有main负责。不过,不同的编译器的实现可能将参数从右向左压栈,也可能从左向右压栈,这个顺序我们是不能加于利用的【注151注15:你可以在HerbSutter的《MoreExceptionalC++》中的条款20:AnUnmanagedPointerProblem,Part1:ParameterEvaluation找到相关的细节论述._cdecl表示调用端负责被调用端引数的压栈和出栈.参数可变的函数采用的是这种调用形式。为什么这种函数要采用不同于前面的调用形式呢?那是因为--stdcall调用形式对它没有作用,被调用端根本就无法知道调用端的引数个数,它怎么可能正确工作?所以这种调用方式是必须的,不过由于参数参数可变的函数本身不多,所以用的地方比较少。对于这两种方式,你可以编制一些简单的程序,然后反汇编,在汇编代码下面你就可以看到实际的区别,很好理解的!重载函数有很多匹配(match)规则调用.参数为“…”的函数是匹配最低的,这一点在AndreiAlexandrescu的惊才绝艳之作《ModernC++Design))中就有用到,参看35,2.7”编译期间侦测可转换性和继承性二后记:C语言的细节肯定不会只有这么多,但是这几个出现的比较频繁,而且在C语言中也是很重要的几个语言特征.如果把这几个细节彻底弄清楚了,C语言本身的神秘就不会太多了.C语言本身就像一把异常锋利的剪刀,你可以用它做出非常精致优雅的艺术品,也可以剪出一些乱七八糟的废纸片.能够将一件武器用到出神入化那是需要时间的,需要多长时间?不多,请你拿出一万个小时来,英国Exter大学心理学教授麦克.侯威专门研究神童和天才,他的结论很有意思:“一般人以为天才是自然而生、流畅而不受阻的闪亮才华,其实,天才也必须耗费至少十年光阴来学习他们的特殊技能,绝无例外。要成为专家,需要拥有顽固的个性和坚持的能力 每一行的专业人士,都投注大量心血,培养自己的专业才能【注16】注16:台湾女作家、电视节目主持人吴淡如《拿出一万个小时来》。《读者》2003.1期.“不用太努力,只要持续下去.想拥有一辈子的专长或兴趣,就像一个人跑马拉松赛一样,最重要的是跑完,而不是前头跑得有多快.”推荐两本书:K&R的《TheCProgramminglanguage》,SecondEdition.AndrewKonig的《C陷阱与缺陷》。本文从中引用了好几个例子,一本高段程序员的经验之谈。但是对纯粹的初学者不太合适,如果你有一点程序设计的基础知识,花一个月的时间好好看看这两本书,C语言本身就不用再花更多的精力了真的不掉线吗??、????????????1、甲、乙、丙三人练习跳高,甲、乙两人共跳182厘米,乙、丙两人共跳178厘米,甲、丙两人共跳176厘米,三人各跳多少厘米?2、3个小瓶2个大瓶共装350克水,2个大瓶和4个小瓶装水一样多,那么每个大瓶可以装多少水?每个小瓶可以装多少水?3、小明上学时坐车,回家时步行在路上一共用了90会如果他往返都坐车,全部行程需30分.如果他往返都步行,需多少分?4、甲乙丙丁四人按顺序发扑克牌,,当丙拿到第8张牌时,已经发出去了几张牌?5、王大妈家原有30只鸡蛋,王大妈家养了一只一天能下一只鸡蛋的鸡,王大妈每天要吃3个鸡蛋,问王大妈能连续吃几天?6、甲水池存水40吨,乙水池存水24吨,甲水池的水每小时流入乙水池2吨,几小时后,乙水池的水是甲水池水的3倍?(用方程做)7、甲、乙两筐苹果,甲筐比乙筐多19千克,从甲筐取出多少千克放入乙筐,就可以使乙筐中的苹果比甲筐的多3千克?真的不掉线吗??、????????????8、甲乙两决棉田,平均亩产籽棉185公斤,甲有5亩,平均亩产籽棉203公斤;乙棉田亩产籽棉170公斤,乙棉田有多少亩?9、7个连续的偶数的和是1988,求这7个连续的偶数.10、蔡琛在期末考试中,政治、语文、数学、英语、生物五科的平均分是89分.政治、数学两科的平均分是91.5分.语文、英语两科的平均分是84分.政治、英语两科的平均分是86分而且英语比语文多10分.问蔡琛这次考试的各科成绩应是多少分?11、用中国象棋的车、马、炮分别表示不同的

自然数。如果,车+马=2,炮+车=4,炮-马=

56,那么“车+马+炮”等于多少?12、11、图中阴影部分是一个正方形,那么最大长方形的周长是( )厘米。A、26B、28C、24D、25真的不掉线吗??、????????????过去进行时(PastProgressiveTense)过去进行时学习方法用法:过去进行时,是表示过去某时正在进行的状态或动作。一、过去进行时的主要用法是描述一件事发生的背景;一个长动作发生的时候,另一个短动作发生。常用的时间状语when,while例如:Mybrotherfellwhilehewasridinghisbicycle.我哥哥骑自行车的时候从车上摔下来。Itwasrainingwhentheyleftthestation. 他们离开车站的时候天正在下雨。Theyleftthestationwhileitwasraining. 天正在下雨的时候他们离开了车站。WhenIgottothetopofthemountain,thesunwasshining. 当我到达山顶的时候,阳光灿烂。二、过去进行时可以表示在过去某个时间点发生的事情。时间点可以用介词短语、副词或从句来表示。常用的时间状语:thismorning,thewholemorning,alldayyesterday,fromninetotenlastevening,例如:Whatwasshedoingatnineozclockyesterday?昨天晚上九点她在做什么?(介词短语表示时间点)WhenIsawhimhewasdecoratinghisroom. 当我看见他的时候他正在装饰房间。(when从句表示时间点)WewerewatchingTVfromseventoninelastnight. 昨天晚上七点到九点的时候我们在看电视.WhatwasheresearchingalldaylastSunday? 上周日他一整天都在研究什么?三、在复合句中,如果主要动作和背景动作都是延续的或同时发生的,那么主从句的动词都可用过去进行时.例如:Whilehewaswaitingforthebus,hewasreadinganewspaper.他边等车边看报。(两个动作都是延续的)HewascleaninghiscarwhileIwascooking. 他擦车时我在做饭。(两个动作同时进行)四、通常不能用于过去进行时的动词主要有:agree,be,believe,belong,care,forget,hate,have(拥有),hear,know,like,love,mean,mind,notice,own,remember,seem,suppose,understand,want,wish等。例如:误:Iwasknowingtheanswer.正:Iknewtheanswer.我知道答案。误:Iwasn'tunderstandinghim.正:Ididn'tunderstandhim.我不明白他的意思.典型例题:Mary—adresswhenshecutherfinger.A.madeB.ismakingC.wasmakingD.makes答案C.割伤手指是已发生的事情,应用过去时。同时,when表时间的同时性,“玛丽在真的木掉线吗*?、、做衣服时”提供事情发生的背景,因此用过去进行时。Asshe—thenewspaper,Granny—asleep.A.read;wasfallingB.wasreading;fellC.wasreading;wasfallingD.read;fell答案B.句中的as=when,while,意为"当……之时描述一件事发生的背景时,用过去进行;一个长动作发生的时候,另一个短动作发生.句意为“在她看报纸时,奶奶睡着了。"句中的fell(fall的过去时),是系动词,后跟形容词,如:fallsick。过去进行时和一般过去时的区别一.一般过去时叙述旧事,过去进行时描述背景.A、一般过去时1)叙述过去状态、动作或事件HewenttoBeijingtheotherday.(带具体时间)2)表示过去的习惯would,usedto与过去时would表间断性不规则的习惯,常带频率时间usedto表一贯性有规律的习惯Theyusedtomeetandwouldsometimesexchangeoneortwowords.Hesmokedalottwoyearsago.(过去行为)Would用于文中不用于句首,只表过去习惯.Usedto表今昔对比的含义,叙述习惯动作可与would换用。Whenhewasaboy,hewouldoftengothere.(叙述过去)Sheisnztwhatsheusedtobe.(今昔对比)c)表示状态时一般只用usedtoTomusedtobefat/Thereusedtostandatreethere.(状态)d)was(were)usedto+ving表示“合适于,适应于”Heusedtoworkatnight.(“习惯”表经常)Hewasusedtoworkingatnight.(习惯表适应))表示过去的经历,平行动作,依此事件用一般过去时。Hesatthereandlistenedtotheradio.(依此发生))表示客气委婉的语气,用于情态动词,助动词和want,wonder,hope等Howdidyoulikethefilm?/Couldyouhelpme?B.过去进行时-表示在过去某阶段或某一时刻正在发生Whatwereyoudoingat8:30lastnight?(过去某时刻正在发生)-短暂性动词用过去进行时表示按计划、打算Duringthattimehewasgoingwithus.(表示打算)-与always,often,usually等连用表喜爱,讨厌等感情色彩.HewasalwaysChanginghismind.二、过去进行时与一般过去时的区别真的不掉线吗??、????????????A.进行时表某一行为的“片断”一般时表示行为的“整体”和存在的状态。Iwasreadingthebookatthattime.(未读完,“读”的片段)Ireadthebookyesterday.(已读完,表整个“读”)B、一般持续时间状语多与进行时连用Itwasrainingallnight.(优先用wasraining,rained为持续动词,故也可使用)Hewaswritingaletterthewholeofafternoon.(短暂动词与持续时间连用,表反复,连续发生,不可用一般过去时)C、while时间状语从句中用短暂动词时只能用进行时.例:Hebrokeachairwhilehewasjumpingupanddown.D、While所在主从句动作大致持续相等时主从句一般都用进行时,但若是持续动词可都用一般过去时,两个动作一长一短时短的用一般时,长的用进行时.Iwascookingthedinnerwhilehewasplayingthepiano.(平行)Icookedthedinnerwhileheplayedthepiano.IsawhimwhileIwaswalkingtothestation.三、英语中有四类动词一般不用进行时(不用现在进行时和过去进行时)1)表心理状态、情感的动词,如love,hate,like,care,respect,please,prefer,know等,若用进行时则词意改变.I*mforgettingit.(=beginningtoforget)2)表存在、状态的动词,如appear,exist,lie,remain,stand,seem等3)表感觉的动词,如see,hear,feel,smell,sound,taste等.4)表一时性的动词,如accept,allow,admit,decide,end,refuse,permit,promise等。四、例题考题1Asshe thenewspaper,Granny asleep.(95)A.read/wasfallingB.wasreading/fellC.Wasreading/wasfallingD.read/fell分析时间从句的动作长,而“入睡”动作短,故前者用过去进行时,而较短动词用一般过去时,选B考题2Tom—intothehousewhennoone——.A.slipped/waslookingB.Hadslipped/lookedC.slipped/hadlookedD.wasslipping/looked分析此题先要理解好when,表“此时”,说明主句中slipped是较短行为,而look是较长行为的片断,即汤姆溜进房子,此时没人瞧见,故选A为正确。过去进行时(PastProgressiveTense)句型S+was/were+V-ing...例A:Shewasdoingherhomeworkat8:30yesterdayevening.(昨天傍晚八点半她正在做家庭作业.)例B:Wewerehavingsupperatthattime.(那个时候我们正在吃晚饭。)真的不掉线吗??、????????????解说如例1所示,在单句中使用过去进行时来表达时必须把该动作正在进行中的时间表明清楚,否则就不合逻辑了.例如:Iwastakingabathyesterday.(错)(昨天我正在洗澡——昨天24小时都正在洗澡吗?)所以本句应该如例1来表达,或者用一般过去时表达如下:Itookabathyesterday.(昨天我洗了澡.)如果由上下文的文意,或者对谈中的话意可以了解“动作正在进行中的时间”,单句里就使用过去进行时来表达是很普通的,例如:Icalledyouupyesterdayevening.B:Didyou?Atwhattime?A:Ataroundtenozclock.(大约在十点钟。)Oh,Iwastakingabaththen.(哦,当时我正在洗澡.)过去进行时在表达上常用的句式是如例2所示和另一个一般过去时的动作相搭配。请观察下面的图解说明:过去有二动作A和B(如图示),在B动作发生时稍早发生的A动作正好在进行中,所以这种表达法通常都是复句(主句+副词从句).例如:WhenIgotupthismorning,Motherwaspreparingbreakfastinthekitchen.(今天早上我起床时妈妈正在厨房里准备早餐。一“Mother”是主句,“when...,”是副词从句.)常用于修饰过去进行时的时间副词:过去的某一定点时刻(at+过去的时刻),then(=atthattime)(那时,当时),all+时间,"When.../While…/As...”等副词从句,etc.强化训练DrillingSquare请判断下列各题空格处动词的正确时态(一般过去时或过去进行时).It (rain)veryhardwhenwe (get)thereyesterday.I (watch)TVat7:00P.M.yesterday.What (youdo)atthattime?She (have)abathwhenthephone (ring).Thestudents (make)noiseswhiletheteacher (be)away.I (read)inmyroomwhenshe (e).It (grow)dark,sowe (turn)backforhome.Asthewinds (blow)strongerandstronger,we (notgo)swimmingyesterdayaftemoon.Thebaby (cry)allmorningtoday.We (have)agoodtimewhensuddenlythelights (go)out.真的不掉线吗??、????????????四年级数学(1)3.05千克=()克9千米56米=( )千米20平方米3平方分米=( )平方米=( )平方分米(2)0.68是由( )个0.1和()个0.01组成的.(3)八十亿七千五百万吨写作(),改写成以亿为单位的数是()。把125460册,改写成以万作单位的数是()。(4)有一个两位小数扩大100倍后得312,这个小数是( ).TOC\o"1-5"\h\z把8.45的小数点去掉后,是原数的()倍,比原数增加( ).(5)把0.604、0.64、0.46、0.406按从小到大的顺序填在下面的括号内.( )<( )<( )<( )(6)求角的度数。已知Nl=30°Z2=( )度N3=()度Z4=()度/1+/5=()度TOC\o"1-5"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论