踏上征程前的思想动员.ppt

上传人:hs****ma 文档编号:570596078 上传时间:2024-08-05 格式:PPT 页数:22 大小:384.81KB
返回 下载 相关 举报
踏上征程前的思想动员.ppt_第1页
第1页 / 共22页
踏上征程前的思想动员.ppt_第2页
第2页 / 共22页
踏上征程前的思想动员.ppt_第3页
第3页 / 共22页
踏上征程前的思想动员.ppt_第4页
第4页 / 共22页
踏上征程前的思想动员.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《踏上征程前的思想动员.ppt》由会员分享,可在线阅读,更多相关《踏上征程前的思想动员.ppt(22页珍藏版)》请在金锄头文库上搜索。

1、第1章 踏上征程前的思想动员首先要恭喜读者,无论出于什么样的原因,读者选择了自学C语言,这是一门强大而灵活的语言,同时也代表着学习上会遇到很多困难;但同样要恭喜读者选择了本书,因为笔者是十几年前自学的C语言,知道学习C语言的酸甜苦辣,因此笔者有信心带领读者轻松的学好C语言,用好C语言。本书面向的是纯C的初学者,初次接触C语言或者头一次接触编程领域。如果读者有过其他语言的编程经历,当然能帮助理解C语言。1.1 为什么选择C语言为什么要选择C语言?这个问题是每个读者要问自己的问题,如果掌握了C语言之后,还是不能满足读者的需求,那么学习C语言就是一件浪费时间的事情。笔者尝试回答这个问题,如果笔者的回

2、答不能令读者满意,也许读者该选择另外一门语言。1.1.1 在计算机领域,C语言大小通吃C语言的应用极其广泛,从网站后台,到底层操作系统,从多媒体应用到大型网络游戏,均可使用C语言来开发。(1)C语言可以写网站后台程序。(2)C语言可以写出绚丽的GUI界面。(3)C语言可以专门针对某个主题写出功能强大的程序库,然后供其他程序方便使用,从而让其他程序节省开发时间。(4)C语言可以写出大型游戏的引擎。(5)C语言可以写出另一个语言来。(6)C语言可以写操作系统和驱动程序,并且只能用C语言编写,Linux操作系统的全部源代码都可以从网上得到,要深入了解操作系统的运行秘密,懂C语言,就能看懂。(7)任何

3、设备只要配置了微处理器,就都支持C语言。从微波炉到手机,都是由C语言技术来推动的。1.1.2 掌握了C语言,其他类似语言不学自通当掌握了C语言后,再去学习其他面向过程的语言,最多一个星期就能学会。因为万变不离其宗,只是语法上有些许更改,而思想却没有更改。有些语言,甚至1个小时就明白如何使用。1.1.3 C语言久经考验,有现成的大量优秀代码和资料因为C语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。这就使读者能在过去程序的基础上,快速和高效的编写新的算法和函数。C语言是一个开源组织的语言。全球著名的开源组织网站“”,能找到任何想要的开源代码。C语言使用者众多,讨论者也就众多

4、,有数不尽的资料可以学习。1.1.4 简洁、紧凑,使用方便、灵活,功能强大,执行效率高所有的优点都是基于C语言的简洁、紧凑,使用方便、灵活,功能强大,执行效率高。C语言仅有32个关键字,9种控制语句,却能完成无数的功能。某些方面C语言可能确实不如其他语言优秀,比如字符串处理方面,就不如Perl语言;比如数值计算方面,就不如Fortran语言;比如人工智能方面,就不如Lisp语言。可是这些语言在其他方面却远远不及C语言。而且C语言有其他诸如表达力强,移植性好的特点,现在也许读者还无法理解,随着时间的推移,将会慢慢了解到。如果上面的回答还是不能满足读者的需求,那么最后一条,一定可以满足:精通了C语

5、言,工作不用愁!1.2 如何学好C语言无论出于什么目的,一旦下定决心准备学习C语言,就要端正思想,因为听说C语言难,所以觉得学不好,是不可取的。只要读者掌握一些方法,克服心理上畏难、不轻言放弃,是完全可以学好的。(1)多动手少求人!所有的问题都可以通过自己编写代码观察结果解决。凡是可以通过编写代码观察到结果的问题,都不应该成为一个问题。(2)多学习优秀代码。C语言灵活简洁,即使编写出不好的代码,也可以编译出可以运行的程序来,但是却有更优秀的编程技巧,可以让程序更好的工作,这就要求读者多学习其他人优秀的代码。(3)多以人类的思考方法来类比计算机。计算机非常简单,需要什么数据,如何获取这些数据,得

6、到后如何存放,如何处理,处理后如何表现,多问些为什么,如果人类来处理,需要什么东西,一旦理解了计算机的处理过程,编程,就是一件非常轻松的事情了。(4)C语言只是一个基础设施,要想编写强大的软件,必须学习相关操作系统的API(应用程序编程接口),熟悉其他类库的使用,才能开发出满足用户需求的软件来。 1.3 什么是语言,什么是C语言也许读者读到这里,对于C语言到底是什么还很模糊。有必要做一个解释。一提到语言这个词,人们自然想到的是像英语、汉语等这样的自然语言,因为它是人和人相互交流信息不可缺少的工具。而今天,计算机遍布了我们生活的每一个角落,除了人和人之间的相互交流之外,我们必须和计算机交流。用什

