高级语言程序设计 主讲 兰书梅邮箱 lansm 助课 张晶邮箱 zhangjing99 教学安排 主讲 作业 实验 考试 主讲 64学时全书内容习题课2到3次作业 课后及习题集必作选作实验 8次实验32学时时间 地点 待定 课程设置 第一部分 基本知识介绍计算 算法和程序设计基本概念第二部分 程序设计介绍程序设计的思想 方法 技术第三部分 数据组织主要介绍批量数据组织方法第四部分 函数的深入讨论 特点 以程序设计为主线讲解方法 技巧目的 掌握结构化的程序设计方法提高编程能力 课程特点 教材 程序设计基础 程序设计基础习题集 参考文献NiklausWirth Algorithms Datastructures Programs Englewoodcliffs Prentice Hall Inc 裘宗燕 从问题到程序 程序设计与C语言引论 北京机械工业出版社石峰 程序设计基础 北京清华大学出版社谭浩强 C程序设计 北京清华大学出版社SamuelP HarbisonIII GuyL steeleJr C AReferenceManual FifthEdition Prentice Hall Inc FebruaryISO IEC9899 1999 Cor 1 2001 E Informationtechnology Programminglanguages C GB T15272 94中华人民共和国国家标准 程序设计语言C 1994 12 7 第一章绪论 求玉米产量 计算算法PAD图程序运行C语言VisualC 集成开发环境本章小结 作业1 31 6熟悉开发环境练习1 11 21 41 51 71 8 1 1求玉米产量 计算 例1 1 已知玉米每亩产量650公斤 如图所示 现有一个近似四边形的地块位于南北方向路东侧 东西方向路北侧 其一个顶点距离南北方向路547米 距离东西方向路411米 另一个顶点距离南北方向路804米 距离东西方向路77米 第三个顶点距离南北方向路39米 距离东西方向路208米 第四个顶点距离南北方向路116米 距离东西方向路332米 若该地块种植玉米 求该地块玉米产量 C 208 39 116 77 A B D 547 411 332 804 Y X 第一步 数学化总产量 总面积 单位产量 计算步骤如下计算该地块面积折合成亩 每亩1000平方米 求总产量 计算总面积 建坐标系 C 208 39 116 77 A B D 547 411 332 804 Y X 第二步分析 计算总面积计算三角形ABD的面积 设为S1 计算三角形BCD的面积 设为S2 S1 S2 C 208 39 116 77 A B D 547 411 332 804 Y X 第三步 选择计算三角形面积公式S是三角形面积 a b c三角形三边边长s a b c 2 C 208 39 116 77 A B D 547 411 332 804 Y X 第四步 计算 ABD BCD 面积求边AB长度 记为ab 求边BD长度 记为bd 求边AD长度 记为ad 计算s计算S 第五步 求三角形边长 计算过程 把解决该问题的各个步骤记录下来 实际解题过程应该是 按公式求出AB边长度ab用同样公式计算边BD长度bd用同样公式计算边AD长度ad按公式计算出s按公式计算出 ABD的面积S1重复上述1 2 3 4 5步计算 BCD的面积S2计算总面积S S1 S2把面积S折合成亩SS S 1000计算总产量M SS 950 程序 这个过程就是程序设计 算法 程序设计过程 建立数学模型找出计算方法进行算法分析写程序调试程序运行 测试程序的正确性使用程序设计的任务 算法 程序 调试 运行 1 2算法 什么是算法一个计算过程 包含具体明确的操作描述了解决问题的方法和途径是程序设计的基础和精髓有效算法的特点有穷性确定性有效性 算法的组成 基本操作表达式以及给变量赋值读 输入 写 输出 基本控制结构顺序控制结构 按照的书写顺序一条接一条地执行分支控制结构 根据给定的条件是否成立而选择执行的路径循环控制结构 反复执行某一部分的操作函数调用函数返回 1 3PAD ProblemAnalysisDiagram 操作 基本操作 顺序控制结构 工具 流程图 N S图 PAD图等 开始 结束 1 4程序 计算机程序是用计算机指令为计算机排定的工作顺序 工作步骤程序语言用于编写 描述计算机程序的语言程序设计语言分成三类 1 机器语言 2 汇编语言 3 高级语言 按公式求出AB边长度ab用同样公式计算边BD长度bd用同样公式计算边AD长度ad按公式计算出s按公式计算出 ABD的面积S1重复上述1 2 3 4 5步计算 BCD的面积S2计算总面积S S1 S2把面积S折合成亩SS S 1000计算总产量M SS 950 具体程序 include include definexa547 defineya411 definexb804 defineyb77 definexc39 defineyc208 definexd116 defineyd332floatab bd ad bc cd floats s1 s2 ss m 1 预处理命令 宏定义命令 文件包含命令和条件编译命令2 变量声明 3 函数 4 语句 是组成程序的基本单元 以分号结束6 其他 如注释信息 voidmain void 主函数 计算一个三角形面积ab sqrt xa xb xa xb ya yb ya yb 边ab长bd sqrt xb xd xb xd yb yd yb yd 边bd长ad sqrt xa xd xa xd ya yd ya yd 边ad长s ab bd ad 2 ss1 sqrt s s ab s bd s ad 面积 计算另一个三角形面积bc sqrt xb xc xb xc yb yc yb yc 边BC长cd sqrt xc xd xc xd yc yd yc yd 边CD长s bc bd cd 2 边BD长bd前边已经计算s2 sqrt s s bc s bd s cd ss s1 s2 总面积S S1 S2ss ss 1000 折合成亩m ss 950 计算总产量printf m 10 3f n m 打印输出 具体程序 include include definexa547 defineya411 definexb804 defineyb77 definexc39 defineyc208 definexd116 defineyd332floatab bd ad bc cd floats s1 s2 ss m 一般C程序 文件hello c includevoidhello void printf Hello n 文件startup cexternvoidhello void intmain void hello return0 组成 一个C程序由一个或若干个编译单元组成编译单元 是一个源程序文件一个编译单元由若干顶层声明组成每个顶层声明是一个声明或函数定义 其中主要为函数定义 声明 宏 外部声明 类型定义 变量声明 等 函数定义 函数定义说明符和复合语句组成任何C程序必须包含且仅包含一个主函数main执行 C程序从主函数 main函数 开始执行 概括 C程序结构 1 5运行 编辑 编译 运行编辑 将编写好的C源程序输入到计算机中 生成磁盘文件的过程 源程序 cpp 用汇编语言或高级语言写的程序编译 编译器对源程序进行编译 功能是 将程序的源代码转换成为机器代码的形式 称为目标代码 然后 再使目标代码进行连接 生成可执行文件 exe 目标程序 obj 把源程序翻译成等价的机器语言程序执行 编译过程可分为三个子过程 预处理过程 编译过程 连接过程编译器 把源程序翻译成目标程序编译器也是一个程序汇编程序 翻译汇编语言编译程序 翻译高级语言c编译程序 把c源程序翻译成机器语言程序 程序执行 一般C程序执行 文件hello c includevoidhello void printf Hello n 文件startup cexternvoidhello void intmain void hello return0 hello c hello objstartup exestartup c startup obj 1 6C语言 70年代初 C语言在美国贝尔实验室诞生 它的前身可以追朔到ALGOL60 CPL BCPL B 1982年C标准化工作开始 1989年ISO公布ISO IEC9899 1990 简称 C89 1995年对C89作修改和补充 称为 C95 1999对C进行更大的修订后 公布ISO IEC9899 1999 简称 C99 我国于1994年12月4日公布了 中华人民共和国国家标准GB T15272 94程序设计语言C C语言的优点 语言简洁 紧凑 使用方便 灵活 C本身是模块式 便于集体分工合作开发大型程序丰富的运算符和数据结构具有结构化控制结构直接访问内存 进行位操作 胜任操作系统的开发生成目标代码质量高 程序运行效率好 C语言的缺点 语法不严格类型机制不严密 比如字符类型与整数类型没有区别 不检查下标超界程序设计自由度太大 不利于保证程序的正确性若程序与计算机硬件联系太密切 则可移植性不好有些语言成分太复杂 比如运算符语言本身不能保证程序设计的结构化 C语言的特点 是一种相对 低级 的程序设计语言 又是一种相对 高级 的程序设计语言 语言特别适用于编制系统软件 1 7VisualC 集成开发环境 Hello程序启动VC 建立环境录入 编辑源程序编译连接运行求玉米产量的具体程序 includevoidmain printf Hello n 求绿化带宽度 300 80000 500 例1 2 如图所示 在长500m 宽300m的地域内保护80000m2的地块 求沿四周植树建绿化带的宽度 第一步 数学化 列出方程area length 2 x width 2 x 4x2 2 length width x length width area 0 第二步 找出计算方法 第三步 找出算法 第四步 用C写出程序 include stdio h include math h definelength500 地块长 definewidth300 地块宽 definearea80000 地块面积voidmain floatx1 x2 b d b 2 0 length width 计算bd sqrt b b 4 0 4 0 length width area 计算x1 b d 2 4 求根x2 b d 2 4 printf x1 2f nx2 2f n x1 x2 输出 本章小结 求玉米产量算法PAD图程序程序设计语言种类程序的执行程序结构C语言VC开发环境
展开阅读全文
本文链接:https://my.lmcjl.com/post/10674.html
4 评论