欢迎来到天天文库
浏览记录
ID:39611240
大小:1.10 MB
页数:49页
时间:2019-07-07
《程序设计基本概念1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C程序设计一、教学目的掌握计算机程序设计的基本知识和程序设计的一般方法,了解进行科学计算的一般思路。培养学生具备应用计算机解决和处理问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。本门课程主要用途:1、计算机等级考试2、网页课程等相关后续课程需要3、为自学计算机应用相关课程打下基础课程简介及教学安排二、教学安排及学时分配1.总学时:72学时(1~19周)授课学时:36学时上机:36学时2.学习方式教师授课+学生自学+上机实践三、要求1.课前预习,课后消化。2.坚持认真出勤、听课,适当做笔记。3.认真进行上机编程训练,按时完成上机任务。4.有问题及时与老师沟通。第一讲程序设计及C语
2、言概述1.1程序设计的概念1.2算法的概念及常用算法的描述1.3结构化程序设计方法1.4C语言的产生及发展1.5C语言的特点1.6简单C程序介绍1.7本讲要点小结1.1程序设计的概念1.1.1程序设计语言1.1.2程序设计的概念1.1.1程序设计语言机器语言汇编语言高级语言机器语言概念:可由机器直接识别并执行的二进制数指令称为机器语言指令,机器语言指令的集合成为这台计算机的机器语言。特点:不易写、读,难理解、记忆,编程困难;面向机器,不通用。汇编语言概念:由符号和数字组成的指令称为汇编语言指令,汇编语言指令的集合成为这台计算机的汇编语言。特点:须由汇编程序翻译
3、成机器语言;面向机器,不通用。高级语言概念:以更接近于人们的自然语言和数学公式编写程序的语言,如BASIC、FORTRAN、C语言等。特点:不再面向机器,而是面向问题;须翻译成机器语言的目标程序;编译方式、解释方式。1.1.2程序设计的概念程序设计就是用计算机语言来编写程序的过程。什么是程序?著名计算机科学家沃思提出有名的公式:算法+数据结构=程序算法即问题的求解过程、计算机的工作步骤。数据结构即对参与运算的数据怎样进行合理的组织、安排,以提高程序运行的效率和求解的精确性。程序的两大要素:数据结构、算法1.2算法的概念及常用算法描述1.2.1算法的概念1.2.2算法特性
4、1.2.3算法的表示1.2.4常用算法描述算法是计算机所能执行的解题方法步骤的精确描述,有两大要素:计算机所能执行的操作:算术运算、逻辑运算、关系运算、函数运算、位运算、I/O操作等。控制结构:即各种操作的执行顺序。1.2.1算法的概念1.2.2算法特性算法的五个特性:有穷性:一个算法必须在执行有穷步之后结束。确定性:算法的每一步必须是确切定义的。对于相同输入必须得到相同结果。有效性:算法的每一步都是能够实现的,即可操作的。输入:算法有零个或多个输入。有输出:算法执行完毕,必须有一个或若干个输出结果。顺序结构选择结构循环结构结构化程序设计的三种基本结构1.2.2算法
5、的表示自然语言传统的程序流程图N-S流程图伪代码计算机语言自然语言表示法例如:(1)输入a,b两数(2)求和s=a+b(3)输出两数之和注意:用自然语言表示的每一步骤必须使计算机能实现的,否则便是错误的算法。特点:简单易写,内容较长,理解有异,较少使用。传统的程序流程图用一些图形符号形象直观的表述算法,表1.1给出了ANSI规定的程序流程图符号。传统的程序流程图例图结束输入a,b,ca>b?b>c?a>c?输出c输出b输出c输出a开始传统的程序流程图特点:绘制简单,描述直观,之前广泛使用。缺点:1、程序流程图不易表示算法或程序的层次结构。2、用箭头表示的控制流可能引
6、起随意的转移控制。3、可能诱使人们过早地考虑局部程序的控制结构而忽视全局的程序结构。4、不易表示数据结构和程序模块之间的关系。N-S图即结构化程序设计流程图,提供了描述三种基本逻辑结构的图形工具,与传统的程序流程图对照描述如下:顺序结构A模块B模块A模块B模块(a)(b)图1.3顺序结构1.3结构化程序设计方法荷兰学者E.W.dijkctra提出了结构化程序设计(structuredprogramming)的理论,成为70年代中期至90年代初的程序设计主流。结构化程序设计方法提出了一些大家都要遵循的原则,这些原则归纳为32个字:“自顶向下,逐步细化。基本结构,组合而成。清晰第一
7、,效率第二。书写规范,缩进格式。”三种基本结构:顺序,选择,循环1.4面向对象的程序设计方法70年代后,软件开发的手段和方法越来越不能适应开发大型系统软件的要求,因而出现了“软件危机”,由此产生了面向对象的程序设计语言。1983年美国Bell实验室的B.Stroustrup在C语言基础上,扩充引进了面向对象的概念推出了C++语言。它与C语言完全兼容,是目前使用最为广泛的一种面向对象的程序设计语言。
此文档下载收益归作者所有