本教程不是本人原创,只是看了之后觉得写得很好,而且作者

上传人:zhan****gclb 文档编号:147110845 上传时间:2022-09-01 格式:DOC 页数:93 大小:210KB
收藏 版权申诉 举报 下载
本教程不是本人原创,只是看了之后觉得写得很好,而且作者_第1页
第1页 / 共93页
本教程不是本人原创,只是看了之后觉得写得很好,而且作者_第2页
第2页 / 共93页
本教程不是本人原创,只是看了之后觉得写得很好,而且作者_第3页
第3页 / 共93页
资源描述:

《本教程不是本人原创,只是看了之后觉得写得很好,而且作者》由会员分享,可在线阅读,更多相关《本教程不是本人原创,只是看了之后觉得写得很好,而且作者(93页珍藏版)》请在装配图网上搜索。

1、本教程不是本人原创,只是看了之后觉得写得很好,而且作者在文中也有提到C/C+初学者很难找到像本文一样的FAQ,或其它入门书,我上传是只为了让更多的C/C+初学者能看到本文,让他们在学C/C+或说学编程的路上少点障碍。以下是原创作者写的内容:编程及C/C+初学者 FAQ (Frequently Asked Questions)本文原为本人在论坛所发若干帖,意在集中解决新手学习C/C+语言时将遭遇到的各类问题,网友反馈情况良好,集合修订后作为个人作品贴于此处。本贴主要分析概念原理和解决方案,不讨论具体程序语法,立足于让初学者能运行起第一个程序。其他事宜如解释入门语法等本文基本不涉及。本文依照 创作

2、公用约定(署名-非派生作品-非商业用途) 发布。作者(即本人)无更新计划,请勿与作者联系。 作者:碧蓝右耳。联系方式:BlueAuris版本号:3.0完成日期:2008-03-10=分割线=目 录一、开始之前FAQ 是什么?为何有这篇FAQ?编程为何物?如果这就是编程,那语言是怎么回事?我为啥要学编程?听说编程很难,是真的么,那我能学会吗?我真的可以么?还一定要有台电脑么?好吧你说服我了,我打算开始,该怎么做?那么,下一步怎么干?我碰到问题了,谁能帮我?我能看懂别人的程序,但自己做就觉得无从下手,怎么会这样?我英语XX不会,咋办?关于态度、情绪和其他二、选择C/C+语言C语言是什么?C+语言是

3、什么?为何要选择纯C?C/C+语言和其他语言有什么关系?我为什么要学C/C+语言?Python语言 作者的另一推荐三、一些重要的概念-计算机原理编程的对象是什么计算机程序到底是怎么回事是操作而不是结果为什么要编程因为机器的特点你们老是提到编译器,那是什么-代码翻译机给我解释下啥叫编程语言各路江湖武功语言之后要确定的事情-操作系统和平台编程时什么东西最重要-源代码我的程序和一般的程序不一样,什么原因控制台和图形界面的差异好像不能建立一个单独的文件来编译工程和项目的问题难道一切都要从头干起函数、API、类、控件、开发包与软件复用关于图形库的补充说明-可选择的图形库四、教材、习题和示例能推荐几本好书

4、么首先是纯C的教材然后是C+的教材接下来是Windows编程Unix/Linux/BSD系统数据结构和算法各种图形以及其它库软件工程思想找书的诀窍 光看书似乎不解决问题,难道要做题OJ是什么哪里有可用的OJ哪里有代码示例可看五、选择编译器有哪些编译器可用还有些可以配合编译器的开发环境他们在哪里怎么安装他们-特别解释 MingW版GCC的安装六、TC下常见的问题解决用TC创建第一个程序TC的库路径设置TC下的图形编程设置我的程序在TC下可以编译,在VC/GCC下为什么出错七、其它编译器问题用VC创建程序用DEV-CPP创建程序用MingW创建程序用Lcc-win32创建程序八、结束语 程序员成长

