博文

第1章  C++的初步知识[4] C++程序的编写和实现(2008-08-14 03:24:00)

摘要:
  一个程序从编写到最后得到运行结果要经历以下一些步骤。 1. 用C++语言编写程序 用高级语言编写的程序称为“源程序”(source program)。C++的源程序是以.cpp作为后缀的(cpp是c plus plus 的缩写)。 2. 对源程序进行编译 为了使计算机能执行高级语言源程序,必须先用一种称为“编译器(complier)”的软件(也称编译程序或编译系统),把源程序翻译成二进制形式的“目标程序(object program)”。   编译是以源程序文件为单位分别编译的。目标程序一般以.obj或.o作为后缀(object 的缩写)。编译的作用是对源程序进行词法检查和语法检查。编译时对文件中的全部内容进行检查,编译结束后会显示出所有的编译出错信息。一般编译系统给出的出错信息分为两种,一种是错误(error);一种是警告(warning) 。 3. 将目标文件连接 在改正所有的错误并全部通过编译后,得到一个或多个目标文件。此时要用系统提供的“连接程序(linker)”将一个程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,最终形成一个可执行的二进制文件,它的后缀是.exe,是可以直接执行的。   4. 运行程序 运行最终形成的可执行的二进制文件(.exe文件),得到运行结果。 5. 分析运行结果 如果运行结果不正确,应检查程序或算法是否有问题。   1.5 关于C++上机实践   在了解了C++语言的初步知识后,读者最好尽快在计算机上编译和运行C++程序,以加深对C++程序的认识,并初步掌握C++的上机操作。 读者可以使用不同的C++编译系统,在不同的环境下编译和运行一个C++程序。但是需要强调的是,我们学习的是C++程序设计,应当掌握的是标准C++,而不应该只了解某一种“方言化”的C++。不应当只会使用一种C++编译系统,只能在一种环境下工作,而应当能在不同的C++环境下运行自己的程序,并且了解不同的C++编译系统的特点和使用方法,在需要时能将自己的程序方便地移植到不同的平台上。   在本书的参考书《C++程序设计题解与上机指导》一书中简单介绍了在Visual C++ 6.0和GCC......

阅读全文(2622) | 评论:0

由C#风潮想起的-给初学编程者的忠告[转](2008-08-13 14:47:00)

摘要:  我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去
追赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大
部头,这让我感到非常痛心。而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面
可以不用指针等等则让我觉得好笑。C#就象当年的ASP一样,“忽如一夜春风来,千树万树
梨花开”,结果许多学校的信息学院成了“Web 学院”。96,97级的不少大学生都去做Web
了。当然我没有任何歧视某一行业的意识。我只是觉得如果他们把追赶这些时髦技术的时间
多花一点在基础的课程上应该是可以走得更远的。

几个误区
       
    初学者对C#风潮的追赶其实也只是学习过程中经常遇到的几个误区之一。我将用一些实
际的例子来说明这些现象,你可以按部就班的看看自己是不是属于其中的一种或者几种:

    认为计算机技术等于编程技术:

    有些人即使没有这个想法,在潜意识中也有这样的冲动。让我奇怪的是,许多信息学院
的学生也有这样的念头。认为计算机专业就是编程专业,与编程无关的,或者不太相关的课
程他统统都不管,极端的学生只要书上没带“编程”两个字他就不看。

    其实编程只是计算机技术应用过程中一种复杂性最低的劳动,这就是为什么IT业最底层
的人是程序员(CODER)。计算机技术包括了多媒体,计算机网络,人工智能,模式识别,管
理信息系统等等这些方面。编程工作只是在这些具体技术在理论研究或者工程实践的过程中
表达算法的过程。编程的人不一定对计算机技术的了解就一定很高。而一个有趣的现象是,
不少大师级的计算机技术研究者是不懂编程的。网上的炒作和现实中良好的工作待遇把编程
这种劳动神秘化了。其实每一个程序员心里都明白,自己这些东西,学的时候并不比其它专
业难,所以自然也不会高档到哪里去。

    咬文......

阅读全文(1659) | 评论:1

IT人出路调查报告(转)(2008-08-13 14:45:00)

