C language第1章 程序设计基础_第1页
C language第1章 程序设计基础_第2页
C language第1章 程序设计基础_第3页
C language第1章 程序设计基础_第4页
C language第1章 程序设计基础_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章 程序设计基础知识主要内容:1、程序设计概述(理解) 程序、程序设计语言的概念 程序设计的一般过程 如何学习程序设计2、算法(熟悉)3、结构化程序设计方法(了解)1.1 程序设计概述一、概念:1、程序:程序是为解决某一问题而编写的语句序列。通俗的说,将解决一个实际问题的具体操作步骤用某种计算机语言描述出来,就形成了程序。 例如:判断输入的任意整数n能否被3整除,程序如下: main() int n; printf(n enter a integer:); scanf(%d, &n); if( n%3=0) printf(n %d can be divided by 3 , n); els

2、e printf(n %d cant be divided by 3, n); 2、程序设计语言:即计算机语言 分类:机器语言:用计算机能直接理解和执行的“0”和“1” 表示各种操作的程序设计语言,很难使用。汇编语言:用助记符号来表示各个基本操作的程序设计语言 ,如 add r1, 4高级语言:用接近自然语言和数学语言的语法符号描述基本操作的程序设计语言 本课程主要介绍:CC+VC+ C#系列中的基础部分:标准C,然后引入C+的基础知识。二、程序设计的一般过程用计算机解决问题的基本过程如图1.1所示:对于简单问题,前三步可看作一步,即分析问题、设计算法。程序设计的基本过程(1)分析要解决的问题

3、,明确任务。即分析要处理的数据是什么,从哪里来,作怎样的处理,结果送往那里。例如:求学生的平均成绩。分析该问题,明确它有三项功能:输入学生成绩、求平均成绩、输出结果;要处理的原始数据为:学生的成绩;要进行的处理为:求平均;结果为:平均值,送屏幕显示或保存于文件中。(2)分析问题,建立数学模型,并选择合适的解决方案 例如:分析求平均成绩的处理过程,可以将数据的具体含义去掉,抽象为:计算一批数据的平均值。 (3)确定数据结构和算法 :数据结构及数据的组织方式,算法是对数据处理过程的具体描述。不同的数据结构对应不同的算法。例如:有一堆盒子,上面有编号(设编号为两为数字),要查找某个编号的盒子,如何实

4、现?方法1:若该堆盒子已排成一队,则可以从第一个开始逐个比较,直至找到或找完为止。方法2:若该堆盒子已按编号排成多队,每一队的高位数字相同,则可以根据要找的盒子的高位直接确定他在那一队,然后在该队中再逐个查找。由此可见,只有线确定了数据结构,才能设计相应的算法。 (4)编码:即编写程序 。 用某种计算机语言将上一步设计好的算法描述出来,就是程序。 可见,算法是编程的基础。(5)调试程序:将源程序送入计算机,进行排错、试运行,调试的结果是得到一个能正确运行的程序。 通常,调试程序至少占整个程序设计工作量的一半。 (6)整理资料,交付使用 三、学习程序设计的方法1、一讲、二练、三考2、多读源程序、

5、多编写程序、多上机调试3、忌上课只听不记、忌“纸上谈兵”、忌课下不练习具体要求:1、上课有重点、有选择的记2、上机有准备:准备好课本、笔记、作业等3、除课后习题必须全部解决外,多做一些二级考试的模拟题4、做一个自己感兴趣的完整的程序(小项目)1.2 算法及其描述一、算法: 对解决某一特定问题的操作步骤的具体描述。 广义的说,算法就是为解决一个问题而采取的方法和步骤。 程序算法十数据结构 就是说:“程序是在数据的特定的组织方式的基础上,对抽象算法的具体描述”。作为程序设计人员,在设计算法前,必须认真考虑和设计数据的组织方式,即数据结构;然后针对具体的数据结构设计相应的操作步骤,即算法。 二、算法

6、的描述描述算法的方法有多种,常用有:自然语言(描述不够严格,限于简单问题)流程图* (同一问题的流程图不唯一)N-S 图* (结构清晰,但难于修改)PAD图 (结构清晰,唯一性好)伪代码* (灵活,但需要有一定的程序设计基础)学习建议:流程图或N-S图一定要熟练掌握,伪代码表示法在学习完基本的流程控制语句后也经常使用。1、用自然语言描述例1. 1 计算任意长方形的面积。 分析:要实现的功能有: 输入长和宽,计算面积,输出结果。先定义数据结构:程序中要处理的数据有三个,即长、宽、面积,设分别用实型变量length、width、area表示。则算法如下:输入长和宽分别存入length, width

7、计算面积:lengthwidth = area输出结果area例1. 2 计算s1+s2+s3+s4+s5(其中si表示第i个数)。分析:要实现的功能是“加法运算”,要输入的数据是s1s5,对其进行的运算是“加”,结果是“累加和”,并输出。先定义数据结构: 设变量 s 表示累计和,初值为0; 变量 x 表示每次要处理的数据(s1s5中的一个); 变量 i 表示要处理第几个数(其取值范围可以是:15),设初值为1。例1.2算法根据以上定义,算法设计如下:S1: 赋初值 0=sS2: 赋初值 1=iS3: 输入第i个数xS4: 累加:s+x=sS5: 计数增值:i+1=i S6: 若i5,表示数据

8、还未处理完,返回 S3 继续重复S3、S4、S5;否则,计算结束,执行S7。 S7:输出结果 s。例1. 4 判断任意整数是奇数还是偶数。 分析:设整型变量 n 表示要处理的整数,则算法为: 首先输入n, 然后判断条件“n%2等于0”(%是求余运算符)是否成立, 若条件成立,则输出“n是偶数”; 否则输出“n是奇数”。 2、用流程图表示算法流程图是用几种图形、箭头线和文字说明来表示算法的框图。流程图中规定使用的符号如图1.2所示用流程图的优点是:直观形象、易于理解,能将设计者的思路清楚地表达出来,便于以后检查修改和编程。结构化的流程图:即一个流程图由三种基本结构(顺序、选择、循环结构)组成,这

9、三种基本结构可以相互嵌套,组合成复杂的算法。 注:P表示条件,A、B表示一个基本操作或一个基本结构。例1. 3 计算长方形的面积(用流程图表示的算法如图1.4所示)。 例1. 4 判断任意整数是奇数还是偶数。 3. 用N-S图表示算法用N-S图表示的三种基本结构 4. 伪代码表示的算法 熟悉:什么是伪代码?(自学)1.3 结构化程序设计结构化程序设计思想包括两个方面的内容: 模块化设计和结构化编码 特点: 结构化的程序结构清晰,层次分明,便于程序员编写、阅读和修改,提高了程序的可靠性,保证了程序的高质量、高效率。为了得到结构化的程序,必须强调程序设计的规范化,采用结构化的程序设计方法。1. 模块化设计方法自顶向下,逐步细化。(常用)其基本思想是:将一个复杂的大任务分解为若干个较小的任务,如果这些子任务还较复杂,再将其进行划分,直到每个任务都能很容易的实现其具体细节,然后“分而治之”,即分别实现各个小任务。这样,对一个大任务的处理就变成了对一个个小任务的实现,使问题变得相对简单了。例学生管理系统。自下而上,逐步积累。(不常用)例:学生管理系统。 学生管理成绩管理学

温馨提示

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

评论

0/150

提交评论