5、的六个阶段=分割线=一、开始之前FAQ 那是什么FAQ就是Frequently Asked Questions,也就是常见问题解答。这玩意儿通常是一些所谓的高手或者前辈为了节省回答新手的大量简单重复问题所耗费的时间精力而采用的一种偷懒手法。一旦完成,高手只要一努嘴,“看FAQ去”就万事大吉了。实在是居家旅行杀人越货之必备良药,因此在各大论坛已经有大泛滥的趋势。本篇FAQ为学习C语言、C+语言的大量新手编写,重点是如何运行起第一个程序,不涉及语法、数据结构和算法等内容。如果你已经通过计算机二级或水平相似的考试,甚至你是职业选手或是大师级的人物,就不必再往下看了。同时,本FAQ只讨论C/C+语言,

6、其他语言如Java VB python等均不涉及,虽然阅读本文前四章节也会对学习这些语言有所帮助,但深入学习还是请阅读这些语言的专门教材。 为何有这篇FAQ本文是为那些对编程新手所准备的,如果你自认已经不是新手,那么请离开把时间放到更有用的地方。如果你是那种对编程一无所知,迫切想知道他是怎么回事,或者仅仅编写了几个小程序,却遇到一大堆问题,而在论坛或是其它地方又得不到帮助,但心中又有雄心壮志想要做绝世高手顶尖黑客或者想要以程序为生的入门级新人,那么你恰好是本文的服务对象,请详细阅读以下的文字,我想应该会对你有所帮助。而且请你了解,本文的这部分内容所要介绍的是那些普遍性的概念,与具体任何一种语言

7、都无关。正如我们所知,市场上充斥着无数的编程教材,同时可以肯定的是,目前已经面世的教材(包括正式出版物和网络上的教程),穷一人一生之力是看不完的。在这些书中,有大量的垃圾书,大量的平庸之作,还有少量的精品。而即使是这少量的精品,也不可能看全。既然书这么多,我为什么那么闲还要来写一篇呢,有这时间,我还能多画几张效果图挣俩钱花呢。情况是这样的,市场上的书虽多,但其中几乎没有几本是面向初学者的。我所指的初学者,是指从来没有编写过程序,甚至是连编程二字都没有听说过的人。这样的书是如此之少,以至于要去购买或是阅读到他们都是很困难的事。在我个人的学习生涯中我认识到很多编程教材有个糟糕的倾向。他们要么是一下

8、子告诉你所有的事,好像你能在千分之一秒中突然从菜鸟变成好手,要么就是认为有些事你早就应该知道,拿你当熟手看,导致你有一种赤身裸体被抛弃于猛兽横行的非洲旷野的感觉。你还没有穿上衣服走出帐篷,连刀子都没有摸过,他们就试图告诉你草原上有多少可以捕获的猎物以及他们的位置,告诉你几百种武器和毒药的使用秘籍,告诉你两百条以上的陷阱安放要领。你没有经过丝毫的练习,甚至还没有杀死过一只刚出壳的小鸡,他们就要你独自去捕猎数十头饥饿的狮子。这种看似荒谬的情况从过去持续到今天,至今仍然存在。这并不是说那些写教材的朋友都是傻瓜,这件事当然有它的原因,因为他们面向的读者是程序员。程序员就象是猎人,他们更换语言就像猎人更

9、换武器一样,不管他使用哪一种武器,捕猎的基本原理没有变化,变化的只是武器的使用方法。对一个成熟的猎人而言,再强调基本原理就没有必要,所以教材们对人所共知的一些事也就避而不提。一个成熟的猎人,她心中的捕猎知识是浑然一体的,武器的选择,野兽的习性,陷阱的安放,怎样做和为什么这样做都结合在一起,没有哪一部分可以独立出来,一部分一部分的教给别人是极度困难的的,要教就只能混杂在一起。程序员的情况类似,知识体系是完整系统的,谈到一个问题总会牵扯到另一个,最后的结果就是别人总是希望并想当然的认为你可以一口吃成一个胖子。这样的后果就是,一些很明显的事情,老手认为那是你应该知道的因而不予回答,而新人却发现没有任