摘要: 这个世界有多少人能得到一世的荣耀?这个世界谁将不会老去?而在IT这样一个充满挑战与刺激的行业里,我们似乎又老得更快。IT真是一个吃青春饭的行业吗?IT真有年龄槛吗?35岁的IT人真的不能再做技术了吗?日前51jobIT人才频道(www.51job.com)针对IT人35岁出路问题在网上做了调查,让我们听听IT人自己的声音。 本次调查对象主要是IT行业的从业者,其中男性占了绝大多数,约在89%。主要年龄结构是:30岁以下的占了67,69%,30-35岁的占了26.65%,35岁以上的IT人士为5.66%。62.89%的人对于35岁的出路问题“大概知道一些,但仍未有明确的目标”,有37%的人选择在35岁时去做管理,33.40%的人认为35岁时再找工作最主要的因素是“发展前途”,66%的绝大数人觉得为将来考虑,“学习管理、经营之道,全面提高综合素质”是目前最迫切要做的事情。 本贴包含图片附件:

为将来考虑,最迫切需要做的是什么:
出路:创业?管理?技术牛人 在调查中,有37%的人认为中国的IT人在35岁时应该往管理方向靠拢。这也是目前大多数业内人士持有的观点。在IT行业,新技术、新概念和新思维如洪水般不断涌来,让人目不暇接。为了不至于落伍,IT人的全部时间基本都花在了学习和应用技术上。每天高效率的工作,人就像上了一辆高速列车,身不由己,想停也无法马上歇下来。业内专家认为,一方面,从人的生理条件看,一个30多岁的程序员和一个20出头的年轻程序员在一起编程,从工作心情上、反应速度上、作业效率上都存在一定差距。公司为了降低开发成本,会倾向于对经验少的年轻开发者支付较低的报酬。另一方面从社会角度看,大多数IT人在35岁已经成家立业,肩负担子远非以前那种一人吃饱全家吃饱的状态可以相比,这多少也牵制了大家对于工作的精力投入。 当然并不是每个人都能做管理或是合适做管理的,调查显示还有32%的IT人选择了在35岁时进行创业。给老板打工不如给自己打工,这是很多人最朴素的想法。35岁前拚的是体力,进行各方面创业条件的准备,比如资金的积累、人脉关系的培养、财务知识和公司经营管理理念的学习等,到了35岁,就能万事具备,大干一番,开创人生的另外一个高峰。业内专家认为,35岁的人虽然精力比不上年轻人,但是他凭借沉淀的......

阅读全文(1686) | 评论:0

成功经理人:第三章 领导情商(EQ) 第四节 管理智商的十项特质(2008-08-13 14:30:00)

摘要:你要如何成为一个拥有情绪智商的管理者呢?在理论上来说,它只是学习伴随着管理智商而出现的十项人格特质而已。   一、   非评判性态度:发展出其他人最佳的一面     具有情绪智商的管理者,第一个特质是对于所有部属都抱持着一个非评判性态度。这意味着,第一点也是最重要的一点,根据他或她此刻所提供的一切来接受每一个个体,而不是根据其他人认为可能在过去曾发生过的事(来自谣传的所有闲聊和批评)。 非评判性的管理者首先是以礼貌和尊敬,带有一种关心和支持的态度来看待每一个人。他们将和每个人的第一次会面视为一种荣耀,并开放地接近其他人,期望一种新关系的潜能。   二、   洞察力:帮助其他人了解他们自己     拥有情绪智商的管理者是感觉敏锐的,并且在沟通这点上做得很有效率。他们藉由经验累积的智慧来帮助他们了解其他人,在被他人重视的感觉帮助下,他们了解自己。藉由走入另一个人的处境中,以及了解“站在其他人观点”这个字面上的意义确认其他人的感觉时,这个感觉敏锐的特质就会发生了。 洞察力要长时间慢慢地成长,如同探究意识这个领域一样。以真诚的意图帮助其他人了解他们自己,这种透过其他人的眼睛来看事物的能力,是可以获得的。   三、   真诚:培养真正的诚实     真诚是第三项特性,包括对于一个人自己的感受和意图要诚实。     以一种类似的态度,及藉着非常清楚的目标,拥有情绪智商的管理者,以似乎像是最小的努力来获得支持和帮助,而使得达成公司目标的通路顺利。     拥有情绪智商的管理者藉着真实、坦白和率直,来清楚而精确地表达出目标,没有欺骗、假装及伪善。私底下的个人本质和公开的人格一样,是自然而真实、热情且衷心地表达出自然产生的感受。 这个特性可以藉着更经常、更准确且更公开地表达对一个人的感觉,依结果而小心地调和感受性来学得,这就是有些率直的诚实开始行动的地方。   四、   风度:负起个人的责任     第四项特性最好以“开放”这个名词来作为它的特征。在任何时......

阅读全文(1584) | 评论:0

成功经理人:第三章 领导情商(EQ) 第三节 管理智商如何运作(2008-08-13 14:28:00)

