《C语言程序设计教程》.ppt
《《C语言程序设计教程》.ppt》由会员分享,可在线阅读,更多相关《《C语言程序设计教程》.ppt(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C语言程序设计教程Huanghuai University Department of Computer Science主讲:傅主讲:傅丰丰黄淮学院黄淮学院计算机计算机科学科学系系高等教育出版社谭浩强 张基温等编著第三章 C程序的流程设计1 算法2 C语句概述3 选择结构程序设计3.1 双分支结构(if-else)3.13.2多分支结构(else if、switch)4 循环结构程序设计2学时2学时本节本节4学时1 算法算法程程 序序算算 法法数据结构数据结构=+菜菜 谱谱加工方法加工方法加工原料加工原料=+数据的类型数据的类型和组织形式和组织形式解决问题的解决问题的方法和步骤方法和步骤每件事
2、都需要事先设计出方法步骤。每件事都需要事先设计出方法步骤。如:春节回家(收拾行李、买车票、按时乘车、到站下车、乘公交车回家)程程 序序算算 法法数据结构数据结构=+菜菜 谱谱加工方法加工方法加工原料加工原料=+数据的类型数据的类型和组织形式和组织形式解决问题的解决问题的方法和步骤方法和步骤一、一、算法的性质与组成要素有穷性:有穷性:算法是一个有穷动作序列,不能是无限的。确定性:确定性:每一步的含义应唯一、明确,不能有歧义性。有序性:有序性:算法只能有一个起始动作,每个动作仅有一个后继动作。有有0个或多个输入,有个或多个输入,有1个或多个输出:个或多个输出:没有输出的算法没有意义。操作:操作:算
3、术运算、关系运算、逻辑运算、函数运算、位运算、I/O操作等。控制结构:控制结构:控制算法各操作的执行顺序(不同顺序会得到不同结果)。结构化程序设计方法要求:结构化程序设计方法要求:一个程序只能由一个程序只能由三种基本控制结构组成:三种基本控制结构组成:v顺序结构:顺序结构:算按书写顺序执行。v选择结构:选择结构:根据判断选择执行路径。v循环结构:循环结构:将一条或多条语句重复执行多次。性性质质组组成成要要素素二、算法的描述二、算法的描述不不够够直直观观1、自然语言、自然语言例如:求例如:求n!(1)输入n的值;(2)若n=0,则f=1,结束;否则:f=1,i=1 f*if,即f=f*i i+1
4、i即i=i+1 若i=n则返回,否则结束。(3)f为所求。三三种种基基本本程程序序结结构构ABPABYNPAYNPAYNPAYN顺序顺序结构结构分支结构分支结构(选择结构选择结构)循环循环结构结构当当(while)型型循环结构循环结构直到直到(untile)型型循环结构循环结构P57图图3.1 常用的流程图符号常用的流程图符号起始框输出输出判断框处理框流程线连接点注释框2、传统流程图、传统流程图流程线的无限制使用,会导致程序无序跳转,造成难以理解。因此,规定使流程线的无限制使用,会导致程序无序跳转,造成难以理解。因此,规定使用三种基本程序结构组成算法。其共同特点是:用三种基本程序结构组成算法。
5、其共同特点是:只有一个入口和一个出口只有一个入口和一个出口 结构内每部分都有机会被执行结构内每部分都有机会被执行,不存在死循环。不存在死循环。(1)输入n的值;(2)若n=0,则f=1,结束;否则:f=1,i=1 f*if,即f=f*i i+1i即i=i+1 若i=n则返回,否则结束。(3)f为所求。自自然然语语言言开始开始i=nf=1,i=1结束结束i=i+1输出输出ff=f*iYNn=0YN输入输入nP59图图3.4:求:求n!3、结构化流程图、结构化流程图(N-S图图)P成立成立 不成立不成立 A BAB当当P成立时成立时A直到直到P成立为止成立为止A顺序顺序结构结构分支结构分支结构(选
6、择结构选择结构)当当(while)型型循环结构循环结构直到直到(untile)型型循环结构循环结构输入输入nY n=0 Nf=1f=1i=1f=f*ii=i+1i=n输出输出fi=nf=1,i=1i=i+1输出ff=f*iYNn=0YN输入nP59图图3.6 N-S图的三种基本结构图的三种基本结构P60图图3.7:求:求n!4、问题分析图、问题分析图(PAD图图)顺序结构顺序结构分支结构分支结构循环结构循环结构P60图图3.8 PAD图的三种基本结构图的三种基本结构从上向下表示执行顺序从上向下表示执行顺序从左到右表示层次关系从左到右表示层次关系ABPAB当当PAn=0返回返回1f=1i=1当当
7、i=nf=f*ii=i+1返回返回f值值P60图图3.9:求:求n!5、伪代码表示、伪代码表示用介于自然语言和计算机语言之间的文字和符号描述算法。begin if n=0 f=1 else f=1 i=1 f=f*i i=i+1 while(i=n)print fend例:求例:求n!的伪代码表示的伪代码表示main()int n,f,i;scanf(“%d”,&n);if(n=0)f=1;else f=1;i=1;do f=f*i;i=i+1;while(i0)t=a;(a=b是赋值表达式)是赋值表达式)不能写为:不能写为:if(a=b;)0)t=a;(a=b;是赋值语句)是赋值语句)一、表
8、达式语句一、表达式语句表达式语表达式语句句简单简单表达式语句表达式语句赋值语句赋值语句:赋值表达式;赋值表达式;函数调用语句函数调用语句:函数名函数名(实参实参);空语句空语句:;复合复合表达式语句表达式语句逗号表达式;逗号表达式;表达式;表达式;表达式加上分号可以构成一条语句是表达式加上分号可以构成一条语句是C语言的特色。语言的特色。二、流程控制语句二、流程控制语句流程控流程控制语句制语句流程流程控制控制语句语句选择结构选择结构(条件语句条件语句)双分支结构双分支结构多分支结构多分支结构if()else语句语句else if语句语句switch语句语句循环结构循环结构while()语句语句d
9、owhile()语句语句for()语句语句流程流程转向转向语句语句条件转条件转向语句向语句无条件无条件转向语句转向语句goto语句语句中止循环或中止循环或switch语句语句:break跳过其后语句返回循环开始跳过其后语句返回循环开始:continue函数返回语句函数返回语句:return()while()break;break;while()continue;continue;goto er;er goto 标号;标号;三、复合语句三、复合语句1、复合语句是用、复合语句是用 括起来的一组括起来的一组 语句,相当于一个语句。语句,相当于一个语句。2、复合语句中可包含复合语句。、复合语句中可包含
10、复合语句。3、复合语句又称为分程序。、复合语句又称为分程序。在复合语句中可以定义变量,在复合语句中可以定义变量,这些变量只在分程序中有效。这些变量只在分程序中有效。四、停止函数四、停止函数exit1、功能:立即停止当前程序运行,退回到操作系统状态。、功能:立即停止当前程序运行,退回到操作系统状态。2、参数:为、参数:为int型。参数为型。参数为0:属正常停止;:属正常停止;为其它值:参数即为造成停止的错误类型。为其它值:参数即为造成停止的错误类型。3、使用、使用exit()函数,应在程序前使用:函数,应在程序前使用:#include “stdio.h”main()int a;int b;b=3
11、;printf(“%dn”,a+b);3 选择结构程序选择结构程序一、一、if 语句的三种结构语句的三种结构选择结构选择结构(条件语句条件语句)双分支结构双分支结构多分支结构多分支结构if()else语句语句else if语句语句switch语句语句if(条件)(条件)语句语句1;(1)不平衡结构不平衡结构if(条件)(条件)语句语句1;else 语句语句2;(2)平衡结构平衡结构if(条件条件1)语句语句1;else if(条件条件2)语句语句2;else if(条件条件3)语句语句3 else 语句语句n;(3)else if 结构结构1、条件可以是关系表达式、条件可以是关系表达式、逻辑表
12、达式、算术表达式逻辑表达式、算术表达式 (非(非0即真)即真)2、else前面的语句带分号,前面的语句带分号,但整个但整个if语句并未结束。语句并未结束。勿认为勿认为else是一条语句,是一条语句,else子句不能单独使用,子句不能单独使用,它必须与它必须与if配对使用。配对使用。3、if和和else后的语句如果是后的语句如果是 多条语句时,应用多条语句时,应用 括括 起来构成一个复合语句。起来构成一个复合语句。说说 明明 x0是是 否否|x|=-x|x|=xP69例例3:求一个数的绝对值。:求一个数的绝对值。main()double a,abstr(double x);printf(“Ent
13、er real number a:”);scanf(“%lf”,&a);printf(“abs(%lf)=%lfn”,a,absr(a);double abstr(double x)if(x0.0)x=-x;else x=x;return(x);double abstr(double x)if(x0)x=a+b;printf(“x=%dn”,x);if(b0)x=a+b;else x=a-b;printf(“x=%dn”,x);P70例例4:求三数中的最大数。:求三数中的最大数。main()float a,b,c,m;float f(float x,float y,float z);print
14、f(“Enter 3 real number a,b,c:”);scanf(“%f%f%f”,&a,&b,&c);m=f(a,b,c);printf(“The max is%fn”,m);float f(float x,float y,float z)float max=x;if(zy)if(zx)max=z;else if(yz)max=y;return(max);zx是是 否否max=z max=x zy 是是 否否 yz是是 否否max=y return(max)在在if语句中又包含一个或多个语句中又包含一个或多个if语句,称为语句,称为if语句的语句的嵌套嵌套。else总是与它前面距它
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计教程 语言程序设计 教程
限制150内