10、何地方可以找到解释,也不知道该到哪里去找答案。(不懂得如何找答案也是新人的特点之一)。有一个典型例子与这种情况很类似,鼠标,我们已经习以为常并且很熟练地使用着,但是很多第一次接触电脑的人那却是完全摸不着头脑的东西。在各地的论坛里,总有大量的新人提出诸如“学C+好还是VC,VC+好?”“C+也可以编窗口程序吗?”这样的毫无常识的问题。我的FAQ就是为了来一次性解决这种问题的。编程为何物编程就是编制程序。程序是让计算机发挥功能的命令的集合。程序有两种形式,让计算机真正执行的是电脉冲形式,叫机器码,程序员编制的通常是文本形式,叫源代码。使用一个称为编译器的工具,可以把源代码转变为机器码。而编程就是产

11、生那些源代码的工作。这个工作类似于谱曲、编菜谱、写工作手册。我们知道,谱曲并不是一蹴而就的,往往需要反复的修改,直到最后满意为止,编程也是一样,接近工作时间的30%是完成粗制成品,剩下的70%时间是在不断的修改,这是相当枯燥和乏味的。有志于投身编程的朋友们,不要忘记这一点。如果这就是编程,那语言是怎么回事文本形式的源代码,其实是有些规定的。就像我们和老美用英语交流。首先你得说英文单词,不能冒法语词汇日文假名出来,其次你得按语法讲话,不能一个个单词往外蹦。程序也同样有词汇和语法上的一些规定,这些规定就构成一门语言。显然任何一门编程语言都是人造语言。人造的东西,因发明人的想法而不同,就形成了不同的

12、语言。我为啥要学编程这个问题有两层意思。首先是编程为啥要学,很简单,因为这玩意不是生来就会,就像木匠活一样属于一门手艺,自然要通过学习才能掌握。你怎么也得花上几年来学英语是不是。第二层涵义才是重点,为啥我要学它。答案因人而异。有人为了上学有人为了考试,有人为了求职挣钱,还有人就是吃饱撑没事做自虐。什么为了开发智力啊证明自己啊寻找成就感啊,那都属于自虐,在下便属于自虐一族。没啥说的,确定你的目的,也许只是好奇想接触下啥是编程,也许是有课业的任务,也许是想以后靠他找工作,或者是羡慕那些黑客。总之,想继续深入的,往下看,没信心的趁早走人,外面帅哥美女多的是,不要浪费大好时光青春年华在一台破机器上,o

13、k?听说编程很难,是真的么,那我能学会吗?你觉得说中文难么?你能流利的说普通话是不是。但是你知道么,汉语是世界上最难学习掌握的语言。稍后我会介绍计算机的特征,你就会明白知道基本上编程这件事的难度等价于指挥IQ=3个数相加都必须转化成持续的两个数相加,就是先把第一个第二个加起来得到结果之后,才能和第三个相加,照此重复求得所有的和。这时目前的科技无法改变的铁律。这个时候我要请你记住一个重要的思想:编程中任何问题都要分解到足够小,小到机器可以一次解决的程度。回到刚才的那个题目:寻找N个正整数中的最大值。我们知道直接解决是不可能的。而按照刚才讲过的铁律,我们知道直接找到两个数中的最大值是一次可以做到的

14、。怎样从2个扩展到N个呢。这里就是算法的天下了。一种很常见的想法是,完全可以从两个中找出最大值,再让他和接下来的一个比较,这就是N=3的情况,再把三个中的最大值和第四个比较,这就解决了N=4,以此类推,我们似乎找到了通用的算法,是的,找到前N-1个中的最大值,然后与第N个比较。不要怀疑,这个算法方向是正确的。接下来就是把它细化使他能变成代码。你注意到,首先要设法从1增加到N,而且每次前进一步都要做类似的操作。显然用一个循环来实现。每一次循环中,都需要将保留的最大值和当前的这第n个数比较,如果最大值比他大,那就保留,否则就要把最大值替换成新的。这就是条件语句的作用了。写完这个循环之后,还有些小细

