C-1 程序设计基础知识.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C-1 程序设计基础知识

C语言程序设计 (一) 北京理工大学计算机学院 赵小江 zhaoxj@bit.edu.cn 《C程序设计语言》教材与教学参考书 《C语言程序设计习题集》(第二版) 人民邮电出版社 陈朔鹰 陈英编 《从问题到程序——程序设计与C语言引论》 机械工业出版社 裘宗燕编著 《程序设计基础》 清华大学出版社 吴文虎编著 《C语言程序设计》 清华大学出版社 潭浩强编 《C语言趣味程序百例精解》陈朔鹰 陈英编 《C程序设计语言》教学目标 掌握C语言的基本语法和规定 掌握程序设计基本算法和思路 提高上机操作能力 培养自学能力,开拓思路 养成良好的程序设计习惯 本课程学习过程中可能出现的问题 注重理论学习,忽视上机编程实践 入门时自以为难度大,产生畏难情绪 太注重学习语句的语法规定,忽视了对编程的思路和方法的训练 急于求成,总想编写综合性的程序,忽视基本概念,忽视基本功的训练和练习 认为课程简单,考试之前临时突击,忽视了平时的日积月累 本课程的学习方法 平时认真听讲,积极思考,提高上课效率 学会自主学习,认真完成作业和上机练习 上机编程是学好C语言的关键环节,多上机,多练习,提高动手能力 加强交流——面对面/网络交流。多讨论,多请教,多提问,及时答疑解惑 开阔眼界,打开思路,多看几本参考书 初学时重点是掌握C语言的语法和规定,后期应重点掌握编程思路和基本算法 第一章 程序设计基础知识 1.1 程序与程序语言 1.2 算法和算法的表示 1.3 结构化程序设计方法 1.1 程序与程序语言(1) 计算机语言: 人和计算机交流所用的语言; 不如自然语言丰富,是有限规则的集合; 计算机语言是编写程序、制作软件的工具,也称为程序语言; 程序: 可以被连续执行的指令的集合; 用计算机语言(程序语言)对所要解决的问题中的数据以及处理问题的方法和步骤所作的完整而准确的描述。 1.1 程序与程序语言(2) 程序语言的发展: 第一代:机器语言,计算机指令的集合; 第二代:汇编语言,用符号表示计算机指令; 第三代:高级语言,面向过程语言; 采用完全符号化的描述方式,用类似自然语言的形式描述对问题的处理过程,用数学表达式的形式描述对数据的计算过程,不关心计算机的内部结构; 例如BASIC,FORTRAN,C,Pascal等; 第四代:面向对象语言。 1.1 程序与程序语言(3)000000010000010100000000 机器语言 1.1 程序与程序语言(4) 程序设计: 用计算机语言(程序语言)对所要解决的问题中的数据以及处理问题的方法和步骤进行描述的过程; 程序设计=数据结构+算法+程序设计方法+语言工具; 程序设计的步骤: 分析问题,建立数学模型; 确定数据结构和算法; 编制程序; 调试程序; 1.2 算法和算法的表示(1) 算法的概念: 有穷规则的集合,其中之规则规定了一个解决某一特定类型的问题的运算序列; 解决问题确定的方法和有限的步骤称为算法; 算法的两要素: 基本功能操作: 逻辑运算,算术运算,数据比较以及数据传送。 控制结构: 决定了算法的执行顺序,包括顺序结构,分支结构和循环结构。 1.2 算法和算法的表示(2) 算法的基本特征: 有穷性:一个算法必须在执行有限步骤后终止; 确定性:每一步的含义的确切的; 有效性:每一步操作都能有效执行; 有零个或多个输入; 有一个或多个输出; 1.2 算法和算法的表示(3) 算法的表示: 原则上可以用任何形式的语言和符号来描述,例如自然语言,程序语言,流程图,N-S图,伪代码等; 流程图:直观性强,便于阅读; N-S图:符合结构化程序设计要求; 1.2 算法和算法的表示(4) 流程图符号: 1.2 算法和算法的表示(5) 流程图符号: 1.2 算法和算法的表示(6) 流程图符号: 1.2 算法和算法的表示(7) 用流程图表示算法: 1.2 算法和算法的表示(8) 常用算法介绍: 枚举法 迭代法 递推和递归法 分治法 1.2 算法和算法的表示(9) 枚举法: 枚举法(穷举法)根据问题预估答案的范围,在范围内对所有可能的情况进行逐一验证,符合题目条件者为答案; 枚举法的特点是算法简单,容易理解,但运算量较大。 1.2 算法和算法的表示(10) 使用枚举法解百鸡百钱问题: 1.2 算法和算法的表示(11) 迭代法: 一种数值近似求解的方法,把一个复杂问题的求解过程转化为相对简单的迭代算式,然后重复执行这个算式,直到得到最终解; 分为精确迭代法和近似迭代法; 1.2 算法和算法的表示(12) 使用迭代法计算s=1+2+3+4+…+100 确定迭代变量s的初始值为0; 确定迭代公式s

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档