




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
怎样学习C语言很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭。为什么C语言如此重要呢?第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。第三:很多新型的语言都是衍生自C语言,C+,Java,C#,J#,perl.哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。那么究竟怎样学习C语言呢?1:工欲善其事,必先利其器这里介绍几个学习C语言必备的东东:一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C+,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。一本学习教程,现在C语言教材多如牛毛,但推荐大家使用C语言程序设计谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。2:葵花宝典学习计算机语言最好的方法是什么?答曰:读程序。没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了 一、C 语言的产生与发展 C 语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。 它由早期的编程语言 BCPL( Basic CombindProgramming Language) 发展演变而来。在1970年, AT&T 贝尔实验室的 KenThompson根据BCPL语言设计出较先进的并取名为 B的语言, 最后导了C 语言的问世。 随着微型计算机的日益普及, 出现了许多C 语言版本。由于没有统一的标准,使得这些C 语言之间出现了一些不一致的地方。为了改变这种情况, 美国国家标准研究所(ANSI)为C 语言制定了一套ANSI标准, 成为现行的C语言标准。二、C语言的特点C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多著名的系统软件, 如DBASE PLUS、DBASE 都是由C 语言编写的。用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 象PC- DOS 、WORDSTAR等就是用这种方法编写的。归纳起来C 语言具有下列特点:1. C是中级语言它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。2. C是结构式语言结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。3. C语言功能齐全 C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大, 可以实现决策目的。4. C语言适用范围大 C 语言还有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。 三、C语言的产生 Turbo C 是美国Borland 公司的产品,Borland公司是一家专门从事软件开发、研制的大公司。该公司相继推出了一套 Turbo系列软件, 如Turbo BASIC, TurboPascal, Turbo Prolog, 这些软件很受用户欢迎。该公司在1987年首次推出TurboC 1.0 产品, 其中使用了全然一新的集成开发环境, 即使用了一系列下拉式菜单,将文本编辑、程序编译、连接以及程序运行一体化, 大大方便了程序的开发。1988年, Borland 公司又推出Turbo C1.5版本, 增加了图形库和文本窗口函数库等, 而Turbo C 2.0 则是该公司1989年出版的。Turbo C2.0在原来集成开发环境的基础上增加了查错功能, 并可以在Tiny模式下直接生成.COM (数据、代码、堆栈处在同一64K 内存中) 文件。还可对数学协处理器 (支持8087/80287/80387等)进行仿真。Borland 公司后来又推出了面向对象的程序软件包Turbo C+&127+&127,&127 &127它继承发展Turbo C 2.0 的集成开发环境, 并包含了面向对象的基本思想和设计方法。 1991年为了适用Microsoft 公司的Windows 3.0 版本, Borland 公司又将TurboC+ 作了更新, 即Turbo C 的新一代产品Borlandc C+也已经问世了。2 Turbo C 2.0基本配置要求 Turbo C 2.0可运行于IBM-PC系列微机, 包括XT, AT及IBM 兼容机。 此时要求DOS 2.0或更高版本支持, 并至少需要448K的RAM, 可在任何彩、单色80列监视器上运行。支持数学协处理器芯片, 也可进行浮点仿真, 这将加快程序的执行。3 Turbo C 2.0内容简介 Turbo C 2.0有六张低密软盘(或两张高密软盘)。下面对Turbo C 2.0的主要文件作一简单介绍: INSTALL.EXE 安装程序文件 TC.EXE 集成编译 TCINST.EXE 集成开发环境的配置设置程序 TCHELP.TCH 帮助文件 THELP.COM 读取TCHELP.TCH的驻留程序 README 关于Turbo C的信息文件 TCCONFIG.EXE 配置文件转换程序 MAKE.EXE 项目管理工具 TCC.EXE 命令行编译 TLINK.EXE Turbo C系列连接器 TLIB.EXE Turbo C系列库管理工具 C0?.OBJ 不同模式启动代码 C?.LIB 不同模式运行库 GRAPHICS.LIB 图形库 EMU.LIB 8087仿真库 FP87.LIB 8087库 *.H Turbo C头文件 *.BGI 不同显示器图形驱动程序 *.C Turbo C例行程序(源文件)其中: 上面的?分别为: T Tiny(微型模式) S Small(小模式) C Compact(紧凑模式) M Medium(中型模式) L Large(大模式) H Huge(巨大模式四、C语言的安装与启动Turbo C 2.0的安装非常简单, 只要将1#盘插入A驱动器中, 在DOS的A 下键入: AINSTALL 即可, 此时屏幕上显示三种选择: 1. 在硬盘上创造一个新目录来安装整个Turbo C 2.0系统。 2. 对Turbo C 1.5更新版本。 这样的安装将保留原来对选择项、颜色和编辑功能键的设置。 3. 为只有两个软盘而无硬盘的系统安装Turbo C 2.0。 这里假定按第一种选择进行安装, 只要在安装过程中按对盘号的提示, 顺序插 入各个软盘, 就可以顺利地进行安装, 安装完毕将在C盘根目录下建立一个TC 子目录, TC下还建立了两个了目录LIB和INCLUDE, LIB子目录中存放库文件, &127INCLUDE 子目录中存放所有头文件。 运行Turbo C 2.0时, 只要在TC 子目录下键入TC并回车即可进入Turbo C 2. 0 集成开发环境BORLAND 兴衰成败,绝对好文章,虽然很长一挥间宝兰灰飞烟灭,刹那间微软如日中天。世事如朝之白露,誰与争?李维与宝兰的故事 聲明以下的這篇文章內容是我個人的回憶以及看法,沒有任何特別的偏見,許多的事情是根據我的記憶以及從許多人的訴說中得知的,也許內容不是百分之百的正確,不過我想這些內容有一定的可信度到是可以保證的。當然有一些事情確定的發生時間和順序不一定都和我的記憶一致,不過我想大部份應該是相去不遠的。當然各位如果知道確定的事件而我的記憶有誤,那麼我將非常歡迎您糾正我,我希望這些故事的經歷能夠一直陪我走下去,謝謝。一直想寫一篇我個人在過去10多年來工作中經歷的一些事情,以及看著一些我認為是偉大的工程師在這些日子中對於資訊界的貢獻。如果你和我的年齡差不多,那麼你可能會對於這些內容很有興趣,因為它們說明了當時許多軟體的興起和沒落的過程以及原因。雖然這些事情已經距離我們很遙遠了,但是我相信許多人仍然對於背後的故事有興趣。如果你沒有經歷過那段美好的回憶,那麼就把這些內容當成是一個有趣的故事來看吧。但是我想更重要的是讓我們一起認識一些偉大的人物,我對於其中的許多人都非常的佩服,也非常的羨慕。我常常在想,如果我也有他們的環境,我是不是也能夠和他們一樣這麼有成就呢?這些人對於以往都有重要的貢獻,在未來也將仍然有重要的影響,因為他們都有一身不凡的技術。對於許多重要的人我都儘量的收集了他們的照片,讓各位也能夠看看這些優秀的工程師和傑出娜宋铩斎唬绻魑灰材軌驈倪些內容中學習到失敗的原因以及成功的經驗,那麼這篇文章就更有價值了。和Borland的緣由記得我在大學時第一個在PC上使用的軟體便是SideKick,至今我仍然無法忘記這個讓我津津樂道的軟體,而Borland在當時也就是以SideKick成為全球知名的軟體公司。不過Borland第一個奠立創業基業的軟體卻是我大二使用來交作業的Turbo Pascal。而Turbo Pascal也是第一個我聽到關於Borland的有趣的故事當年Philippe Kahn (Borland的創使人)和Anders Hejlsberg到美國創業時,便由Anders以組合語言撰寫了Turbo Pascal的編譯器,而Philippe則包辦了Turbo Pascal其他的部份。在這兩位人兄開發完Turbo Pascal之後,窮得快連登廣告的錢都沒有了。但是Philippe為了在Byte雜誌(還記得這個著名的雜誌嗎?)刊登Turbo Pascal的廣告,因此和Anders商量了一個方法,那就是一天他們約了Byte雜誌的人到當時Borland的辦公室討論刊登廣告的事情。當Byte的人到了Borland之後,Philippe,Anders和公司的助理小姐故意忙著接電話,接受Turbo Pascal的訂單,並且告訴Byte雜誌的人等一下。過了一陣子之後Philippe才進入房間向Byte的人道歉,說他們的Turbo Pascal受到市場的熱烈歡迎,訂單源源不斷的到來,因此可能不需要在Byte雜誌刊登廣告了,接著Philippe向Byte的人展示Turbo Pascal這個產品。由於在當時的機器中Turbo Pascal能夠在少少的RAM中常駐執行,又提供閃電般的編譯速度,立刻讓Byte雜誌的人震驚在當場,憑著專業知識和豐富的經驗,Byte的人也立刻知道這將是一個革命性的軟體,因此馬上希望Philip能夠在Byte雜誌刊登Turbo Pascal的廣告,並且願意以半價刊登。當然,Philip也立刻的答應了,於是一個革命性的軟體Turbo Pascal終於在Byte雜誌刊登出來了,售價49.99美元的Turbo Pascal立刻為Borland帶來了大量的財富,Turbo Pascal也立刻的成為PC上除了基本的Basic之外最暢銷的開發工具,也正式揭開了Borland影響PC開發工具10幾年的序幕。在Turbo Pascal之後,Borland接著推出了SideKick這套軟體,SideKick可以說是隨後著名的記憶體常駐軟體(TSR)的始祖,也是讓Borland跨出開發工具界,讓幾乎所有PC使用者認識Borland的關鍵軟體。當然SideKick也很快的成為了全球的暢銷軟體,繼續的把Borland往頂尖的軟體公司上推。而Turbo Pascal也成了我大二,大三撰寫作業的最愛,幾乎所有的作業都是使用Turbo Pascal完成的,當然其時Horowise的Data Structure這門課也是使用Turbo Pascal過關的,因此從那個時候開始我便非常喜歡Borland這家公司,慢慢的也開始對Borland有了特別的感情。大二時Microsoft也推出了Microsoft Pascal,但是它和Turbo Pascal的確是有一段差距,我使用了一次之後便把它丟到垃圾桶。稍後Borland也推出了Turbo Basic,我記得這個編譯器非常的棒,編譯速度就和Turbo Pascal一樣,是一個非常有前途的產品。但是我不知道為什麼它只有1.0,之後便和Microsoft Pascal一樣消失了。我聽說Microsoft和Borland互相交換條件,Microsoft不進入Pascal的市場,而Borland則退出Basic的市場。至於是不是真的我就不得而知了。在大二初次的接觸到C語言,第一本閱讀的書便是王興隆先生寫的C語言,也從此開始和C語言結下了淵源。平生第一個使用的C編譯器便是Lattice C,不知道還有沒有人記得。我還記得那個時候使用2個5又1/4磁片抽換以便編譯C程式的情景。稍後Borland終於推出了風行天下的Turbo C編譯器,當然,從此之後Turbo C便成了不離身的工具,而Borland也藉由Turbo C這第三項暢銷產品邁向了世界前10名的項尖軟體公司。當完2年的兵之後,我在中研院首次使用了C+語言,第一個使用的C+編譯器則是Zortech C/C+,這家公司稍後被Symantec收購成為Symantec C/C+的核心,這個故事稍後再說。後來Borland也推出了Turbo C/C+ 1.0這第一個C/C+編譯器,但是在我和Zortech C/C+比較之後,還是覺得Zortech C/C+比較好,因此就繼續使用Zortech C/C+。一直到Borland的Turbo C/C+ 2.0編譯器推出之後,才逐漸成為C/C+語言的王者,而我也像以往一樣把Zortech C/C+換成了Turbo C/C+。在1991年到Georgia Institute Of Technology唸碩士時,終於使用自己的零用錢美金49.99購買了生平第一套的正版軟體Turbo C/C+ 4.5,隨後又購買了Borland Pascal。在畢業前的一個Quarter,Microsoft 推出了Microsoft C/C+ 6.0以及MFC 1.0,由於是第一個C/C+的Framework,因此也花了一些錢購買了一套以便瞭解MFC。但是在收到之後卻很失望,因為Microsoft C/C+ 6.0仍然沒有圖形整合發展環境,還是在DOS下的整合發展環境,而且MFC 1.0以我的眼光來看又不好用,而且Microsoft C/C+ 6.0的C/C+最佳化編譯器在其時是一個笑話,不但產生的程式碼效率不好,甚至會產生錯誤的程式碼,許多雜誌也稱Microsoft C/C+ 6.0是一個平庸的(Mediocre)產品。因此就把它丟在一邊。在Microsoft C/C+ 6.0不久之後,Borland終於推了Borland C/C+ 3.0。而這套軟體也開啟了Borland雄霸C/C+編譯器常達5,6年之久的序幕。Borland C/C+ 3.0推出之後由於擁有第一個在Window下的穩定的圖形整合發展環境,而且它產生的最佳化程式碼也是Microsoft C/C+ 6.0望塵莫及的,因此很快的幾乎所有的C/C+程式師轉而使用Borland C/C+ 3.0。因此在那個時候有一個現象,那就是幾乎所有的公用程式或是Shareware都是使用Borland C/C+開發的,許多硬體廠商的驅動程式也是使用Borland C/C+ 3.0來撰寫的。1992年我取得Georgia Institute Of Technology的碩士學位之後最想進入的公司便是Borland和Microsoft,不過最後我還是決定回台灣工作。在此時Borland也進入了最巔峰的時期,因為Borland推出了Borland C/C+ 3.1。Borland在Borland C/C+ 3.0獲得空前的勝利之後,並沒有鬆懈下來,因為Borland知道Borland C/C+ 3.0還缺了一個最重要的勝利因子,那就是如同Microsoft的MFC一樣的C/C+的Framework,因為Borland也看出了Framework將會是未來C/C+產品中最重要的一環科技。不過Borland此時面臨了一個重要的十字路口,那就是到底要自己開發一個和MFC抗衡的Framework,還是要如何做。因為如果要自己開發Framework,那麼勢必要花上一些時間,但是Borland想趁Borland C/C+ 3.0如虹的氣勢再下一城,以便徹底擊潰Microsoft C/C+。因此最後Borland決定向一家叫White Water的公司購買一套由這家公司開發的一個Framework,這套Framework便是後來鼎鼎大名的OWL的源流。而Borland也因為向White Water購買了這套Framework,因而也引進了一個日後非常重要的人物,那就是後來負責開發Delphi的一員大將 - Zack Urlocker。C/C+的光榮戰役在Borland購買下White Water的C+ Framework之後,便更命為OWL(Object Window Library),並且很快的推出了以OWL 1.0為核心的Borland C/C+ 3.1。由於OWL比當時的MFC 1.0封裝的更為完整和好用,再加入Resource Workshop視覺化能力,以及Borland C/C+ 3.1自己最強勁的編譯器和整合發展環境,因此立刻的風靡了全世界,其受歡迎的程度更是遠遠的超過了它的前一版本Borland C/C+ 3.0。由於Borland C/C+ 3.1的暢銷,立刻讓Borland在C/C+市場一舉擊潰了Microsoft C/C+,市場佔有率超過了50%,是全球第一的C/C+產品,也把Borland推上了最高峰,成為全世界第三大的軟體公司。很快的,我所工作的開發小組也立刻的以Borland C/C+ 3.1來開發系統,Borland C/C+ 3.1也是我使用過Borland最穩定的C/C+版本之一。也由於那個時候一天到晚都使用C/C+工作,因此就有了一些小心得。稍後我整理了一些東西便投稿到剛出刊不久的RUN!PC,也許是邭獠诲e,RUN!PC很快的也登出了我的文章。就是這篇文章登出之後,台灣的Borland注意到了我,開始和我連絡,並且從此展開了和Borland的互動。而Borland C/C+ 3.1也是第一套Borland免費送我的軟體,當然代價就是希望我多寫一些Borland產品的文章。接著Borland又計劃推出Windows版的Borland Pascal,不過在Borland開發Borland Pascal For Windows 時,當時(現在也還是)最具盛名的Charles Petzold(我的第一本Windows 程式設計的書就是這位仁兄寫的,相信許多人也是看他的書一路學來的)就說除了C/C+之外,Borland不可能做出能夠在 Windows 下執行的Borland Pascal,不過很明顯的,即使是Windows API的大師Charles也錯了。Borland不但做出來了,而且Borland Pascal For Windows 還非常的暢銷,當然Borland Pascal For Windows 也是後來Delphi的根基。當時的Borland可說是不可一世,不但產品大賣,而且日進斗金。Borland在Scotts Valley豪華的總部也是在那個時候由Philippe Kahn大手筆的花了一億多美金搭建的(想想10年前的60多億台幣可以蓋什麼樣的房子?)。不過也許是Borland太成功了,因此也開始讓Philippe Kahn漸漸的養成了好大喜功,目中無人的態度,也種下了Borland開始走向衰退的因子。Borland 位於美國加州 Scotts Valley 總部不過在Borland最強盛的時期,當然也就是Microsoft最想痛宰Borland的時候,在這個時候發生了一個著名的事件和一個著名的虛擬人物。話說由於當時Microsoft的開發工具一直打不過Borland的產品,因此在Microsoft的開發工具刊物上便出現了一個作者不斷的以文章嘲笑Borland,這個作者的筆名是Buck Forland。後來由於這位作者的文章內容以及他的筆名引起了當時Borland的不滿以及大量Borland使用者的強
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件模板设计
- 蚂蚁自然森林课件
- 胡桃夹子创意课件
- 保险从业岗前培训
- 课件模式教学课件
- 影城保洁管理培训
- 虫虫找朋友课件
- 运营技巧直播课件
- 课件显示格式错误
- 广东护理礼仪自考试题及答案
- 课堂高效学习的主阵地 教学设计-2023-2024学年高中上学期主题班会
- 2025年放射工作人员培训考试试题(附答案)
- 电力运行维护管理办法
- 高考熟词生义解密(复习讲义)-2026年高考英语一轮复习(北京专用)挖空版
- 2025年甘肃省高考政治真题卷含答案解析
- 2025年北京市中考英语试卷(含答案与解析)
- 浙江名校协作体(G12)2025年9月2026届高三返校联考英语(含答案)
- 2025年环保法律法规基础知识考试卷及答案
- 2026届新人教版高考物理一轮复习讲义:静电场及其应用(含答案)
- 专职安全生产管理人员综合类C证习题(含答案)
- 2025年市场监管总局机关公开遴选公务员面试模拟题及答案
评论
0/150
提交评论