7、么样的方式和计算机做最直接的交流呢?人们自然想到的是最古老也最方便的方式语言。1.3.1 什么是语言类比人类的语言,比如汉语言,英语言,法语言,就可以总结些共性的东西出来:(1)语言是用来交流沟通的。有一方说,有另一方听,必须有两方参与。这是语言最重要的功能。语言就是用来表达意思传递信息的。说的一方传递信息,听的一方接受信息;说的一方下达指令,听的一方遵从命令做事情。没有语言,双方就无法交流沟通,也就只能单兵作战,独自发展,也许人类就灭亡了。甚至在远古时代,没有语言,人类可以通过眼神,通过动作,通过叫唤来传递信息,而这些,也可以看作是语言。这引出了语言的另一特点:(2)语言有独特的语法规则。交

8、流双方都了解明白并遵守这些规则。一个只会说汉语的中国人,和一个只会说法语的法国人,如果戴上面具,只通过嘴巴发出声音互相交流,结果一定是鸡同鸭讲,信息完全传递不出去。为什么?因为互相不知道对方的语法规则,当然听不懂了。为什么要戴面具?为什么只能通过嘴巴?因为人类的一些面部表情,身体动作,这些却是相通的,不通过声音,而通过肢体语言,也能多少表达出一些意思来。1.3.2 什么是机器语言计算机是一个忠实的仆人,时刻等候着主人的命令。如何才能使计算机听话呢?当然是用计算机听得懂的语言去命令它了。计算机的大脑或者说心脏就是CPU,它控制着整个计算机的运作。每种CPU,都有自己的指令系统。这个指令系统,就是

9、该CPU的机器语言。机器语言是一组由0和1系列组成的指令码,这些指令码,是CPU制作厂商规定出来的,然后发布出来,请程序员遵守。比如下面是某CPU指令系统中的两条指令:1000000加1001000减要让计算机干活,就得用这样的语言去命令它。这样的命令,不是一条两条,而是上百条。由于不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行。1.3.3 计算机如何执行指令是一个非常简单的示意图,表示个大概意思,实际上并不是这么简陋,但其核心思想却正如图所示。1.3.4 什么是汇编语言在倒下了一批用机器语言编程的程序员后,一批顽强而聪明的先行者终于发明了汇

10、编语言。一门人类可以比较轻松认识的编程语言。只是这门语言计算机并不认识,所以人类还不能用这门语言命令计算机做事情。如同上文提到过的中国人和法国人交流一样,如何才能让中国人说的话法国人明白呢?聪明的读者一定想到了:翻译!是,一个既懂汉语又懂法语的人,不就可以将中文翻译给法国人听么,二者不就又可以继续交流了么?所以,有一类专门的程序,既认识机器语言,又认识汇编语言,而且还很聪明,知道怎么把汇编语言翻译成机器语言。于是,人类和机器间的交流,终于又畅通了,而且人类可以比较轻松的编写程序了。1.3.5 面向过程的语言汇编语言和机器语言都是面向机器的,机器不同,语言也不同。既然有办法让汇编语言翻译成机器语

11、言,难道就不能把其他更人性化的语言翻译成机器语言?1954年,Fortran语言出现了,其后相继出现了其他的类似语言。这批语言,使程序员摆脱了计算机硬件的桎梏,把主要精力放在了程序设计上,不在关注低层的计算机硬件。这类语言,称为高级语言。同样的,高级语言要被计算机执行,也需要一个翻译程序将其翻译成机器语言,这就是编译程序。这类高级语言解决问题的方法是分析出解决问题所需要的步骤,把程序看作是数据被加工的过程。基于这类方法的程序设计语言成为面向过程的语言。C语言就是这种面向过程的程序设计语言。1.3.6 什么是C语言这本书就是告诉读者,什么是C语言的书。如果读者对C语言的历史比较感兴趣,可以参考其

12、他相关书籍。本书不再罗列众人皆知的东西了。一般来说,C语言可以简称C,注意C是大写的。至于什么是C语言,请读者自学完本书后,作一个定义。1.4 刻认识程序如何生产出来程序开发周期在Windows下,利用“记事本”(notepad.exe)这个小软件,我们可以输入文字,编辑文字,然后保存到计算机硬盘上。保存到硬盘上的数据以文件的形式存在,比如将文件保存到“d:”,在保存的时候,“记事本”软件会提示用户输入文件名和保存的路径,我们以“C.txt”作为文件名,以“d:”作为文件路径。保存后,通过Windows的文件浏览器定位到“d:”就可以看到文件“C.txt”。同样的,画图小软件可以信手涂鸦,也能

