C语言程序设计基础课件 01 绪论_第1页
C语言程序设计基础课件 01 绪论_第2页
C语言程序设计基础课件 01 绪论_第3页
C语言程序设计基础课件 01 绪论_第4页
C语言程序设计基础课件 01 绪论_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计基础绪论01程序设计概述0203计算思维C程序开发的基本过程目录CONTENTS01程序设计程序设计与算法程序的定义与本质程序是计算机处理数据、获取信息的工作规程,定义了数据的逻辑结构和程序运行的步骤。著名科学家NicklausWirth提出“算法+数据结构=程序”,揭示了程序的本质。不同的程序可完成不同工作,处理不同问题需不同程序。数据是计算机获取信息的基础,程序规定了有序工作流程,且程序是静态的,需被计算机“认识”和“理解”才能处理数据。算法的概念与示例算法是计算机执行计算过程的具体描述,即描述计算机如何将输入转化为输出的过程。数据结构是计算机处理过程中数据的组织方式,常见的有数组、链表等。算法的质量优劣影响程序效率,评价标准主要包括时间复杂度、空间复杂度等。程序设计的环节程序设计包括分析问题、设计算法、编写程序、运行程序分析结果、整理文档等5个环节。分析问题需认真研究给定条件和目标,找出解题规律和方法;设计算法要确定解决问题的具体步骤;编写程序是将算法转化为计算机可“认识”的代码,计算机通过编译或解释程序可“认识”多种高级语言;运行程序分析结果要判断结果是否合理,不合理则需调试程序;整理文档需包含程序名称、功能、运行环境等内容,以保证程序的可共享性和兼容性。

