第1章 程序的概念与算法(09_09_nit_l)

上传人:xzh****18 文档编号:51466129 上传时间:2018-08-14 格式:PPT 页数:55 大小:644.50KB
返回 下载 相关 举报
第1章 程序的概念与算法(09_09_nit_l)_第1页
第1页 / 共55页
第1章 程序的概念与算法(09_09_nit_l)_第2页
第2页 / 共55页
第1章 程序的概念与算法(09_09_nit_l)_第3页
第3页 / 共55页
第1章 程序的概念与算法(09_09_nit_l)_第4页
第4页 / 共55页
第1章 程序的概念与算法(09_09_nit_l)_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《第1章 程序的概念与算法(09_09_nit_l)》由会员分享,可在线阅读,更多相关《第1章 程序的概念与算法(09_09_nit_l)(55页珍藏版)》请在金锄头文库上搜索。

1、 第 1 章程 序 的 概 念 与 算 法11.1 程序的概念程序是指把希望计算机做的工作写成一定形式的指令,并把它们存储在计算机的内部存储器中。当人们给出命令之后,它就按指令操作顺序自动进行,把这种可以连续执行的一条条指令的集合称为“程序”。目前,正在使用的计算机程序设计语言有很多种,有 些语言是面向机器的,如二进制语言,而多数是面向问题 的语言。2目前的程序设计一般可分为非结构化程序设计、结构化程序设计和面向对象的程序设计.C语言是结构化程序设计语言,而C+称为面向对象的语言。面向问题的语言都被称为计算机的“高级语言”,如C与C+语言等。3程序是为了解决某个问题而设计,用C语句所写的序列称

2、为C源程序,它的后缀为(.c) (我们上机使用的环境微软公司VC+,所以其源程序的后缀为.cpp).C源程序经过编译(Compile)后生成一个目标文件(.obj).经过链接库函数后生成可执行文件(.exe)。这些语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式,人们学习和操作起来感到十分方便。 4问题的提 出及分析 确定该问 题的算法用C语言描述算法 建立语言源程序C编译生成.obj 文件连接有关库函数后 生成可执行文件运行程序并输 出正确的结果C程序的设计过程如下图所示:51.2 算法与流程图什么是算法?算法是指解决问题所使用的一系列合乎逻辑的解题步骤.一个程序应包括两方面内容

3、:(1). 对数据的描述.要指定数据的类型和数据的组织形式, 即数据结构.6(2). 对操作的描述, 操作步骤,即算法(algorithm).著名计算机科学家Wirth(沃思)提出:数据结构+算法程序在计算机科学中,算法要用计算机算法语言描述.要解决一个复杂的问题,需要仔细的分析与研究此问题,并进行精确的逻辑分析,找到解决问题的方法,再用计算机实现。7当然,求解一个给定的可解的问题,不同的人可以编写出不同的程序。例如判断一个整数的奇偶性,大致分成以下几步:计算机读入该数;将该数除以2;判断余数是否为0;如果为0,该数为偶数;否则为奇数.以上这些解决问题的一系列步骤就是算法,并且可以用C语言编写

4、成程序,用以解决数的奇偶性问题。8什么是流程图?流程图是一种用图解方式说明,解决一个问题所要的一系列操作。流程图比文字更容易理解,更加直观.流程图中的符号含义如下所示: 9输输入输输出连连接符控制流条件判断加工、处处理程序的入口和出口含义义常用基本组组件流程图的符号及含义10例1.1 从键盘输入两个数,求这两数 之和,并把结果输出. 画出此问题的流程图。 开始输入两数两数相加显示结果结束定义两个变量程序流程图111.3 结构化程序设计包含的三种结构结构化程序设计由三种结构组成: 顺序结构、选择结构、循环结构。 1.3.1 顺序结构顺序结构的程序是一条语句接一条语句顺序地往下执行的。例如右图中,

5、先执行语句1,然后 执行语句2,最后执行语句3.顺序结构的程序是最简单的程序。语句1语句2语句312例1.2 编写一个C语言程序,输出显示下列图形。*C语言的学习要努力!* 这是一个典型的顺序执行的程序设计,输出三个字符串,输出字符串用函数printf()完成,具体的过程描述为:开始输出: * 换行后再输出:C语言的学习要努力!换行后再输出:* 程序结束13程序流程图如图所示:开始输出: *结束输出:C语言的学习要努力!输出: *14下面先介绍几个C语言程序, 使我们对C语言程序的特点 有一个初步认识和了解.刚开始学习,可能在某些语法点上还有不理解的地方,可以在以后的章节中得到介决和加深.#i

6、nclude /*包含标准输入输出库预处理命令*/ int main( ) /*主函数开始*/ printf(“*n”); printf(“C语言的学习要努力!n”); printf(“*n”); return 0; /*程序结束*/虽然这是一个并不复杂的程 序, 但它包含了很多重要的语 法点和一个程序的框架. 下面逐条进行分折讲解:15用C语言写成的源程序为:(P4)#include /*包含标准输入输出库预处理命令*/ int main( ) /*主函数开始*/ printf(“*n”); printf(“C语言的学习要努力!n”); printf(“*n”); return 0; /*程