15、节,比如这个最大值在于第一个数比较之前应该是多少呢,太大的话,可能会比整个数列的数都大,这就会出问题,常用的做法是,就让他等于第一个数。然后包括读入那N个数,输出这个最大值这些琐碎的细节就属于收尾工作了,没什么可多谈的。当然,即使是这样的小题,也不仅这一种算法。你记不记得有一种叫做单淘汰赛的机制,最后顶点的就是最大值。用在这个地方正合适。不过,如果要把这个淘汰赛算法实现成程序的话,如何实现分组,如何表达这个淘汰过程和取出顶点的值,正是算法描述里要解决的。这个就是排序里很有名的最大堆排序。一旦算法描述齐备,程序编写不过是打字校对的工作。现在你明白本节讨论的情况的实质在哪里了吧,是的,是算法。为什

16、么你可以看懂别人的程序呢,因为他的算法隐含在程序中已经被实现了。就像你读一段高明小说家的风景人物描写,总能在眼前浮现出那幅画面。但轮到自己写,却描绘不出那样的画面。一方面是因为你胸无成竹,不知道怎样找到可实现的算法,另一方面是即使你找到了算法,也是爱你在心口难开,也不清楚怎样去表达他。算法总是从问题出发,通过一定的模式,逐渐细化再细化,直到可以直接转成程序。新手很难一下子领会怎样的算法是可以实现的。但好在新手接触的问题不是很难,算法通常很清楚明白,所以重点先要解决后面那个表达的问题。这就是为什么我建议各位默写教材上的例题程序的原因。很显然对于那些例题,只要你用心看过就会领会他的算法。那么,你再

17、默写一遍,即使和他的原程序样子不一样,也总算是把这个算法表达出来了。反复这样练习,这个表达问题不就解决了么。而且在这个过程中,至少你学到了一个算法。基于此原则,任何你遇到的可以看懂的例程,我都建议你默写它。尤其是例如等级考试的题库的标准答案那样的东西,以及开源的精品代码。 我英语XX不行,咋办无法回避的事实,今日世界中的信息技术,绝大部分是欧美人的发明,更明白地说,是美国人的功劳。顺理成章的,各种资料文档技术手册,尤其是记载最新技术的,都是用美国通用语也就是英语撰写的。可能在其他领域不懂英语没有什么问题,但在IT业,不懂英语就是无法掌握最先进的技术,基本等于没有出头之日。话说回来,不是说你一定

18、要有个托福雅思的高分才能去学编程的。就编程本身而言。他所需要的英语水平不过是死记硬背三五个单词而已。你在看好莱坞大片时,一部片子下来总能记住主角和主要配角的名字吧,C语言全部关键字一共32个,而其中有6到7个的使用率超过78%。这样你还有什么可担心的。但是,要想成为高手,阅读大量的相关资料是免不了的,这个时候,英语就显出它的重要性了。刚才谈过算法。前辈们已经总结出很多算法和产生算法的方法,我们可以直接学习。如果你积极进取,总有一天,你会发现有需要自己开创新的算法的时候。这个时候,数学功底会帮你很大的忙。也许只是数学工具在起作用,但更有可能是你的大脑受过的数学思想训练在帮助你。总之,为了前途着想

19、,提高数学素养是没错的。这不是说多背数学公式和多做数学题,而是指一种数学的思维方式。看不懂英语,那编程还有什么前途。数学不行,成为大师的希望不大了。不能上网,你完蛋一半。没有机器,难道要我买给你。指法不行,练去。记得没人会同情你,我亲爱的兄弟。不会就去学吧,没有什么是不可跨越的障碍。请记住这段话:在信息时代,任何主观障碍都不存在。如果你要研发什么新技术的话,只需要一台便宜的二手电脑、一张linux光盘和一个上网账号,再加上为之献身的决心,你就可以达到想要的任何编程深度。这话是一位大牛说的,那是谁,回想一下提问的智慧,然后自己上线查。关于态度、情绪和其他和技术无关,关于学习态度和方法的一些提示。