摘要:  管理智商如何运作   不是智商或个性,而是社交技巧     罗伯特·凯利和珍妮特·卡波伦研究了贝尔实验室中的一个负责设计和制造电子电话开关之研究部门。这个部门由小组所组成,范围从五人到一百五十人都有。他们的工作非常具有挑战性,也非常严历,而且他们的成果相当地成功。凯利和卡波伦询问了这些辛勤工作的科学家和工程师们,以便提名前十个到十五个百分比表现像个明星般突出的人。 和他们较不显著的同事相比,从这些具有工业才能的超级明星们身上,我们发现他们和其他人的不同处非常少,比如在智商和人格的测试,还有学校的成绩上,他们的得分和其他人没有多大的差别。于是凯利和卡波伦陷入困境之中,他们决定仔细搜索出不同点,所以他们更深入地访问他们的对象。 结果,他们的发现很令人吃惊。造成这些明星和其他人之间不同的,就是他们在和部门里更大网路上的关键人物建立长期关系的能力,而这些关键人物是那些拥有专业知识,并且因为明星和他们长久的关系,而很自由、快速地针对他们的问题提供给他们答案的人。所以明星现在可以带着所需的答案回到他的小组中,并且在小组现在通往达成目标的快速道路上,免除了任何多余的延迟。“社交智商”,如同先锋心理学家桑戴克所为它命的名一样,是它造成了所有的不同,而不是智商或任何其他人格特质。   新式领导 旧式团体最可能依赖组织的图表,来作为支配阶级的认知,大部分的人会服从拥有最高职位的人。对新式团体来说,这不是那么简单的。当那些最聪明、真诚且自信、开始收集最多的人,以及最值得尊敬的概念产生时,组织图表很快就被忽略了。这个新发现的尊敬会被扩大或是摧毁,端赖于这个成员有多公平地分享他所赢得的团体注意力以及一些值得、真诚的贡献,给那些比较没自信的组织成员们。如果这个新领袖公平且聪明地运用这个新获得的角色,那么这个团体在确保他是值得尊敬时,会对他有一种信任感。 此外,这个讨论的优先顺序可能会改变,而且另一个领袖可能会带着和新出现的主题相关的专门技术出现,它就好像是一个已经被承认的“情况领导”的专门技术。领导在新式团体里可能会有动态的转变,而且因为它从一个简单且非正式的团体中出现,所以这个转变是顺畅且令人愉快的。 使所有这些情况可能发生的是团体成员对情绪的诚实,或情绪智商。新式团体的隐藏议程并不像那些存在于传统......

阅读全文(2015) | 评论:0

成功经理人:第三章 领导情商(EQ) 第三节 管理智商如何运作(2008-08-13 14:24:00)

摘要:不是智商或个性,而是社交技巧     罗伯特·凯利和珍妮特·卡波伦研究了贝尔实验室中的一个负责设计和制造电子电话开关之研究部门。这个部门由小组所组成,范围从五人到一百五十人都有。他们的工作非常具有挑战性,也非常严历,而且他们的成果相当地成功。凯利和卡波伦询问了这些辛勤工作的科学家和工程师们,以便提名前十个到十五个百分比表现像个明星般突出的人。 和他们较不显著的同事相比,从这些具有工业才能的超级明星们身上,我们发现他们和其他人的不同处非常少,比如在智商和人格的测试,还有学校的成绩上,他们的得分和其他人没有多大的差别。于是凯利和卡波伦陷入困境之中,他们决定仔细搜索出不同点,所以他们更深入地访问他们的对象。 结果,他们的发现很令人吃惊。造成这些明星和其他人之间不同的,就是他们在和部门里更大网路上的关键人物建立长期关系的能力,而这些关键人物是那些拥有专业知识,并且因为明星和他们长久的关系,而很自由、快速地针对他们的问题提供给他们答案的人。所以明星现在可以带着所需的答案回到他的小组中,并且在小组现在通往达成目标的快速道路上,免除了任何多余的延迟。“社交智商”,如同先锋心理学家桑戴克所为它命的名一样,是它造成了所有的不同,而不是智商或任何其他人格特质。   新式领导 旧式团体最可能依赖组织的图表,来作为支配阶级的认知,大部分的人会服从拥有最高职位的人。对新式团体来说,这不是那么简单的。当那些最聪明、真诚且自信、开始收集最多的人,以及最值得尊敬的概念产生时,组织图表很快就被忽略了。这个新发现的尊敬会被扩大或是摧毁,端赖于这个成员有多公平地分享他所赢得的团体注意力以及一些值得、真诚的贡献,给那些比较没自信的组织成员们。如果这个新领袖公平且聪明地运用这个新获得的角色,那么这个团体在确保他是值得尊敬时,会对他有一种信任感。 此外,这个讨论的优先顺序可能会改变,而且另一个领袖可能会带着和新出现的主题相关的专门技术出现,它就好像是一个已经被承认的“情况领导”的专门技术。领导在新式团体里可能会有动态的转变,而且因为它从一个简单且非正式的团体中出现,所以这个转变是顺畅且令人愉快的。 使所有这些情况可能发生的是团体成员对情绪的诚实,或情绪智商。新式团体的隐藏议程并不像那些存在于传统团体中的控制力量一样,但是新式团体在问题解决上会有一个清楚的......

