




免费预览已结束,剩余44页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章程序设计方法和C 语言概述 复习几个概念 程序 指令 语言 补码1 1程序编写过程1 2面向过程的程序设计1 3面向对象的程序设计1 4C 程序设计语言的发展1 5程序开发过程1 6简单的C 程序 小结 问题 计算机程序 指令 语言 计算机的工作是用程序来控制的程序是指令的集合 指令是计算机可以识别的命令 不同计算机识别的指令系列称为计算机的指令系统 语言是编写程序的工具 概念复习 计算机语言是用来编写 的 程序必须被翻译为电信号 计算机才能够支配和处理 编程语言 计算机语言 必须实现翻译过程 计算机语言和编译工具属于 复习1 系统软件 程序 计算机可以存储程序指令和数据 数据在计算机中存放的形式为 数通过 编码方式转成二进制的形式存放的 字符通过 编码方式转成二进制的形式存放的 复习2 二进制 补码 ASCII 二进制数的编码表示 补码 计算机中的补码表示法负数的补码由该数反码的末位加1求得对补码再求补即得到原码补码运算规则符号位可作为数值参加运算减法运算可转换为加法运算 加上一个负数等于加上该数的补码补码运算的结果仍为补码运算结果溢出 负数之和得正数 或正数之和得负数 信息的表示与存储 5 8位表示 100001011111101011111011 信息的表示与存储练习 1 与十进制数127等值的二进制数是A 01111111B 11101111C 01111011D 10000000 2 二进制数01100100转换成十六进制数是 A 64B 63C 100D 144 3 有一个数值152 它与十六进制6A相等 那么该数值是 A 二进制数B 八进制数C 十进制数 A A B 程序编写过程 程序设计 用计算机解决一个实际应用问题时的整个处理过程称为程序设计 1 2面向过程的程序设计方法 1 2面向过程的程序设计 基本结构1 顺序2 分支3 循环 1 2面向过程的程序设计 模块的单入指的是该模块被哪些模块所调用 模块的单出指的是该模块调用了哪些模块 1 2面向过程的程序设计 主要思想自顶向下逐步求精一个计算机程序可以看成是由一系列任务组成的 任何一项任务如果过于复杂就将其分解成一系列较小的子任务 直至每一项任务都很小 很容易解决 1 2面向过程的程序设计 计算每门课的平均成绩 1 2面向过程的程序设计 不足 1 结构化编程将数据和过程相分离 2 结构化编程对代码重用支持不够 可重用思想就是创建一些已知属性的组件 然后插入到自己的程序中 1 3面向对象的程序设计方法 程序设计方法的发展历程 面向对象的方法 封装 将数据及对数据的操作方法封装在一起 作为一个相互依存 不可分离的整体 对象 抽象 对同类型对象抽象出其共性 形成类 消息隐藏 类通过一个简单的外部接口 与外界发生关系 消息传递 对象与对象之间通过消息进行通讯 面向对象的方法 对象和类 属性 Property 尺寸 外形 表面 方法 Method 制作 出售 对 切 的处理 事件 Event 切 对象 一块蛋糕 类 Class 蛋糕类 面向对象的基本概念 对象 一般意义上的对象 是现实世界中一个实际存在的事物 可以使有形的 比如一辆汽车 也可以是无形的 比如一项计划 是构成世界的一个独立单位 具有 静态特征 属性 可以用某种数据来描述动态特征 操作 对象所表现的行为或具有的功能 面向对象的方法 面向对象的基本概念 类 分类 人类通常的思维方法分类所依据的原则 抽象忽略事物的非本质特征 只注意那些与当前目标有关的本质特征 从而找出事物的共性 把具有共同性质的事物划分为一类 得出一个抽象的概念 例如 石头 树木 汽车 房屋等都是人们在长期的生产和生活实践中抽象出的概念 面向对象的方法 公孙龙的 白马非马 故事是春秋时的公孙龙先生说的 城门上告示 马匹不得入城 公孙龙同志骑白马而来 遭拒入 公孙龙一脸正色 告示上写的是 马 而我骑的是 白马 难道 马 等于 白马 吗 守门士兵觉得白马还真不是马 于是放行 依公孙龙先生的理论认为 如果白马是马 黑马也是马 那么岂不白马等于黑马 所以 不能说白马是马 白马非马 是中国哲学史上的一桩公案 不过 若是我们从程序的角度上说 可以认为 马在这里表示一种类型 而白马 黑马它们的类型都是马 白马 黑马具有相同的 数据类型 但它们都相对独立的个体 从这点说 别说有白黑之分 就算同样是白马 这一匹和哪一匹白马 也是相对独立的个体 在程序中 类型 和 变量 的关系正是 马 和 白马 的关系 如果C或C 有这种数据类型 Horse 那么 定义一匹 白马 的变量应该这样 HorseAWhiteHorse 面向对象的基本概念 继承 类型关系 继承对于软件复用有着重要意义 是面向对象技术能够提高软件开发效率的重要原因之一 定义 特殊类的对象拥有其一般类的全部属性与服务 称作特殊类对一般类的继承 例如 将轮船作为一个一般类 客轮便是一个特殊类 面向对象的方法 类的继承和派生 蛋糕类 派生 生日蛋糕类 蛋糕类 是 生日蛋糕类 的基类 生日蛋糕类 是 蛋糕类 的派生类 生日蛋糕类 继承 蛋糕类 属性 贺词 方法装饰 面向对象的基本概念 多态性 多态是指在一般类中定义的属性或行为 被特殊类继承之后 可以具有不同的数据类型或表现出不同的行为 这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义 例如 数的加法 实数的加法 复数的加法 面向对象的方法 程序设计方法的发展历程 面向对象的方法 优点 程序模块间的关系更为简单 程序模块的独立性 数据的安全性就有了良好的保障 通过继承与多态性 可以大大提高程序的可重用性 使得软件的开发和维护都更为方便 面向对象的方法 面向过程与面向对象程序设计 是一种数学思维或计算机思维方法 与人们认识世界的方法不同以不稳定的 多变的 过程 和 操作 为中心来构造系统可重用性较差 是建立在认识方法学基础上的一项技术科学 比较自然地模拟了人类认识客观世界的方式 以相对稳定的 对象 和 数据结构 为中心来构造系统可重用性较好 面向过程程序设计 面向对象程序设计 练习 设计方法 第一步 分析 归纳 生成对象 第二步 用对象集成系统 筹办宴会项目 安排制作食物 布置装饰品 邀请宾客 1 4程序设计语言的发展 机器语言简单的 0 和 1 的组合 硬件相关 汇编语言将机器语言映射为一些可以被人们读懂的助记符 如 ADD SUB 等 与硬件相关 高级语言接近自然语言 与硬件无关 例子 例子 例子 考点 对比举例 机器语言 问题 A 1 B 2 求C A B的值11000111010001011111110000000001令A 111000111010001011111100000000010令B 2100010110100010111111100将B放入eax累加器000000110100010111111000将A与累加器中数加100010010100010111110100将累加器中数放入C中 机器语言是针对特定型号计算机的语言 执行效率最高 但是不便于记忆 阅读和书写 第一代语言 对比举例 汇编语言 问题 A 1 B 2 求C A B的值Movdwordptr ebp 4 1令A 1Movdwordptr ebp 8 2令B 2Moveax dwordptr ebp 4 将B放入eax累加器Addeax dwordptr ebp 8 将A与累加器中数加Movdwordptr ebp 0ch eax将累加器中数放入C中 汇编语言用来编写直接控制机器操作的低层程序 与机器密切相关 移植性不好 效率高 第二代语言 对比举例 高级语言 问题 A 1 B 2 求C A B的值A 1B 2C A B 高级语言与硬件结构和指令系统无关 可读性 可维护性好 执行速度慢 编写访问硬件资源的系统软件较难 第三代语言 1 4 2C 的诞生 C语言之父dennisRitchie TheCProgrammingLanguage 1 4C 的诞生 C 之父Bjarnestroustrup TheC ProgrammingLanguage 1 4C 的诞生 C 语言是从C语言发展演变而来 C 包含了整个C C是建立C 的基础 C 包含C的所有特征 属性 优缺点 并添加了面向对象的支持 C 语言 C语言 面向对象 1 5程序开发过程 源程序 cppcompile Ctrl F7 目标程序 objBuild F7 可执行程序 exe 本书采用VC 6 0集成开发环境 1 6简单的C 程序 1 6简单的C 程序 程序文件 ch1 1 cpp程序功能 在屏幕上输出helloworld 作者 XXX创建时间 XX年XX月XX日 includeusingnamespacestd voidmain cout HelloWorld endl 1 6简单的C 程序 注释 是程序员为读者作的说明 用来提高程序的可读性 C 程序在编译过程中忽略注释 1 用来注释一行说明 在 之后的文字直到换行都为注释 一般用来对于程序中难懂的代码进行说明 2 和 用来注释一段说明 在 和 之间的部分 不管多长都为注释 1 6简单的C 程序 所有以 开头的代码 称为编译预处理 include每次启动编译器时 先运行预处理器 预处理器找到所有以 开头的代码行进行处理 include是一条预处理指令 意思是 后面跟的是一个文件名 请找到该文件并将其加入 iostream是系统定义的一个 头文件 它设置了C 的I O相关环境 并定义了输入输出流对象cout和cin等 1 6简单的C 程序 usingnamespacestd 1998年批准的标准C 使用namespace命名空间标准 iostream是一个标准函数库 cout是标准库函数提供的一个对象 标准库函数在namespace说明书中被指定为 std 因此这句代码的意思是使用标准命名空间std中的函数 1 6简单的C 程序 正式的程序从代码 voidmain 开始 它包含一个名为main 的函数 也称为主函数 每个C 程序有且仅有一个main 函数 程序在开始运行时会自动调用main 函数 main 前面的void表示函数的返回值的类型 意味着程序执行结束后无需向操作系统返回 所有的函数都以左大括号 开始 右大括号 结束 在大括号 之间的部分称为函数体 函数 是指能实现一个或多个功能的代码块 1 6简单的C 程序 1 cout 标准输出流对象 2 插入操作符可以连续使用3 endl 代表换行符意思是使用cout将 后面的内容打印在屏幕上 在函数体的每一句代码后面都有一个分号 表示一个C 语句的结束 cout HelloWorld endl 通过以上例子 可以看到 1 C 程序是由函数构成的 函数是C 程序中最小的功能单位 在一个C 程序中至少包含一个函数 main函数 也可以包含一个main函数和若干个其它函数 一个C程序中有并且仅有一个名为main的函数 其它函数可由用户取名 它们的位置任意 但执行总从main函数开始 小结 2 一个函数由两部分组成 函数的说明部分 包括函数名 函数类型 函数属性 函数参数 形参 名 形式参数类型 voidmain 函数体 即由最外层的一对 括住的部分 函数体一般包括定义 说明 部分和执行语句部分 语句的数量不限 程序中由这些语句向计算机系统发出操作命令 C 程序实例说明 3 C 语言程序有比较自由的书写格式 一行内可以写几个语句 一个语句也可以分写在多行上 4 C 语言程序中的每一条执行语句都必须用分号 结束 分号是C 语句的一部分 C 程序实例说明 1 6简单的C 程序 操作步骤1 新建一个工程1 启动VC 6 02 新建一个console工程3 编写源程序2 编译和连接编译 compile Ctrl F7 链接 Build F7 3 运行使用的命令 Ctrl F5 作业 1 程序设计语言的发展过程机器语言 汇编语言和高级语言 2 C和C 的关系3 如何编写 编译 运行一个C 程序思考题 一圆型游泳池如图所示 现在需在其周围建一圆型过道 并在其四周围上栅栏 栅栏价格为35元 米 过道造价为20元 平方米 过道宽度为3米 游泳池半径由键盘输入 要求编程计算并输出过道和栅栏的造价 4 熟悉VC 6 0的环境 小结 本章首先介绍了一般的程序编写过程 该过程实际为使用计算机语言将现实世界的问题经过概念世界的结构转换为计算机世界的程序代码 根据认识现实世界问题的基本观点 形成了两种不同的程序设计方法 面向过程的程序设计方法和面向对象的程序设计方法 面向对象的程序设计方法就是研究对象及对象之间的各种静态关系和动态关系 C 语言是一种能同时支持面向过程的程序设计方法和面向对象的程序设计方法的编程语言 C 语言是对C语言的面向对象扩展 使用C 语言开发程序的过程包括 编辑 编译和链接 而一个简单的C 程序由注释 编译预处理指令和函数组成 常问问题 学习OO C 需要多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无线广播电视网数据及信息服务创新创业项目商业计划书
- 2025湖南岳阳市湘一南湖学校招聘技术教师考前自测高频考点模拟试题完整参考答案详解
- 2025湖南张家界市永定区发展和改革局招聘公益性岗位人员1人考前自测高频考点模拟试题及一套答案详解
- 中学安全教育专题讲稿
- 2025广西玉林市北流市中医医院招聘编外人员21人考前自测高频考点模拟试题及参考答案详解1套
- 大型活动行政支持方案模板
- 铁路线路专业技师考试题库
- 房地产项目策划书范文参考
- 张浩案件安全培训课件
- 2025昆明海贝中学部春季教师招聘模拟试卷有完整答案详解
- 妇产科健康宣教
- 2025方便速食行业线上消费趋势洞察
- 环评管理培训
- 两委干部日常管理制度
- 儿童编发课件图片
- 报废汽车回收公司车间管理制度
- AI大模型赋能数字化医院建设方案
- 淘宝客服合同协议书模板
- 企业资金流动管理的试题及答案
- 借款抵押合同协议书
- 2025年“铸牢中华民族共同体意识”应知应会知识竞赛题库试卷及答案
评论
0/150
提交评论