20、循序渐进学编程 一个程序员给初学编程人的建议 c语言学习经验-请不要做浮躁的人 成为软件高手的几个忌讳程序员四大忌 =分割线=二、选择C/C+语言C语言是什么C语言是一种计算机编程语言。语言是什么,请查阅上面的内容。1970年前后,AT&T 贝尔实验室的 Ken Thompson根据BCPL语言设计出较先进的并取名为 B的语言,之后Dennis Ritchie在此基础上设计发明了C语言, 并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。随后,C语言和UNIX操作系统一起,攻占了计算机世界的大片领地。在发展的过程中,出现了许多略有差别的C语言版本。1989年,美国国家标准研究所(

21、ANSI)为C 语言制定了一套ANSI标准, 成为现行的C语言标准,就是所谓的C89。当然经过10年的发展,在C89的基础上又颁布了C99标准。现在流行的大部分编译器完全支持C89,部分编译器完全支持C99。对于初学者来说,掌握经典的C89即可。C+语言是什么C+和C的关系非比寻常。1979年,当Bjarne Stroustrup在新泽西州的Murray Hill实验室工作时,发明了C+。Stroustrup 最初把这种新语言称为“带类的C”,1983年,改名为C+。C+通过增加面向对象的特性扩充了C。因为C+产生在C的基础之上,因此它包括了C所有的特征、属性和优点。在这个意义上,你可以认为C

22、+是C语言的进化,这个进化的原因是复杂性(complexity)。一旦一个程序的代码超过25 000100 000行,就很难从总体上把握它的复杂性了。C+突破了这个限制,帮助程序员理解并且管理更大的程序。当然今天的C+已经不只是C的进化那么简单,他还包含了其它很多很多的新内容,它是如此的复杂以至于你要花上几倍于学习C的时间来学习他。但由于他和C的历史渊源,所有支持C+的编译器都能支持C。因此他俩也就被合称为C/C+语言。C+对于C的进化着重体现在规模上,几乎C+的所有新特性,都是为大规模编程服务的。如果说C语言编程是单兵小组作战的话,C+编程就是集团军运动。为何要选择纯C在某些时候,我们不得不

23、只使用C语言而不是C+,这种情况称为纯C编程。最常见是因为以下两个原因:C+的语法很复杂,所以C+的编译器很难制作。因此在很多平台上没有现成的C+编译器,而C编译器因为足够简单,几乎到处都有,这时就只能用纯C。实际上最初的C+编译器也是用C语言来实现的。仍然是因为C+很复杂,为了实现很多特性,做出的程序往往比用C做的类似功能程序体积要大很多,在程序的空间和时间要求比较高的时候,也只好选择纯C。上面两种情况经常共同出现,实例之一就是嵌入式设备。各种单片机往往没有足够的内存和处理器能力,在上面实现C+编译器也比较困难,因此往往是纯C开发,而非C+。C/C+语言和其他语言有什么关系java 只要用一

24、句话就可以概括,它是一种简化了的跨平台的C+语言。掌握了C+的人,学习java几乎是轻而易举。basic pascal delphi(其实是objectPascal) perl python 还有其他诸如此类的语言,或者与c处于同一档次,或者与C+处于一个水平,学过C/C+之后,再去学习他们是很容易的事。作者个人比较偏爱和看好python,它的很多特性使他极有前途。lisp Scheme是和C的思维方式完全不同的一类,被称为函数式编程语言,在人工智能等领域有奇妙的应用。有兴趣的朋友可以去领略,如果你要成为一个大师,至少要学习其中的一种。我为什么要学C/C+语言考试的人不用讨论这个问题,他们没有