阅读全文(1517) | 评论:0

成功经理人:第三章 领导情商(EQ) 第二节 职场内的情绪——当时和现(2008-08-13 14:23:00)

摘要:如果职场上有“情绪”因素存在真是一件那么令人不舒服的事的话,我们要怎么做才能把情绪智商这个概念适当地介绍入职场中呢?另一个问题是:我们要如何处理职场中那种强加在我们身上,而不是支持我们的沉重情绪呢? 以往的独裁企业领袖在现今的商业环境里已经成为史前“恐龙”——绝迹了。现在的商业界是非常依赖知识的要素、沟通的技巧和团队的努力的,所以要求一个单独的个体来负起核心责任,而没有来自其他人的支持,就算不是一件不可能的事,也是非常困难的。今天我们所需要的就是情绪智商。   情绪智商 = 情绪 + 知觉     情绪智商整合了我们对情绪的察觉,以及围绕在我们周围和世界上的智能知识。在佛洛伊德的术语中,情绪智商结合了有意识的自我,以及无意识的、甚至更真实的本我。情绪智商的功能就好比是一艘船上的声纳系统一样,它提供了一个更完整的状况图,帮助我们避免掉一些看不到的障碍和问题。 情绪智商的最佳定义,就是能够运用你的知觉和敏感,来看出隐藏在人际沟通间的感觉,以及抗拒冲动、欠缺考虑就马上反应的一种能力,也就是以内心抱持着感受性、真诚和正直来行动,用来取代前者那种冲动行为的一种能力。“管理智商”这个名词拥有所有情绪智商的特征,但在商业导向的情境里,它还包含了获利能力、行销能力、人事、和现今的公司政策。换句话说,管理智商是在商业状况里应用情绪智商,把所有必须、适当的要素都加以考虑,以达到满足及具创造力的决策过程。   情绪增强记忆力     一位总统被暗杀的这件事,几乎在每一个人的身上都会激起强烈的情绪,所以当我们听到这个可怕的消息时,我们会记得当时我们正在做些什么事情。无论如何,除了那些拥有不凡回想力的人以外,很少人对于他们在暗杀或挑战者号事件之前的日子里做了些什么事,会有任何概念的。 我们透过分享、支持、及开放的沟通,会愈发觉我们的工作在情绪上具有意义,因此,我们可以学习并记得更多与我们的工作相关的事,而且我们也能更有效地使自己致力于工作上。对于组织而言,因为它能更加有创造力地运用成员的心,所以最后的结果是一个获利更高的收益报表,也是任何以利益为导向的营利企业的主要目标。     一个平衡的行为     在职场中情绪不稳或情绪发泄的情况,......

阅读全文(1090) | 评论:0

成功经理人:第三章 领导情商(EQ) 第一节  绪论:领导能力的剧变(2008-08-13 14:22:00)

