第1章C语言程序设计基本概述_第1页
第1章C语言程序设计基本概述_第2页
第1章C语言程序设计基本概述_第3页
第1章C语言程序设计基本概述_第4页
第1章C语言程序设计基本概述_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、020/7/4,算法(7),算法仅仅提供了解决某类问题可采用的方法和步骤,还必须使用某种计算机程序设计语言根据算法的描述去实现,即编程。,/求三个数中最大值#includeintmax_value(inta,intb,intc)intmax;if(ab)max=a;elsemax=b;if(maxc)max=c;return(max);main()intx,y,z,maxx;scanf(%d%d%d,10,2020/7/4,算法(8),例2:求解两个自然整数的最大公约数采用“欧几里得算法”,又称辗转相除法1、自然语言描述S1:输入两个正整数M和N;S2:比较M和N,如果M小于N,则两数交换,保

4、证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/4,算法(9),2、伪代码描述:INPUTM,NIFMNTHEN交换M和NWHILEN0DOR=MOD(M,N)M=NN=RENDDO输出M其中M除以N的余数用符号MOD(M,N)表示。,12,2020/7/4,算法(10),3、流程图描述,13,2020/7/4,算法(11),4、N-S图描述,14,2020/7/4,结构化程序设计方法,结构化程序设计的基本方法:自顶向下,逐步求精复

5、杂问题分解为若干的独立的小问题(小模块),例:求解两个数的平均值1、分解:问题分解为三个模块S1:输入两个数a,bS2:求两个数的平均值赋给averS3:输出平均值,15,2020/7/4,结构化程序设计方法(2),2、实现方法,算法细化S1:调用输入函数,完成输入S2:设计一个求解平均值的函数averge()S3:调用输出函数,完成输出,3、C语言实现主函数的编程/求两个数的平均值main()/主函数floata,b,ave;/声明a、b和ave为实型变量scanf(“%f%f”,/输出ave的值return0;,16,2020/7/4,结构化程序设计方法(3),4、逐步求精:设计avera

6、g()函数的算法。设两个参数为floatx,floaty。S2.1:把x加y的和除2的值送给averS2.2:把aver的值返回给主函数。,5、C语言实现averag()函数的编程#includefloataverage(floatx,floaty)/求两个数的平均值floatz,aver;/声明aver为实型变量aver=(x+y)/2;/计算两个数的平均值赋给averreturn(aver);/aver的值作为函数的的返回值,17,2020/7/4,结构化程序设计方法(4),6、两模块连接成一个完整的求解程序#includefloataverage(floatx,floaty)/求两个数的

7、平均值floatz,aver;/声明aver为实型变量aver=(x+y)/2;/计算两个数的平均值赋给averreturn(aver);/aver的值作为函数的的返回值main()/主函数floata,b,ave;/声明a、b和ave为实型变量scanf(“%f%f”,/输出ave的值return0;,18,2020/7/4,结构化程序设计方法(5),结构化程序设计三种基本控制结构:顺序结构选择结构循环结构(while,repert_until),19,2020/7/4,结构化程序设计方法(6),顺序结构,N-S图,流程图,执行过程:先执行A操作,再执行B操作。,20,2020/7/4,结构

8、化程序设计方法(7),选择结构,N-S图,流程图,P为条件:当P条件成立(为真T)执行A条件不成立(为假F)执行B,21,2020/7/4,结构化程序设计方法(8),循环结构(while),当P条件成立(为真T)反复执行A,直到P为假。,流程图,N-S图,22,2020/7/4,结构化程序设计方法(9),循环结构(repert_until),流程图,N-S图,先执行A操作,再判断P,若为假,再执行A,直到P为真。,23,2020/7/4,结构化程序设计方法(10),三种基本结构的共同特点是:1)只有一个入口2)只有一个出口3)结构内的每一部份都有可能被执行到。4)结构内不存在“死循环”。,顺序,选择(分支),循环,24,2020/7/4,课堂练习一,1、程序设计语言大致可分为三类,分别是、和。2、语言是计算机能直接识别的语言。3、C语言是由构成的,至少有一个且仅有一个的函数,称主函数。4、C语言以为语句的终止符。5、表示程序的结构层次范围,必须使用。6、算法可以用多种方式来表示,通常有4种、和。,1、机器语言汇编语言高级语言2、机器语言3、函数main4、;5、配对6、自然语言伪码流程图N-S图,25,20

温馨提示

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

评论

0/150

提交评论