25、选择。如果我们有选择,为什么我们学习C语言而不是别的。首先因为C本身是非常优秀的,他是世界上最伟大的编程语言之一。许多人认为C语言的产生标志着现代计算机语言时代的开始。它成功地综合处理了长期困扰早期语言的矛盾属性。C语言是功能强大、高效的结构化语言,简单易学,而且它还包括一个无形的方面:它是程序员自己的语言。它的设计、实现、开发由真正的从事编程工作的程序员来完成,反映了现实编程工作的方法。它的特性经由实际运用该语言的人们不断去提炼、测试、思考、再思考,使得C语言成为程序员们喜欢使用的语言。在编程规模越来越大的今天,用C往往会遭遇协作型的问题,而C+在保持了C的高效的同时,实现了大规模协作的可能

26、,因而成为了真正工业化的语言。C/C+的优秀,使得他是主流的,在20世纪70年代末和80年代初,C成为了主流的计算机编程语言,至今仍被广泛使用。今天几乎所有的操作系统、大部分的(大于70%)的应用软件,90%以上的大型游戏都是用C/C+编写的。在对运行速度和资源占用有严格要求的领域,比如游戏、即时控制、嵌入系统,基本都是C语言内嵌汇编语言的天下。今天只有一种语言的性能比C强,那就是汇编,优化过的C程序的速度大约是汇编的95%-98%。但汇编基本不是常人用的。所以实际上C就是最快的语言。主流的就意味着资料丰富。不论是编程时所需要的文档,还是学习的示例代码,甚至是平台提供的接口和库,C/C+语言版

27、本都是最丰富的。业界的算法研究理论研讨,大部分都是C/C+语言,开源代码的78%以上是C/C+.任何一家硬件软件公司,当他开发一款能够编程的设备或是软件,必然会提供C语言的接口函数。其他的语言,就不一定有这样的好处了。不论是计算机图形学、加密解密还是计算机编程的其他领域,C/C+简直就是编程界的普通话。根据 International Data Corporation 的统计,C/C+ 是全球开发者使用最多的编程语言。如果确实要投身编程界,不懂C/C+的话,根本就是Mission Impossible。如果你还不明白,我只需举一个小例子。假设你现在有机会去学习一门外语,投入时间差不多,你会选择

28、学习英语呢,还是斯瓦希里语呢。(斯瓦希里语流行于非洲东部,为肯尼亚坦桑尼亚等国的官方语种)当然,并不是说其他语言不值得学习,存在即是合理,今天存在的各种语言,当然都有它存在的价值,多学一点没有坏处。没有人禁止你在学会英语的基础上再学习法语日语等等。况且为了找工作等现实原因,学习其他语言也是非常正常和必要的。无论过去、现在还是将来,天底下不存在哪一门语言非学不可才能成为高手,思想最重要,“不会XXX语言不算真正的高手”之类的言论实在无聊之至。学C/C+,主要还是通过他学习编程思想。真正的武林高手,难道会局限于手里的那把大剑吗。但我们还是强烈建议初学者从C语言开始,因为除了上面所提的好处,C语言还

29、足够的简单。初学者或许会觉得C很难,但请记住,那些是编程之难,不是C之难。当你学过三种以上语言的时候,就会越发体会到C的简单。 Python语言 作者的另一推荐虽然如上所述,C/C+语言有如此之多的好处,但他也不是完美无缺的,第一个致命弱点是复杂性。为了应付千奇百怪的需求,C+提供了很多奇妙的语法从而实现了各种现代编程特性,这就使得C+变得异常复杂。可以充分体现这个情况的一个事实就是,迄今为止,还没有哪个C+的编译器是100%完全实现C+官方标准的。如果有一个程序员对你夸口说他已经彻底掌握了C+的话,你基本可以断定他接触C+还没超过半年。幸好C语言还没有复杂性的困扰。但是开发效率也是C/C+的