程序设计五环节闭环程序设计的闭环流程程序设计是一个闭环过程,从分析问题开始,经过设计算法、编写程序、运行验证,最终整理文档。每个环节紧密相连,运行结果不正确时需回溯检查算法逻辑,确保程序符合预期。程序设计语言第一代——机器语言机器语言由二进制0、1代码指令构成,不同的CPU具有不同的指令系统,所有地址分配以绝对地址形式处理。存在代码不易记忆、程序编写麻烦、维护复杂、用户需分配存储空间、编程效率极低等缺点。第二代——汇编语言汇编是机器指令的符号化,与机器指令有直接对应关系,还增加了一些功能,如宏、符号地址等。具有可直接访问系统接口、汇编程序翻译成的机器语言程序效率高等优点;但也存在难学难用、容易出错、维护困难等缺点。在高级语言不能满足设计要求或不具备特定功能时,汇编语言会被使用。第三代——高级语言高级语言是面向用户、独立于具体计算机结构的语言,形式上接近算术语言和自然语言。它不能直接执行,运行前需编译成机器语言。一个高级语言命令可代替多条汇编语言指令,具有易学易用、通用性强、应用广泛等优点。C语言属于第三代语言,功能丰富,表达能力强,有丰富的运算符和数据类型,使用灵活方便,应用面广,移植能力强,编译质量高,目标程序效率高,还具有低级语言的许多特点,如可直接访问物理地址、进行位操作等,被誉为“可移植的汇编语言”,是编写应用软件、操作系统和编译程序的重要语言之一。第四代(4GL)——非过程化语言4GL是非过程化语言,更像英语,与自然语言接近,是面向应用、为最终用户设计的一类程序设计语言,兼具过程性和非过程性的两重特性。它具有缩短应用开发过程、降低维护代价、减少调试问题以及对用户友好等优点,常见的有数据库查询语言、程序生成器等。选择适宜的程序设计语言可使编写代码更方便,提高可读性、可测试性和可维护性。实际工程中选择语言时,需考虑系统用户的要求、编译程序、软件工具、工程规模、可移植性、应用领域以及程序员的知识等因素。02计算思维问题的提出美国对计算思维的关注2005年6月,美国总统信息技术咨询委员会提交报告,建议将计算科学置于国家科学与技术领域中心的领导地位。美国NSF的CPATH计划旨在将计算思维学习机会融入本科教育,2011年启动的CE21计划则是为了提高K-14老师与学生的计算思维能力。计算思维的定义与本质美国卡内基·梅隆大学周以真教授认为,计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,其本质是抽象和自动化。计算思维是如同“读、写、算”一样人人可具备的思维能力,它不是程序化、流程化的,而是以计算机科学为代表的抽象化、概念化能力表现形式,是人类解决问题、管理生活和交流互动的必要思维能力。在我国,学者也关注计算思维问题,“大学计算机基础教育改革理论研究与课程方案项目课题组”对计算思维给出了完整定义,并设计了基于计算思维的大学课程方案。计算思维能力培养科学的训练方法思维训练可帮助人们形成高效思维模式,培养学生按计算思维模式思考问题需要科学的思维训练。程序设计课程在学生计算思维能力培养中具有重要地位,可应用“目的—输入—解答—决定—实施”(PISCO)教学过程进行问题求解和计算思维能力训练。该过程包括明确思考目标、对问题进行扩展和浓缩、按次序使用目标—扩展—浓缩(TEC)工具、搞清楚思考目的、考虑相关输入因素、得出备选解决方案、做出决定和实施行动等步骤。可行的训练载体在程序设计课程中应用TEC-PISCO教学法进行思维训练,需要可行的训练载体。本书的导例分为“问题描述、问题分析、算法描述、程序实现、运行结果、程序分析”六部分,前五部分可与PISCO的“目的、输入、解答、决定、实施”相对应。循环的训练过程爱德华·德·博诺提出人类大脑有自我教育系统,思维可通过不断学习掌握。学生按照教材导例的六部分进行循环训练,可培养分析问题和解决问题的方法,逐渐提升计算思维能力。程序设计能力与计算思维能力两者的关系程序设计能力是计算机程序设计的实践能力,可体现、展示;计算思维能力是解决问题的综合素质,属于内涵与素养。两者既有联系又有区别,但程序设计能力的培养过程可成为计算机思维形成的环节,程序设计过程也是运用思维解决问题的过程,注重程序设计能力的培养有助于提升计算思维能力。程序设计中的思维训练过程按照解决问题的过程进行思维训练,包括提出问题、问题分析、算法描述、算法分析、程序实现和运行等步骤,分别对应PISCO过程的“目的”“输入”“解答”“决定”“实施”。具体实例以广告公司制作广告板的问题为例,提出问题后进行问题分析,给出两种算法,对算法进行描述和分析,比较其效率,选择最优算法并进行程序实现和运行。该过程体现了计算思维中“穷举”的思维要素,通过此过程进行了计算思维的训练。03C程序开发的基本过程安装Dev-C++集成开发环境Dev-C++是免费、开源、轻量级的集成开发环境,专门用于在Windows环境下开发C或C++程序。它集成了MingW64/TDM-GCC编译器,涵盖了创建、编辑、编译、连接和调试C/C++程序的所有功能,界面由窗口、对话框、菜单、工具栏、快捷键等组成,可观察和控制整个开发过程。集成开发环境的特点(1)在SourceForge下载安装程序,双击运行下载的安装程序;(2)初始化后选择语言对话框,下一步;(3)在弹出的用户使用协议对话框,单击IAgree按钮;(4)在随后出现的对话框中一直选择默认安装选项,单击Next按钮,直到提示安装完成为止。(5)安装完毕后,第一次启动运行弹出选择语言的对话框,按需选择。安装步骤利用Dev-C++集成开发环境运行一个C程序新建或打开文件在Dev-C++主窗口中,选择“文件”→“新建”→“源代码”命令可生成空的代码编辑区,在编辑区编写源程序后,选择“文件”→“保存”命令保存文件;若要编辑已存在的源程序文件,可选择“文件”→“打开项目或文件”命令,并在正确的文件路径下打开指定的源文件。编译源程序选择菜单栏中的“运行”→“编译”命令或单击相应按钮,对编辑完成的源程序文件进行编译,运行结果显示在最下方的窗口中。编译程序会对源程序进行语法检查,若发现错误会给出提示和错误个数,编程者需根据提示修改源程序并再次编译,直到没有错误为止。运行程序选择菜单栏“运行”→“运行”命令或单击相应按钮,运行编辑完成的源程序代码,输出结果显示在弹出的黑色窗口中。若运行结果与预期不一致,说明程序存在逻辑错误,需再次修改源程序并重新进行编译和运行。运行C程序的基本过程编辑选择适当的编辑程序,将C语言源程序通过键盘输入到计算机中,并以.c或.cpp文件的形式存储在磁盘上。C程序的集成开发环境中提供了编译器的功能。编译将.c或.cpp的源程序翻译成机器语言程序的过程,编译程序主要进行语法检查和最简单的语义检查,不检查程序的逻辑。若发现错误,编程者需根据错误信息,可以定位到出错的代码行,进行修正,并再次编译。运行将编译生成的.exe可执行文件投入运行,输入适当的测试数据检测程序的运行结果是否正确。若结果与预期不一致,说明程序存在逻辑错误,需

温馨提示

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

评论

0/150

提交评论