C程序设计语言CC程序设计语言程序设计语言.pdf_第1页
C程序设计语言CC程序设计语言程序设计语言.pdf_第2页
C程序设计语言CC程序设计语言程序设计语言.pdf_第3页
C程序设计语言CC程序设计语言程序设计语言.pdf_第4页
C程序设计语言CC程序设计语言程序设计语言.pdf_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 C程序设计语言程序设计语言 C C 程序设计语言程序设计语言程序设计语言程序设计语言 第第0章 基础之基础章 基础之基础第第第第0 0章章章章 基础之基础基础之基础基础之基础基础之基础 孙志岗孙志岗 sun 2004 12 19Basic of Basic2 计算机系学什么 计算机系学什么 计算机系学什么 计算机系学什么 计算机系学什么 计算机系学什么 什么是什么是什么是什么是 会计算机会计算机会计算机会计算机 会打字 会打字 会打字 会打字 会编程 会编程 会编程 会编程 会会会会DIYDIY 会上网 会上网 会上网 会上网 会会会会 黑客黑客黑客黑客 懂原理 能应用 有创新懂原理 能应用 有创新懂原理 能应用 有创新懂原理 能应用 有创新 2004 12 19Basic of Basic3 计算机 计算机 Computer 计算机 计算机 计算机 计算机 ComputerComputer 计算机是用来延伸人的能力的工具 需要人来计算机是用来延伸人的能力的工具 需要人来计算机是用来延伸人的能力的工具 需要人来计算机是用来延伸人的能力的工具 需要人来 驾驭驾驭驾驭驾驭 AIAI能实现吗 能实现吗 能实现吗 能实现吗 AIAI Artificial IntelligenceArtificial Intelligence 人工 人工 人工 人工 智能 智能 智能 智能 会有那么一天 人与计算机的位置互换吗 会有那么一天 人与计算机的位置互换吗 会有那么一天 人与计算机的位置互换吗 会有那么一天 人与计算机的位置互换吗 我们的职责是让它更容易被驾驭我们的职责是让它更容易被驾驭我们的职责是让它更容易被驾驭我们的职责是让它更容易被驾驭 自我毁灭的过程自我毁灭的过程自我毁灭的过程自我毁灭的过程 2004 12 19Basic of Basic4 人与计算机的对话人与计算机的对话人与计算机的对话人与计算机的对话人与计算机的对话人与计算机的对话 两个说不同母语的人的对话方式 两个说不同母语的人的对话方式 两个说不同母语的人的对话方式 两个说不同母语的人的对话方式 一方学另一方的语言一方学另一方的语言一方学另一方的语言一方学另一方的语言 双方都学习一种第三方语言双方都学习一种第三方语言双方都学习一种第三方语言双方都学习一种第三方语言 人与计算机的对话方式 人与计算机的对话方式 人与计算机的对话方式 人与计算机的对话方式 计算机学习人的语言 自然语言理解 计算机学习人的语言 自然语言理解 计算机学习人的语言 自然语言理解 计算机学习人的语言 自然语言理解 人学习计算机的语言人学习计算机的语言人学习计算机的语言人学习计算机的语言 学习第三方语言学习第三方语言学习第三方语言学习第三方语言 2 2004 12 19Basic of Basic5 机器语言机器语言机器语言机器语言机器语言机器语言 计算计算计算计算1 11 1 1011100010111000 0000000100000001 0000000000000000 0000010100000101 0000000100000001 0000000000000000 2004 12 19Basic of Basic6 汇编语言汇编语言汇编语言汇编语言汇编语言汇编语言 0000010100000101 0000000100000001 0000000000000000 ADD AX 1ADD AX 1 1011100010111000 0000000100000001 0000000000000000 MOV AX 1MOV AX 1 2004 12 19Basic of Basic7 BASIC语言语言BASICBASIC语言语言语言语言 PRINT 1 1PRINT 1 1 2004 12 19Basic of Basic8 C语言语言 C C 语言语言语言语言 include include main main printf dprintf d n n 1 1 1 1 3 2004 12 19Basic of Basic9 C语言的创世纪语言的创世纪 C C 语言的创世纪语言的创世纪语言的创世纪语言的创世纪 一切从一个叫一切从一个叫一切从一个叫一切从一个叫 Space TravelSpace Travel 的电子游戏开始的电子游戏开始的电子游戏开始的电子游戏开始 为了让他的游戏能在为了让他的游戏能在为了让他的游戏能在为了让他的游戏能在PDPPDP 7 7上运行 上运行 上运行 上运行 Ken ThompsonKen Thompson用用用用 汇编语言给汇编语言给汇编语言给汇编语言给PDPPDP 7 7写了一个操作系统写了一个操作系统写了一个操作系统写了一个操作系统 UNIXUNIX 汇编太不好用了 汇编太不好用了 汇编太不好用了 汇编太不好用了 ThompsonThompson需要高级语言需要高级语言需要高级语言需要高级语言 试验了一些高级语言 包括试验了一些高级语言 包括试验了一些高级语言 包括试验了一些高级语言 包括FortranFortran 都不理想 都不理想 都不理想 都不理想 他在他在他在他在BCPLBCPL基础上 自己设计了一个基础上 自己设计了一个基础上 自己设计了一个基础上 自己设计了一个B B语言语言语言语言 UNIXUNIX开始发展 开始发展 开始发展 开始发展 B B也不够用了也不够用了也不够用了也不够用了 Dennis RitchieDennis Ritchie加入 把加入 把加入 把加入 把B B改造成改造成改造成改造成C C 开始用开始用开始用开始用C C重写重写重写重写UNIXUNIX 2004 12 19Basic of Basic10 Ritchie和和Thompson在开发在开发UNIXRitchieRitchie和和和和ThompsonThompson在开发在开发在开发在开发UNIXUNIX 2004 12 19Basic of Basic11 接受美国国家技术勋章接受美国国家技术勋章接受美国国家技术勋章接受美国国家技术勋章接受美国国家技术勋章接受美国国家技术勋章 2004 12 19Basic of Basic12 C程序设计语言程序设计语言 C C 程序设计语言程序设计语言程序设计语言程序设计语言 是一种高级语言是一种高级语言是一种高级语言是一种高级语言 高级语言并不是高级语言并不是高级语言并不是高级语言并不是 高级高级高级高级 只是相对低级语言 在一个高的级 只是相对低级语言 在一个高的级 只是相对低级语言 在一个高的级 只是相对低级语言 在一个高的级 别上进行编程别上进行编程别上进行编程别上进行编程 历史悠久 战勋卓著历史悠久 战勋卓著历史悠久 战勋卓著历史悠久 战勋卓著 诞生于上世纪诞生于上世纪诞生于上世纪诞生于上世纪7070年代初 成熟于年代初 成熟于年代初 成熟于年代初 成熟于8080年代 年代 年代 年代 C89C89 修订与 修订与 修订与 修订与9090 年代 年代 年代 年代 C99C99 很多重量级软件都是用很多重量级软件都是用很多重量级软件都是用很多重量级软件都是用C C写的写的写的写的 上天入地 无所不能上天入地 无所不能上天入地 无所不能上天入地 无所不能 几乎没有不能用几乎没有不能用几乎没有不能用几乎没有不能用C C写出来的软件 没有不支持写出来的软件 没有不支持写出来的软件 没有不支持写出来的软件 没有不支持C C的系统的系统的系统的系统 很多流行语言 新生语言都借鉴了它的思想 语法很多流行语言 新生语言都借鉴了它的思想 语法很多流行语言 新生语言都借鉴了它的思想 语法很多流行语言 新生语言都借鉴了它的思想 语法 从从从从C C 到 到 到 到JavaJava 再到 再到 再到 再到C C 还有 还有 还有 还有phpphp等等等等 4 2004 12 19Basic of Basic13 C语言的祖师爷语言的祖师爷 Dennis M Ritchie C C 语言的祖师爷语言的祖师爷语言的祖师爷语言的祖师爷 Dennis M RitchieDennis M Ritchie http www cs bellhttp www cs bell 2004 12 19Basic of Basic14 Ritchie漫画像漫画像RitchieRitchie漫画像漫画像漫画像漫画像 C is quirky flawed and an enormous success 2004 12 19Basic of Basic15 计算机基本工作过程计算机基本工作过程计算机基本工作过程计算机基本工作过程计算机基本工作过程计算机基本工作过程 整个过程的执行者是硬件 但硬件是受软件控制的整个过程的执行者是硬件 但硬件是受软件控制的整个过程的执行者是硬件 但硬件是受软件控制的整个过程的执行者是硬件 但硬件是受软件控制的 编程 就是编写软件 使硬件按照人的意图工作编程 就是编写软件 使硬件按照人的意图工作编程 就是编写软件 使硬件按照人的意图工作编程 就是编写软件 使硬件按照人的意图工作 2004 12 19Basic of Basic16 编译运行编译运行编译运行编译运行编译运行编译运行 编译过程编译过程编译过程编译过程 程序员 程序员 程序员 程序员 ProgrammerProgrammer 编写程序源代码 编写程序源代码 编写程序源代码 编写程序源代码 Source Source CodeCode 编译器 编译器 编译器 编译器 CompilerCompiler 把源代码转换为可被计算机理 把源代码转换为可被计算机理 把源代码转换为可被计算机理 把源代码转换为可被计算机理 解的机器代码 解的机器代码 解的机器代码 解的机器代码 Machine CodeMachine Code 并把机器代码 并把机器代码 并把机器代码 并把机器代码 以可执行文件 以可执行文件 以可执行文件 以可执行文件 Executable FileExecutable File 的形式保存在磁 的形式保存在磁 的形式保存在磁 的形式保存在磁 盘上盘上盘上盘上 软件的运行软件的运行软件的运行软件的运行 计算机把机器代码读入到内存 计算机把机器代码读入到内存 计算机把机器代码读入到内存 计算机把机器代码读入到内存 MemoryMemory 由 由 由 由 CPUCPU运行这些代码 读取输入 运行这些代码 读取输入 运行这些代码 读取输入 运行这些代码 读取输入 InputInput 产生输 产生输 产生输 产生输 出 出 出 出 OutputOutput 完成程序员预定的功能 完成程序员预定的功能 完成程序员预定的功能 完成程序员预定的功能 5 2004 12 19Basic of Basic17 编译语言编译语言编译语言编译语言编译语言编译语言 一种编译语言对应一种编译器一种编译语言对应一种编译器一种编译语言对应一种编译器一种编译语言对应一种编译器 程序员按照该语言的语法编写程序源代码 把程序员按照该语言的语法编写程序源代码 把程序员按照该语言的语法编写程序源代码 把程序员按照该语言的语法编写程序源代码 把 自己的意图融入到代码中自己的意图融入到代码中自己的意图融入到代码中自己的意图融入到代码中 编译器读入源代码 把程序员的意图转换成可编译器读入源代码 把程序员的意图转换成可编译器读入源代码 把程序员的意图转换成可编译器读入源代码 把程序员的意图转换成可 执行程序 供他人使用执行程序 供他人使用执行程序 供他人使用执行程序 供他人使用 C C语言语言语言语言 可执行程序可执行程序可执行程序可执行程序 编译器编译器编译器编译器 2004 12 19Basic of Basic18 解释运行解释运行解释运行解释运行解释运行解释运行 解释运行过程解释运行过程解释运行过程解释运行过程 程序员编写程序源代码程序员编写程序源代码程序员编写程序源代码程序员编写程序源代码 解释器读入源代码 并执行源代码解释器读入源代码 并执行源代码解释器读入源代码 并执行源代码解释器读入源代码 并执行源代码 解释运行的语言特点解释运行的语言特点解释运行的语言特点解释运行的语言特点 执行速度慢执行速度慢执行速度慢执行速度慢 好学易用好学易用好学易用好学易用 先编译 后解释先编译 后解释先编译 后解释先编译 后解释 把源代码编译成更容易解释的中间代码 然后再解把源代码编译成更容易解释的中间代码 然后再解把源代码编译成更容易解释的中间代码 然后再解把源代码编译成更容易解释的中间代码 然后再解 释运行释运行释运行释运行 2004 12 19Basic of Basic19

温馨提示

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

评论

0/150

提交评论