7、序结束*/1. main( )是主函数,每一个C 程序 都必须一个main( )主函数.且只能有一个main( )主函数.3. 这是一条编译预处理命令.C语言程序设计中往往要用到输入与输 出函数printf 、 sacnf, 因此要有文件包含 命令:#include.2. 函数体用大括 号 括起来。16#include int main( ) printf(“*n”); printf(“C语言的学习要努力!n”); /*输出一行字符*/printf(“*n”); return 0; printf ( )函数是C 语言中的专用输出函 数, 双引号内的字符串按原样输出. /*/是注释部分,对编 译

8、和运行不起作用, 基本上 可放于程序任何地方. n 是一转义字 符 (为换行符).语句最后有一 个分号 ; 。17#include int main( ) printf(“*n”); printf(“C语言的学习要努力!n”); printf(“*n”); return 0; /*与main函数中的int相对应*/ main( )函数是由操作系统调用的.标准C+要求main( )函数声明为int 型.如果程序正常执行,则 向操作系统返回0, 否则 返回1.细节问题将通过随后章节的学习,以及上机练习来加深理解.18上机练习1 (P5)步骤1:在Visual C+环境下新建文件: 开始按钮 所有程

9、序 Microsoft Visual C+6.0 如果出现每日提示,如图所示,即点击关闭按扭。 19步骤骤2:在引导导出的C+集中开发环发环 境中,点击击菜单单:文件 新建20在随后出现现的”新建”对话对话 框中,点击击菜单单:文件C+ Sourse File 输入文件名: 如:1_1.c指定存放此文件 的位置: 例如: D:VC+21步骤骤3:在编辑编辑 框内输输入C源程序。22步骤骤4:在Visual C+环环境下点击击工具图标图标 :进进行编译编译 (相当:Ctrl+F7), 产产生 .obj文件. 出现对话现对话 框(英文): 回答:是这条编译命令需要一个活动 的工程工作区.你要产生一

10、个默 认的工作区?23如果程序无错,编译通过. 产生一个相应的1_1.obj文 件.24如果程序有错,编译没有通过. 提示错误信息.25步骤骤5:点击连击连 接图标图标 :现设程序无错,编译通过.进进行连连接(相当:F7), 产产生 .exe文件. 26如果程序无错,连接通过. 产生一个相应的1_1.exe文件.27步骤骤6:点击执击执 行图标图标 :进进行执执行此 1_1 .exe文件. 28思考:1在例1-1.c中,如果没有main(),编译程序后出现的错误 提示是什么?在C程序设计中要注意什么问题?2在例1-1.c中,如把main写成了Main,编译程序后出现 的错误提示是什么?在C程序

11、设计中要注意什么问题?3在例1-1.c中,如printf(“*n”); 后少了“;”号, 编译程序后出现的错误提示是什么?在C程序设计中要注意什么问题?294在例1-1.c中,如没有写上预处理命令#include,编译程序后出现的错误提示是什么?想想这是为什么?5在例1-1.c中,任何一行的输出语句中少了符号n, 程序运行后的结果有什么变化?问在C语言中符号n的作用是什么?6在例1-1.c中,如printf(“*n”); 后少了双引号,编译程序后出现的错误提示是什么?301.3.2 分支结构在程序执行过程中,程序的流程可由多路分支组成,根据不同的条件去执行不同的语句块。这是一个两分支结构。 首

12、先判断条件是否为“真”, 如为真,执行语句块1,否则执 行语句块2。语句块2语句块1假真条件31假如判断从键盘输键盘输 入的两个数的大小:如果: xy,提示:x大于y. 如果: xy?输出x小于y真假输出x大于y下一步此时将会用到如下所示的流程图:输出:32例1.3 从键盘输入两个数,判断两个数的大小。分析:这是一个分支程序设计,具体的过程描述为: 程序开始 定义两个变量: x,y 输入二个数给x,y 如果x大于y 输出:x大于y 否则 输出:x小于y 程序结束33开始给x,y输入相应的值定义两个变量:x,y结束xy ? 输出: x小于y 输出:x大于y 两数中求最大值流程图真假34例1.3 用C语言写成的源程序为: (P8)#include int main( ) int x, y; /*定义二个变量*/scanf(“%d%d”, /*读入两个整型数给变量x、y*/if(xy) /*如果x大于y*/printf(“x大于yn”); /*输出:x大于y */else /*否则*/printf(“x小于yn”); /*输出:x小于y */return 0;这一行为变量定义,指明 x, y是 整型变量(integer)。scanf( ) 函数是专用的输入函数.编译程序后出现的错误提示是什么?在C程序设计中要注意什么问题

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号