13、保存一个扩展名为bmp的文件到硬盘上。如图13。1.4.1 编辑C源代码编辑就是(1)逐个输入字符,如汉字、英文、标点符号或者其他可以用键盘输入的字符;(2)通过插入、删除、移动、复制、粘贴等方法修改已经输入的字符;(3)将输入修改完毕的所有字符保存到硬盘上。一篇由汉字、英文、标点符号或者其他可以用键盘输入的字符组合的内容被称作文本。能够进行文字编辑的软件被称作编辑器。源代码通俗的讲就是程序员输入编写的符合C语言语法规则的文本。比如下列片段就是一段源代码:void main(void)printf(“nHello World!”);1.4.2 编译C源代码编译是把C语言源代码翻译成用二进制指令

14、表示的目标文件。注意这里的目标文件与机器语言还有一段距离,并不是真正的机器语言,所以不能被计算机直接运行。编译着重于“译”,就是翻译。声明:读者要注意区分编辑和编译的概念。虽然一字之差,意义却大不相同。编辑,是指对文本的修改,插入,删除。而编译却是将编辑好的源代码翻译成目标文件。编译过程由C编译系统提供的编译程序完成。编译程序简称为编译器。编译程序运行后,自动对源程序进行句法和语法检查,当发现错误时,就将错误的类型和所在的位置显示出来,提供给用户,以帮助用户修改源程序中的错误。用户可以继续利用编辑器来方便的修改程序。修改好后,重新进行编译直到编译通过。如果未发现句法和语法错误,就自动形成目标代

15、码并对目标代码进行优化后生成目标文件。目标程序文件的扩展名.obj是目标程序的文件类型标识。不同的编译系统,或者不同版本的编译程序,它们的启动命令不同,生成的目标文件也不相同。扩展名有时候也不一定相同。当然格式也不相同。但是其作用相同。1.4.3 链接目标文件目标文件计算机还是不能执行的。多个源代码对应了多个目标文件,此时还没有将其组合装配成一个可以运行的整体。链接过程是用链接程序将目标文件、第三方目标文件、C语言提供的运行时库文件链接装配成一个完整的可执行的目标程序。链接程序简称链接器。可执行程序文件的扩展名“.exe”,是可执行程序的文件类型标识。绝大部分系统生成的可执行文件的扩展名是“.

16、exe”,但UNIX系统中,生成的可执行文件自动确定为“a.out”,除非在编译时用户特别规定自己的文件名。有的C编译系统把编译和连接放在一个命令文件中,用一条命令即可完成编译和连接任务,减少了操作过程。开发程序,除了程序员编写的自己的代码外,有时候会使用其他人提供的库文件。比如读者要编写一个mp3播放器软件,对于mp3解码部分,因为已经有现成的第三方代码库做好了这件事情,读者可以直接拿这个第三方库文件来使用。这个库提供的功能可供读者的播放器软件调用。为了方便开发,C语言也提供了一批库函数,一般编译厂商都会提供给开发人员使用。1.4.4 编译链接过程示例有时候为了叙述简便,将编译链接两个步骤,

17、统一用编译一个词语代替,读者应该清楚实际是经历过了两步。在VC.net 2003编程环境里,当用户下达“build”(构建)命令后,编程环境就开始编译链接工作。本节的示例,没有列出源文件,源文件是main.c,内容可以暂时不考虑,读者请关注编译、链接的步骤即可。1.4.5 运行程序运行程序是指将可执行的目标程序投入运行。以获取程序处理的结果。如果程序运行结果不正确,可重新回到第一步,重新对程序进行编辑修改、编译和运行。与编译、连接不同的是,运行程序可以脱离语言处理环境。因为它是对一个可执行程序进行操作,与C语言本身已经没有联系,所以可以在语言开发环境下运行,也可直接在操作系统下运行。1.5 V

18、C+,C+,C,TC:跳出这团浆糊认识开发环境和语言的区别这几个单词都带有C,可以说和C都有联系。(1)C就是指C语言了。(2)VC+ VC+,一般是指微软公司的Visual Studio 6开发套件中的Visual C+开发环境。Visual Studio 6套件,包含了Visual C+, Visual Basic, Visual FoxPro等开发环境。所谓开发环境,是集成了源代码编辑,编译,链接,调试等功能的一个综合程序。(3)C+C+,是另外一门有些类似C语言语法的面向对象的高级语言。虽然C语言不加修改就可以被C+编译器编译,但C和C+是完全不同思想的两门语言,不应将C+看作是C的超

19、集。(4)TCTC是Borland公司早年在16位机器上开发的C编程环境,是Trobe C 的简称。最后版本是2.0,一般简称TC2。一般学习C语言,都使用该编程环境,只是这已经算是老古董了,对于现在的操作系统,使用TC2来编写程序,已经很不合时宜了。(5)其他编译器及环境Linux下面开发软件,主要是使用GCC(the GNU Compiler Collection),GNU编译器集合,免费。1.6 小结本章带领读者囫囵吞枣式的学习了C语言的一些特征,这些特征其他书籍一般不特别强调。还了解了编程相关的一些背景知识。读者应该对什么是计算机语言有了一个大概的了解。要深入的精通一门语言,还需要更深入的学习。通过本章的学习,读者还应该了解一个可运行的程序如何被产生出来,了解了编程的步骤,也了解了开发环境和语言的区别。这些知识看似与语言学习关联不大,但是却对学习语言大有帮助。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号