30、致命伤。因为过于接近硬件底层,C/C+程序在运行时几乎可以调动一切资源,取得最高的性能。但与此同时,C/C+程序员必须小心维护程序的运行状态,稍有不慎,轻则文件丢失内存泄露,重则死机甚至导致整个系统软硬件崩溃也是有可能的。所谓高收益必与高风险相伴就是这个道理。这就使得开发时必须小心谨慎,开发效率也就提不上去。对于性能要求极高的程序,比如要求大量高速3D计算的计算机游戏、密集科学计算的工程软件、同时应付巨量用户的网页和数据库服务器,使用C+是当仁不让的选择。但是对于很多应用来说,些许的延迟是可以忍受的。举例来说,在某个工程中想要得到圆周率的后十万位,如果此时我们不在乎0.25秒和1.25秒运算时

31、间之间的差别的话,就可以选择开发效率极高,而计算速度相对较慢的其他语言来实现。在所有这些其他语言中,本文作者强烈推荐的是 Python语言。由创始人Guido van Rossum在1989年圣诞节期间创造出来的Python语言,是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。Python语言有两大关键特点。首先他被称为是一门清晰的语言。因为它的作者在设计它的时

32、候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:There should be one- and preferably only one -obvious way to do it。这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(Theres More Than One Way To Do It)完全相反。Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进

33、)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。简单来说,几乎所有的python程序看起来都是一个样子的,而相对的,人们说,到哪里去找一段随机字符,读一段perl程序就行。第二个特点是他被称为胶水语言。哦,这可不是说他会把你的手指给粘住。他的意思是他可以象胶水一样,把用其他语言制作的模块拼合起来。很多人是这样用python语言制作大型程序的:他们先用python做出一个可用的程序,再把其中最影响性能的部分用C/C+语言重新写成模块(在已经满足要求的时候,根本就无需替换)。不用担心配合的问题,python的可扩充性完全可以胜任要求。可扩充性可说是Python作为一种编程语言的特色。新的

34、内置模块(module)可以用C/C+或其他语言写成。同时也可为现成的C/C+或其他语言模块加上Python的接口。这样一来,我们既能充分享受到python快速开发带来的效率,又能够实现足够强大的性能。再加上设计极为出色的三大内置数据类型:异构列表、元组、字典和从函数式语言学来的列表解析、对象自省、方法动态生成等突出特性,使得它的功能变得极为强大的同时程序又相当简洁。想想看,你能在C程序运行的同时,改变自身的代码让他再次以另一面貌运行么,python就可以轻松地做到。同样的功能,用python实现所需的语句仅仅是C的十分之一到二十分之一,而开发(包括调试)所需要的时间更可能只需要百分之一。Py

35、thon在编程领域的占有率一直处于稳步上升之中,根据2007年末最新的统计数据,Python排名第七。前六名分别是Java,C,VB,C+,PHP和Perl. 作为一个很年轻的语言,Python的位置已经相当令人振奋了。随着微软将Python纳入.Net 平台(官方行为),相信Python的将来会更加强劲发展。Python 很可能会成为.Net平台快速开发的主流语言。欲了解这方面情况,请参考Iron Python的相关信息。著名的搜索引擎 Google 大量使用Python,NASA等大站也在用。更加令人吃惊的是,在Nokia智能手机所采用的Symbian操作系统上,Python成为继C+,Java之后的第三个编程语言!可见Python的影响力之巨大。作者个人的观点是,Python语言是少有的一种可以称得上即简单又功能强大的编程语言。对于工程师会计师这类非职业程序员(本人就是),在平时需要某种语言来编写程序解决一些小问题的时候(例如做个土方计算,分析某种投资的收益,批处理一些文件的改名压缩之类),python是比C语言更好的选择。即使对职业程序员,python也是称手的工具。总之,python就是手边的语言。=分割线=三、其它一些重要的概念计算机原

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!