| 网站首页 | 文秘公文 | 免费试题 | 教学用文 | 优秀教案 | 各类考试 | | |
您现在的位置: 东星资源网 >> 各类考试 >> 计算机等级考试 >> 最新动态 >> 正文 |
|
|||||
C++程序设计从零开始 | |||||
何谓程序 程序,即过程的顺序,地说应该是顺序排列的多个过程,其是方法的描述。比如吃菜,先用筷子夹起菜,再用筷子将菜送入嘴中,最后咀嚼并吞下。的夹、送、咀嚼和吞下就被称作命令,而菜则是资源,其状态(如形状、位置等)命令的而。 任何方法某些资源的状态而,任何方法的描述,也程序,也都有命令东西其所作用的资源。命令是由程序的者来的,比如上面的吃菜,的夹、送等由吃菜的人来的,而资源则是者可以的东西,而命令只是告诉者如何而已。 电脑程序和上面一样,是方法的描述,而方法人期望电脑能做的事(注意电脑要做的事,这经常一直混淆着许多人),当人需要做事时,人再给出某些资源以期电脑能对其做的。如计算圆周率的程序,其只是方法的描述,本身是任何效用的,直到它被,人为给定它一块内存(关于内存,请参考《C++从零开始(三)》),告诉它计算结果的精度及计算结果的存放位置后,其才人为给定的这块内存的状态以出计算结果。 ,电脑程序,命令CPU的指令,而者也就是CPU的指令而是CPU了,而最后的资源则CPU可以其状态的内存(当然不止,如端口等,不过应用程序都使用内存罢了)。,电脑程序电脑如何给定资源(是内存,也可以是硬件资源)的描述,注意是描述,本身任何意义,除非被。 何谓编程 编程编写程序,即制订方法。为要有方法?方法是说明。而之要有说明就有原因了,但电脑编程的原因是语言不同,且不同,连概念都不相通。 人类的语言五花八门,但都可以翻译正解,人类生同四维物理空间中,相同或类似的感知。而电脑程序时的CPU所能感受到的空间和物理空间严重不同,是不将电脑程序翻译成人类语言的描述的。这要,其了大程序员编写出的拙劣代码,人想的和电脑想的共性,在编写程序时就随机地无目的地编写,进而了拙劣却可以的代码。 电脑的语言CPU的指令,CPU就这感知途径(地说还有内存定位、中断响应等感知途径),不像人类还能有肢体语言,电脑编程将人类语言书写的方法翻译成的电脑语言,是翻译过程。这完全不同于的翻译,前面的红字,是不翻译的。 既然不翻译,那电脑编程到底是干甚?考虑木匠,我是客人。我对木匠说我要一把摇椅,躺着很舒服的那种。然后木匠开始刨木头,特殊的曲线制作摇椅下面的曲木以我摇的时候重心不变以感觉很舒服。这里我编了个简单的程序,一条指令——做一把摇着很舒服的摇椅。而木匠则将我的程序翻译成了刨木头、设计特定的曲木等一系列我看不懂的程序。之会,里我生活的空间和木工(是木工工艺,木匠)共性。这里木匠就于电脑程序员兼CPU(最后由木匠来制作摇椅),而木匠的手艺CPU的指令定义,而木匠就将我的程序翻译成了木工的规程,由木匠其手艺来规程,也程序。 上面我生活的空间和木工(指木工工艺,工人)共性,是不翻译的,但上面翻译了,是翻译的。在木工眼中,那个摇椅只是直木和曲木的拼接而已,木工空间中摇椅的概念,只是我那堆木头当作摇椅,进而使用。我把那堆木头当作凶器,则它凶器,摇椅了。 “废话加荒谬加放屁!”,也许你会这么大叫,但电脑编程这么一回事。CPU只能感知指令和内存的状态(不考虑的硬件资源及响应),编写了计算圆周率的程序,给出了一块内存,并,后就看见电脑的屏幕显示的结果。但注意,这里电脑只是将内存的数值复制、加减、乘除而已,电脑并不知道那是圆周率,而程序的人不把它说成是圆周率那么那个结果也就圆周率了,是随机数或的,只是运气极好地和圆周率惊人地相似。 上面的东西我将其称为语义,即语言的意义,其仅可应用在电脑编程,上许多技术,如机械、电子、数学等都有的语言,而那些设计师则将客户的简单程序翻译成语言描述的程序。程序员是极其有必要到语义的性的(我在我的另一篇文章《语义的需要》中对代码级的语义做过较详细的,有兴趣可以参考之),在后续的文章中我还将提到语义其对编程的,你还理解编程是意思,后续文章的阅读应该能够越来越明了。 电脑编程的基础知识——编译器和连接器 我从没见过(不过应该有)任何一本C++教材有讲过何谓编译器(Compiler)及连接器(Linker)(倒是在很老的C教材中见过),现在都类似VC的编程环境隐藏了东西,将封装起来。,对它们的理解是非常的,本系列后面将运用到这两个词汇,其决定了能否理解如声明、定义、外部变量、头文件等非常的关键。 前面说明了电脑编程“翻译”过程,用户的程序翻译成CPU指令,其实也机器代码。所谓的机器代码用CPU指令书写的程序,被称作低级语言。而程序员的工作编写出机器代码。机器代码完全是数字组成(CPU感知的一切数字,即使是指令,也只是1代表加法、2代表减法类的数字和工作的映射),人要记住1是代表加法、2是代表减法将,并且还要记住第3块内存中放的是圆周率,而第4块内存中放的是位数。发明了汇编语言,用符号表示加法而不再用1了,如用ADD表示加法等。 使用了汇编语言,人更容易记住了,电脑无法理解(其只知道1是加法,不知道ADD是加法,电脑只能看见数字),有个东西将汇编代码翻译成机器代码,也所谓的编译器。即编译器是将语言翻译成另语言的程序。 即使使用了汇编语言,但其几乎只是将CPU指令中的数字映射成符号以帮助记忆而已,使用的电脑的思考思考的,接近人类的思考习惯,故而了纷繁的电脑编程语言,如:PASCAL、BASIC、C等,其被称作高级语言,接近人的思考模式(C++的类的概念的推出),而汇编语言则被称作低级语言(C曾被称作高级的低级语言),它们很符合人类的思考模式,人类书写起来。CPU同样不认识PASCAL、BASIC等语言定义的符号,也同样有编译器把语言编写的代码转成机器代码。这里将要讲到的C++语言,则是C++语言编译器(以后的编译器均指C++语言编译器)。 ,这里所谓的编译器将书写的C++源代码转换成机器代码。编译器转换过程,其可以对编写的代码优化,也说其于是CPU指令程序员,将的程序翻译成机器代码,不过它的工作要简单了,从人类的思考转成电脑的思考过程由程序员了,而编译器只是翻译罢了(最多优化)。 还有编译器被称作翻译器(Translator),其和编译器的区别其是的而编译器是静态的。如前面的BASIC的编译器在早期版本就被称为翻译器,其是在运行时期即时翻译工作的,而不像编译器一次性将所有代码翻成机器代码。这里的“”、“静态”和“运行时期”等名词,不用刻意去理解它,后续文章的阅读就会了。 编译器把编译后(即翻译好的)的代码以格式(VC,COFF通用文件格式,扩展名为.obj)存文件中,然后再由连接器将编译好的机器代码按格式(在Windows操作系统下Portable Executable File Format——PE文件格式)存储在文件中,以便以后操作系统程序时能那个格式找到应该的条指令或东西,如资源等。至于为中间还要加连接器其它细节,在后续文章中将会说明。 也许你还到上面两个概念的性,但在后续的文章中,你将会它们是如此的以至于完全有必要唠叨一番。(来源:招生考试在线) 下载< |
|||||
文章录入:admin 责任编辑:admin | |||||
【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
相关最新动态 | 最新热点 | 最新推荐 | ||
名师指点:历年考研数学重点… 迈入六月天 2010考研大纲出来… 我的暑期我做主:2010考研数… 2010年考研数学线性代数解题… 专家指导:2010年考研数学命… 2010年考研数学指导:掌握学… 名师指点:搜索2010考研数学… 六月备考:为你量身定制2010… 2010年考研数学复习名师忠言… 我的暑期我做主:成就2010年… |
各类考试导航: |
| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | | |
Copyright (c) 2005-2010 Www.dxf5.com All Rights Reserved 东星资源网 版权所有 东星资源网提供文秘公文,免费试题,教学用文,优秀教案,各类考试,全国最大的免费资源网! |