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

上传人:zhu****ei 文档编号:5404691 上传时间:2020-01-28 格式:PPT 页数:22 大小:189.50KB
返回 下载 相关 举报
踏上征程前的思想动员.ppt_第1页
第1页 / 共22页
踏上征程前的思想动员.ppt_第2页
第2页 / 共22页
踏上征程前的思想动员.ppt_第3页
第3页 / 共22页
点击查看更多>>
资源描述
第1章踏上征程前的思想动员 首先要恭喜读者 无论出于什么样的原因 读者选择了自学C语言 这是一门强大而灵活的语言 同时也代表着学习上会遇到很多困难 但同样要恭喜读者选择了本书 因为笔者是十几年前自学的C语言 知道学习C语言的酸甜苦辣 因此笔者有信心带领读者轻松的学好C语言 用好C语言 本书面向的是纯C的初学者 初次接触C语言或者头一次接触编程领域 如果读者有过其他语言的编程经历 当然能帮助理解C语言 1 1为什么选择C语言 为什么要选择C语言 这个问题是每个读者要问自己的问题 如果掌握了C语言之后 还是不能满足读者的需求 那么学习C语言就是一件浪费时间的事情 笔者尝试回答这个问题 如果笔者的回答不能令读者满意 也许读者该选择另外一门语言 1 1 1在计算机领域 C语言大小通吃 C语言的应用极其广泛 从网站后台 到底层操作系统 从多媒体应用到大型网络游戏 均可使用C语言来开发 1 C语言可以写网站后台程序 2 C语言可以写出绚丽的GUI界面 3 C语言可以专门针对某个主题写出功能强大的程序库 然后供其他程序方便使用 从而让其他程序节省开发时间 4 C语言可以写出大型游戏的引擎 5 C语言可以写出另一个语言来 6 C语言可以写操作系统和驱动程序 并且只能用C语言编写 Linux操作系统的全部源代码都可以从网上得到 要深入了解操作系统的运行秘密 懂C语言 就能看懂 7 任何设备只要配置了微处理器 就都支持C语言 从微波炉到手机 都是由C语言技术来推动的 1 1 2掌握了C语言 其他类似语言不学自通 当掌握了C语言后 再去学习其他面向过程的语言 最多一个星期就能学会 因为万变不离其宗 只是语法上有些许更改 而思想却没有更改 有些语言 甚至1个小时就明白如何使用 1 1 3C语言久经考验 有现成的大量优秀代码和资料 因为C语言已经存在很多年了 它有广泛的使用团体并且有大量的现成代码可以利用 这就使读者能在过去程序的基础上 快速和高效的编写新的算法和函数 C语言是一个开源组织的语言 全球著名的开源组织网站 能找到任何想要的开源代码 C语言使用者众多 讨论者也就众多 有数不尽的资料可以学习 1 1 4简洁 紧凑 使用方便 灵活 功能强大 执行效率高 所有的优点都是基于C语言的简洁 紧凑 使用方便 灵活 功能强大 执行效率高 C语言仅有32个关键字 9种控制语句 却能完成无数的功能 某些方面C语言可能确实不如其他语言优秀 比如字符串处理方面 就不如Perl语言 比如数值计算方面 就不如Fortran语言 比如人工智能方面 就不如Lisp语言 可是这些语言在其他方面却远远不及C语言 而且C语言有其他诸如表达力强 移植性好的特点 现在也许读者还无法理解 随着时间的推移 将会慢慢了解到 如果上面的回答还是不能满足读者的需求 那么最后一条 一定可以满足 精通了C语言 工作不用愁 1 2如何学好C语言 无论出于什么目的 一旦下定决心准备学习C语言 就要端正思想 因为听说C语言难 所以觉得学不好 是不可取的 只要读者掌握一些方法 克服心理上畏难 不轻言放弃 是完全可以学好的 1 多动手少求人 所有的问题都可以通过自己编写代码观察结果解决 凡是可以通过编写代码观察到结果的问题 都不应该成为一个问题 2 多学习优秀代码 C语言灵活简洁 即使编写出不好的代码 也可以编译出可以运行的程序来 但是却有更优秀的编程技巧 可以让程序更好的工作 这就要求读者多学习其他人优秀的代码 3 多以人类的思考方法来类比计算机 计算机非常简单 需要什么数据 如何获取这些数据 得到后如何存放 如何处理 处理后如何表现 多问些为什么 如果人类来处理 需要什么东西 一旦理解了计算机的处理过程 编程 就是一件非常轻松的事情了 4 C语言只是一个基础设施 要想编写强大的软件 必须学习相关操作系统的API 应用程序编程接口 熟悉其他类库的使用 才能开发出满足用户需求的软件来 1 3什么是语言 什么是C语言 也许读者读到这里 对于C语言到底是什么还很模糊 有必要做一个解释 一提到语言这个词 人们自然想到的是像英语 汉语等这样的自然语言 因为它是人和人相互交流信息不可缺少的工具 而今天 计算机遍布了我们生活的每一个角落 除了人和人之间的相互交流之外 我们必须和计算机交流 用什么样的方式和计算机做最直接的交流呢 人们自然想到的是最古老也最方便的方式 语言 1 3 1什么是语言 类比人类的语言 比如汉语言 英语言 法语言 就可以总结些共性的东西出来 1 语言是用来交流沟通的 有一方说 有另一方听 必须有两方参与 这是语言最重要的功能 语言就是用来表达意思传递信息的 说的一方传递信息 听的一方接受信息 说的一方下达指令 听的一方遵从命令做事情 没有语言 双方就无法交流沟通 也就只能单兵作战 独自发展 也许人类就灭亡了 甚至在远古时代 没有语言 人类可以通过眼神 通过动作 通过叫唤来传递信息 而这些 也可以看作是语言 这引出了语言的另一特点 2 语言有独特的语法规则 交流双方都了解明白并遵守这些规则 一个只会说汉语的中国人 和一个只会说法语的法国人 如果戴上面具 只通过嘴巴发出声音互相交流 结果一定是鸡同鸭讲 信息完全传递不出去 为什么 因为互相不知道对方的语法规则 当然听不懂了 为什么要戴面具 为什么只能通过嘴巴 因为人类的一些面部表情 身体动作 这些却是相通的 不通过声音 而通过肢体语言 也能多少表达出一些意思来 1 3 2什么是机器语言 计算机是一个忠实的仆人 时刻等候着主人的命令 如何才能使计算机听话呢 当然是用计算机听得懂的语言去命令它了 计算机的大脑或者说心脏就是CPU 它控制着整个计算机的运作 每种CPU 都有自己的指令系统 这个指令系统 就是该CPU的机器语言 机器语言是一组由0和1系列组成的指令码 这些指令码 是CPU制作厂商规定出来的 然后发布出来 请程序员遵守 比如下面是某CPU指令系统中的两条指令 1000000加1001000减要让计算机干活 就得用这样的语言去命令它 这样的命令 不是一条两条 而是上百条 由于不同型号的计算机其机器语言是不相通的 按着一种计算机的机器指令编制的程序 不能在另一种计算机上执行 1 3 3计算机如何执行指令 是一个非常简单的示意图 表示个大概意思 实际上并不是这么简陋 但其核心思想却正如图所示 1 3 4什么是汇编语言 在倒下了一批用机器语言编程的程序员后 一批顽强而聪明的先行者终于发明了汇编语言 一门人类可以比较轻松认识的编程语言 只是这门语言计算机并不认识 所以人类还不能用这门语言命令计算机做事情 如同上文提到过的中国人和法国人交流一样 如何才能让中国人说的话法国人明白呢 聪明的读者一定想到了 翻译 是 一个既懂汉语又懂法语的人 不就可以将中文翻译给法国人听么 二者不就又可以继续交流了么 所以 有一类专门的程序 既认识机器语言 又认识汇编语言 而且还很聪明 知道怎么把汇编语言翻译成机器语言 于是 人类和机器间的交流 终于又畅通了 而且人类可以比较轻松的编写程序了 1 3 5面向过程的语言 汇编语言和机器语言都是面向机器的 机器不同 语言也不同 既然有办法让汇编语言翻译成机器语言 难道就不能把其他更人性化的语言翻译成机器语言 1954年 Fortran语言出现了 其后相继出现了其他的类似语言 这批语言 使程序员摆脱了计算机硬件的桎梏 把主要精力放在了程序设计上 不在关注低层的计算机硬件 这类语言 称为高级语言 同样的 高级语言要被计算机执行 也需要一个翻译程序将其翻译成机器语言 这就是编译程序 这类高级语言解决问题的方法是分析出解决问题所需要的步骤 把程序看作是数据被加工的过程 基于这类方法的程序设计语言成为面向过程的语言 C语言就是这种面向过程的程序设计语言 1 3 6什么是C语言 这本书就是告诉读者 什么是C语言的书 如果读者对C语言的历史比较感兴趣 可以参考其他相关书籍 本书不再罗列众人皆知的东西了 一般来说 C语言可以简称C 注意C是大写的 至于什么是C语言 请读者自学完本书后 作一个定义 1 4刻认识程序如何生产出来 程序开发周期 在Windows下 利用 记事本 notepad exe 这个小软件 我们可以输入文字 编辑文字 然后保存到计算机硬盘上 保存到硬盘上的数据以文件的形式存在 比如将文件保存到 d 在保存的时候 记事本 软件会提示用户输入文件名和保存的路径 我们以 C txt 作为文件名 以 d 作为文件路径 保存后 通过Windows的文件浏览器定位到 d 就可以看到文件 C txt 同样的 画图小软件可以信手涂鸦 也能保存一个扩展名为bmp的文件到硬盘上 如图1 3 1 4 1编辑C源代码 编辑就是 1 逐个输入字符 如汉字 英文 标点符号或者其他可以用键盘输入的字符 2 通过插入 删除 移动 复制 粘贴等方法修改已经输入的字符 3 将输入修改完毕的所有字符保存到硬盘上 一篇由汉字 英文 标点符号或者其他可以用键盘输入的字符组合的内容被称作文本 能够进行文字编辑的软件被称作编辑器 源代码通俗的讲就是程序员输入编写的符合C语言语法规则的文本 比如下列片段就是一段源代码 voidmain void printf nHelloWorld 1 4 2编译C源代码 编译是把C语言源代码翻译成用二进制指令表示的目标文件 注意这里的目标文件与机器语言还有一段距离 并不是真正的机器语言 所以不能被计算机直接运行 编译着重于 译 就是翻译 声明 读者要注意区分编辑和编译的概念 虽然一字之差 意义却大不相同 编辑 是指对文本的修改 插入 删除 而编译却是将编辑好的源代码翻译成目标文件 编译过程由C编译系统提供的编译程序完成 编译程序简称为编译器 编译程序运行后 自动对源程序进行句法和语法检查 当发现错误时 就将错误的类型和所在的位置显示出来 提供给用户 以帮助用户修改源程序中的错误 用户可以继续利用编辑器来方便的修改程序 修改好后 重新进行编译直到编译通过 如果未发现句法和语法错误 就自动形成目标代码并对目标代码进行优化后生成目标文件 目标程序文件的扩展名 obj 是目标程序的文件类型标识 不同的编译系统 或者不同版本的编译程序 它们的启动命令不同 生成的目标文件也不相同 扩展名有时候也不一定相同 当然格式也不相同 但是其作用相同 1 4 3链接目标文件 目标文件计算机还是不能执行的 多个源代码对应了多个目标文件 此时还没有将其组合装配成一个可以运行的整体 链接过程是用链接程序将目标文件 第三方目标文件 C语言提供的运行时库文件链接装配成一个完整的可执行的目标程序 链接程序简称链接器 可执行程序文件的扩展名 exe 是可执行程序的文件类型标识 绝大部分系统生成的可执行文件的扩展名是 exe 但UNIX系统中 生成的可执行文件自动确定为 a out 除非在编译时用户特别规定自己的文件名 有的C编译系统把编译和连接放在一个命令文件中 用一条命令即可完成编译和连接任务 减少了操作过程 开发程序 除了程序员编写的自己的代码外 有时候会使用其他人提供的库文件 比如读者要编写一个mp3播放器软件 对于mp3解码部分 因为已经有现成的第三方代码库做好了这件事情 读者可以直接拿这个第三方库文件来使用 这个库提供的功能可供读者的播放器软件调用 为了方便开发 C语言也提供了一批库函数 一般编译厂商都会提供给开发人员使用 1 4 4编译链接过程示例 有时候为了叙述简便 将编译链接两个步骤 统一用编译一个词语代替 读者应该清楚实际是经历过了两步 在VC net2003编程环境里 当用户下达 build 构建 命令后 编程环境就开始编译链接工作 本节的示例 没有列出源文件 源文件是main c 内容可以暂时不考虑 读者请关注编译 链接的步骤即可 1 4 5运行程序 运行程序是指将可执行的目标程序投入运行 以获取程序处理的结果 如果程序运行结果不正确 可重新回到第一步 重新对程序进行编辑修改 编译和运行 与编译 连接不同的是 运行程序可以脱离语言处理环境 因为它是对一个可执行程序进行操作 与C语言本身已经没有联系 所以可以在语言开发环境下运行 也可直接在操作系统下运行 1 5VC C C TC 跳出这团浆糊 认识开发环境和语言的区别 这几个单词都带有C 可以说和C都有联系 1 C就是指C语言了 2 VC VC 一般是指微软公司的VisualStudio6开发套件中的VisualC 开发环境 VisualStudio6套件 包含了VisualC VisualBasic VisualFoxPro等开发环境 所谓开发环境 是集成了源代码编辑 编译 链接 调试等功能的一个综合程序 3 C C 是另外一门有些类似C语言语法的面向对象的高级语言 虽然C语言不加修改就可以被C 编译器编译 但C和C 是完全不同思想的两门语言 不应将C 看作是C的超集 4 TCTC是Borland公司早年在16位机器上开发的C编程环境 是TrobeC的简称 最后版本是2 0 一般简称TC2 一般学习C语言 都使用该编程环境 只是这已经算是老古董了 对于现在的操作系统 使用TC2来编写程序 已经很不合时宜了 5 其他编译器及环境Linux下面开发软件 主要是使用GCC theGNUCompilerCollection GNU编译器集合 免费 1 6小结 本章带领读者囫囵吞枣式的学习了C语言的一些特征 这些特征其他书籍一般不特别强调 还了解了编程相关的一些背景知识 读者应该对什么是计算机语言有了一个大概的了解 要深入的精通一门语言 还需要更深入的学习 通过本章的学习 读者还应该了解一个可运行的程序如何被产生出来 了解了编程的步骤 也了解了开发环境和语言的区别 这些知识看似与语言学习关联不大 但是却对学习语言大有帮助
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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