第1章C语言程序设计基本概述

上传人:我*** 文档编号:137633679 上传时间:2020-07-10 格式:PPT 页数:27 大小:672KB
返回 下载 相关 举报
第1章C语言程序设计基本概述_第1页
第1页 / 共27页
第1章C语言程序设计基本概述_第2页
第2页 / 共27页
第1章C语言程序设计基本概述_第3页
第3页 / 共27页
第1章C语言程序设计基本概述_第4页
第4页 / 共27页
第1章C语言程序设计基本概述_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《第1章C语言程序设计基本概述》由会员分享,可在线阅读,更多相关《第1章C语言程序设计基本概述(27页珍藏版)》请在金锄头文库上搜索。

1、第01章C语言程序设计基本概述 - 2,1,2020/7/10,主要内容,算法 结构化程序设计方法 课堂练习,2,2020/7/10,算法,算法: 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用有效的方法描述解决问题的策略机制。 不同的算法可能用不同的时间、空间或效率来完成同样的任务。 一个算法的优劣可以用空间复杂度与时间复杂度来衡量。,3,2020/7/10,算法,必须具备以下五个特性 有穷性 确定性 有效性 没有输入或有多个输入 有一个或多个输出,4,2020/7/10,算法(2),算法的描述 自然语言 伪码 流程图 N-S图,例1:求三

2、个数中最大值问题,5,2020/7/10,算法(3),自然语言: 日常使用的语言 先将a,b两个数进行比较,找出其中的大数,然后再把它和第三个数c进行比较,如果它比c大,则它就是最大数,否则c是最大数。,伪码: 介于自然语言和计算机语言之间的文字和符号进行描述,IF ab THEN max=a ELAS max=b IF maxc THEN 输出 max ELSE 输出 c,6,2020/7/10,算法(4),流程图: 图语言表示法 ANSI规定了一些常用的流程图符号:,起止框 输入输出框 判断框 处理框 流程线 连接圈,7,2020/7/10,算法(5),三个数中最大值问题的流程图 图1-4

3、,8,2020/7/10,算法(6),N-S图: 图语言表示法 三个数中最大值问题的 N-S图,9,2020/7/10,算法(7),算法仅仅提供了解决某类问题可采用的方法和步骤,还必须使用某种计算机程序设计语言根据算法的描述去实现,即编程。,/求三个数中最大值 #include int max_value(int a, int b,int c) int max; if(ab) max=a; else max=b; if(maxc) max=c; return (max); main() int x,y,z,maxx; scanf(%d%d%d, ,10,2020/7/10,算法(8),例2:求

4、解两个自然整数的最大公约数 采用 “欧几里得算法”, 又称 辗转相除法 1、自然语言描述 S1:输入两个正整数M和N; S2:比较M和N,如果M小于N ,则两数交换,保证M是大数; S3:求M除以N的余数R; S4:使M=N,即用N代替M; S5: 使N=R,即用R代替N, S6: 如果N0,转向S3; S7: 如果N=0,转向S8; S8: 输出M,M为M和N的最大公约数。,11,2020/7/10,算法(9),2、伪代码描述: INPUT M,N IF MN THEN 交换M和N WHILE N0 DO R=MOD(M,N) M=N N=R END DO 输出 M 其中M除以N的余数用符号

5、MOD(M,N)表示。,12,2020/7/10,算法(10),3、流程图描述,13,2020/7/10,算法(11),4、 N-S图描述,14,2020/7/10,结构化程序设计方法,结构化程序设计的基本方法: 自顶向下,逐步求精 复杂问题分解为若干的独立的小问题(小模块),例:求解两个数的平均值 1、分解:问题分解为三个模块 S1:输入两个数a,b S2:求两个数的平均值赋给aver S3:输出平均值,15,2020/7/10,结构化程序设计方法(2),2、实现方法,算法细化 S1: 调用输入函数,完成输入 S2: 设计一个求解平均值的函数averge( ) S3: 调用输出函数,完成输出

6、,3、C 语言实现主函数的编程 /求两个数的平均值 main() /主函数 float a,b,ave; /声明a、b和ave为实型变量 scanf(“%f%f”, /输出ave的值 return 0; ,16,2020/7/10,结构化程序设计方法(3),4、逐步求精:设计averag()函数的算法。 设两个参数为float x,float y。 S2.1 :把x加y的和除2的值送给aver S2.2 :把aver的值返回给主函数。,5、C 语言实现averag()函数的编程 #include float average(float x,float y) /求两个数的平均值 float z,

7、aver; /声明aver为实型变量 aver=(x+y)/2; /计算两个数的平均值赋给aver return (aver); /aver的值作为函数的的返回值 ,17,2020/7/10,结构化程序设计方法(4),6、两模块连接成一个完整的求解程序 #include float average(float x,float y) /求两个数的平均值 float z,aver; /声明aver为实型变量 aver=(x+y)/2; /计算两个数的平均值赋给aver return (aver); /aver的值作为函数的的返回值 main() /主函数 float a,b,ave; /声明a、b

8、和ave为实型变量 scanf(“%f%f”, /输出ave的值 return 0; ,18,2020/7/10,结构化程序设计方法(5),结构化程序设计三种基本控制结构: 顺序结构 选择结构 循环结构(while, repert_until ),19,2020/7/10,结构化程序设计方法(6),顺序结构,N-S图,流程图,执行过程: 先执行A操作,再执行B操作。,20,2020/7/10,结构化程序设计方法(7),选择结构,N-S图,流程图,P为条件: 当P 条件成立(为真 T)执行A 条件不成立(为假 F)执行B,21,2020/7/10,结构化程序设计方法(8),循环结构(while

9、),当P条件成立 (为真 T)反复执行A,直到P为 假。,流程图,N-S图,22,2020/7/10,结构化程序设计方法(9),循环结构(repert_until ),流程图,N-S图,先执行A操作,再判断P,若为假,再执行A,直到P为 真。,23,2020/7/10,结构化程序设计方法(10),三种基本结构的共同特点是: 1)只有一个入口 2)只有一个出口 3)结构内的每一部份都有可能被执行到。 4)结构内不存在“死循环”。,顺序,选择(分支),循环,24,2020/7/10,课堂练习一,1、程序设计语言大致可分为三类,分别是 、 和 。 2、 语言是计算机能直接识别的语言。 3、C语言是由

10、 构成的,至少有一个且仅有一个 的函数,称主函数。 4、C语言以 为语句的终止符。 5、 表示程序的结构层次范围, 必须 使用。 6、算法可以用多种方式来表示,通常有4种 、 、 、和 。,1、机器语言 汇编语言 高级语言 2、机器语言 3、函数 main 4、; 5、 配对 6、自然语言 伪码 流程图 N-S图,25,2020/7/10,课堂练习二,1、结构化程序设计三种基本控制结构分别是 、 和 。 2、三种基本结构的共同特点是: 只有 入口;只有 出口;结构内的每一部份都有可能被执行到;结构内 “死循环”。,1、顺序结构 选择结构 循环结构 2、一个 一个 不存在,26,2020/7/10,作业,P11 1.3 1.4,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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