摘要:我不再像以前那样地认为智商是无可替代的。     想要成功,你还必须要知道该如何做出明智的选择,以及拥有更宽广的思考力。 ——比尔·盖兹(Bill Gates)   第一节           绪论:领导能力的剧变   情绪智商这个概念产生于这个年代的初期。在一九九¡年时,彼得·沙勒维和约翰·迈尔出版了第一本跟这个主题有关的书。虽然在这之前的数十年,著名的心理学家桑戴克就写出社会智能这个名词,也就是指“精明地运作人际关系”的能力。但是这个概念的使用并没有广泛地普及化,一直到丹尼尔·高曼最畅销的书籍《EQ》在一九九五年出版为止。   领导:最新式的 只要你询问任何一个高层管理者,你就会知道现在的企业领导有一个重大改变。一直以来,产业革命的焦点总是集中于生产力和业绩上,而极少会专注在“感性情绪”这个议题上。但是当我们处在一个倚靠电子通讯技术的资讯革命风暴中时,人类的大脑受到了比以往更多的尊重,但是对许多人来说,以智力为中心还是一个令他们困扰的概念。 企业的领导模式从来没有像现在这般地成为大家注意的焦点,当中最令人瞩目的,就是管理高层的领导技巧发展,以及这些领导技巧对整个组织的影响。     横越全球的电子竞争     在企业环境之中,最明显的转变就是电子通讯技术的出现,而马歇尔·麦拉漠所说的“地球村”预言也真的实现了。现在,因为国际网路上的通讯在千分之一秒的时间内就能横越全球,所以国与国的界线正在逐渐地消失,变得模糊。以往市场上的界线通常是以地图上的线条所组成,现在它们则是人口统计学上的统计数字,而规章制度的日益变动,使得大家很难去遵守、赶上。     随着这样活力充沛的力量不断地以加速度方式加入,市场分配的竞争变得很热烈,这种情况并不是只有发生在国内,而是一种全球性的状况。 至于产品的改变,就是产品本身的生命周期急剧地缩短,并提供了顾客服务的功能来做为产品的附加价值,藉以区分市场上的赢家和输家。   雇用及留住人才 企业领导的内在动力也同样地有剧烈改变。在许多企业里,有很多......

阅读全文(2135) | 评论:0

.Net3.0 泛型 系列理论[2](2008-08-13 11:35:00)

摘要:9.2  创建泛型类 首先介绍一个一般的、非泛型的简化链表类,它可以包含任意类型的对象,以后再把这个类转化为泛型类。 在链表中,一个元素引用其后的下一个元素。所以必须创建一个类,将对象封装在链表中,引用下一个对象。类LinkedListNode包含一个对象value,它用构造函数初始化,还可以用Value属性读取。另外,LinkedListNode类包含对链表中下一个元素和上一个元素的引用,这些元素都可以从属性中访问。 public class LinkedListNode { private object value; public LinkedListNode(object value) { this.value = value; } public object Value { get { return value; } }   private LinkedListNode next; public LinkedListNode Next { get { return next; } internal set { next = value; } }   private LinkedListNode prev; public LinkedListNode Prev { get { return prev; } internal set { prev = value; } } } LinkedList类包含LinkedListNode类型的first和last字段,它们分别标记了链表的头尾。AddLast()方法在链表尾添加一个新元素。首先创建一个LinkedListNode类型的对象。如果链表是空的,则first和last字段就设置为该新元素;否则,就把新元素添加为链表中的最后一个元素。执行GetEnumerator()方法时,可以用foreach语句迭代链表。GetEnumerator()方法使用yield语句创建一个枚举器类型。 提示: yield语句参见第5章。 public class LinkedList : IEnumerable { private LinkedListNode first; public LinkedListNode First {......

阅读全文(1726) | 评论:0

.Net3.0 泛型 系列理论[1](2008-08-13 01:44:00)

摘要:C#语言和CLR的一个最大变化是引入了泛型。在.NET 1.0中,要创建一个灵活的类或方法,但该类或方法在编译期间不知道使用什么类,就必须以Object类为基础。而Object类在编译期间没有类型安全性,因此必须进行强制类型转换。另外,给值类型使用Object类会有性能损失。 .NET 2.0提供了泛型。有了泛型,就不再需要Object类了。泛型类使用泛型类型,并可以根据需要用特定的类型替换泛型类型。这就保证了类型安全性:如果某个类型不支持泛型类,编译器就会生成错误。 泛型是一个很强大的特性,对于集合类而言尤其如此。.NET 1.0中的大多数集合类都基于Object类型。.NET 2.0提供了实现为泛型的新集合类。 泛型不仅限于类,本章还将介绍用于委托、接口和方法的泛型。 本章的主要内容如下: ●       泛型概述 ●       创建泛型类 ●       泛型类的特性 ●       泛型接口 ●       泛型方法 ●       泛型委托 ●       Framework的其他泛型类型 9.1  概述 泛型并不是一个全新的结构,其他语言中有类似的概念。例如,C++模板就与泛型相当。但是,C++模板和.NET泛型之间有一个很大的区别。对于C++模板,在用特定的类型实例化模板时,需要模板的源代码。相反,泛型不仅是C#语言的一种结构,而且是CLR定义的。所以,即使泛型类是在C#中定义的,也可以在Visual Basic中用一个特定的类型实例化该泛型。 下面介绍泛型的优点和缺点,尤其是: ●       性能 ●       类型安全性 ●    ......

阅读全文(2752) | 评论:0