c语言电子教案.doc
《c语言电子教案.doc》由会员分享,可在线阅读,更多相关《c语言电子教案.doc(77页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第三章第三章第三章第三章 CCCC程序流程设计程序流程设计程序流程设计程序流程设计 教学目的教学目的教学目的教学目的:C流程设计是编写程序的主要内容,通过这一章的学习,使学生掌握结构化程序设计的三种结构(顺序、选择、循环),能把实际问题通过数字化,设计算法,用C语言程序中的语句描述出来,从而解决具体问题。 重点难点重点难点重点难点重点难点:选择语句和嵌套的选择语句的执行过程分析;循环语句和嵌套循环语句的执行过程分析。C程序设计中的常用算法应用。 3.13.13.13.1算法算法算法算法 计算机尽管可完成许多极其复杂的工作但实质上这些工作都是按照人事先编好的程序的规定进行的,所以常把程序称为计算
2、机的灵魂。经过对程序设计方法的探讨得出如下公式: 算法算法算法算法+数据结构数据结构数据结构数据结构=程序程序程序程序 程序就是在数据的某些特定表示方式和结构的基础上对抽象算法的具体表述。数据结构是程序处理的对象,而处理的方法就是算法。 3.1.1 3.1.1 3.1.1 3.1.1 算法的性质与组成要素算法的性质与组成要素算法的性质与组成要素算法的性质与组成要素 算法的性质 算法就是进行操作的方法和操作步骤。计算机程序是用某种程序设计语言描述的解题算法。通常有以下性质: 解题算法是一有穷动作序列。 此动作序列只有一个初始动作。 序列中的每一个动作只有一个后继动作。 序列终止表示问题得到解答或
3、没有解答 。 算法的组成要素 算法含有两大组成要素: 一是操作:高级语言中所描述的操作主要包括:算术运算、逻辑运算、关系运算、函数运算、I/O操作等。 二是控制结构:算法由一系列操作组成。同一序列按不同的顺序执行,就会得出不同的结果。控制结构即如何控制组成算法的各操作的执行顺序。三种结构是: 顺序结构 执行顺序与程序的书写顺序相同。 选择结构 在执行到某一语句时,要进行判断,从中选择执行路径。 循环结构 一条或多条语句重复执行若干遍。 3.1.23.1.23.1.23.1.2算法的描述算法的描述算法的描述算法的描述 流程图与算法的结构化 三种结构的流程图: 1 顺序 分支 循环语句1 语句2
4、语句3 条件成立 语句1 语句2 条件 0 用辗转相除法求两个数的最大公约数的流程图描述: 用流程图表示算法灵活、自由、形象直观,可以表示任何算法。但流程图中的转移会使程序难以阅读和维护。称为BS程序(一碗面条) 用N-S图描述算法 N-S图的每一种基本都是一个矩形,整个算法可像堆集木一样堆成。 用PAD图描述算法 PAD图即问题分析图。 伪代码与逐步细化程序设计方法 流程图、N-S图、PAD图是在种描述算法的三种图形工具。还可用伪代码来描述,伪代码是用介于自然语言和计算机语言之间的的文字符号算法描述工具,无固定格式和语法规则,通常是借用某种高级的控制结构,中间操作用自然语言,也可程序设计语言
5、。数据结构中常用这种形式的语言描述。 按自顶向下的方法,从全局出发,抽象和概括算法,主要描述“做什么”,把问题分为几个子问题。逐步细化,对“如何做”作出考虑,算法中程序设计语言的成份越来越来多。 3.23.23.23.2C语句描述算法语句描述算法语句描述算法语句描述算法 程序就是对计算机要执行的一组操作序列的描述。组成源程序的基本单位是语句:一类是操作;一类是控制。 3.2.1表达式语句表达式语句表达式语句表达式语句 C语言是一种表达式语言,所有操作运算都通过表达式来实现。 表达式语句可分为以下三种基本类型: 赋值语句 x=1; y=sin(x); 函数调用语句 printf(This is
6、a C program.n); 空语句,只有一个;没有表达式的语句 Input a,b R=a%b R0 A=b;b=r; R=a%b; Out b END 如: for(x=1;xb) t=a;a=b;b=t; if (ac) t=a;a=c;c=t; if (bc) t=b;b=c;c=t; printf(%d,%d,%dn,a,b,c); 此程序的流程序如下: 基本思想:先把a,b两个数从小到大排列,再用a和c进行比较,然后b和c进行比较,排出从小到大次序。 分析当a=3,b=1,c=-1它们值的变化情况。 3.3含有else子句的if语句 语句形式如下: if (表达式) 语句1 el
7、se 语句2 if与else必须成对出现。 表达式是C语言中合法的表达式。 语句1和语句2是C语言中可执行语句, 如果是多于一条语句,应用括起来,语句1后不能少“;”号。 执行过程:如果表达式为非0(真)执行语句1,然后执行if语句的下一语句;如果表达式为0(假),执行语句2,然后执行if语句下一语句。 程序举例: 当x输入6和4时程序 main() int x; scanf(%d,&x); if(x+5) printf(%d,x); else printf(%dn,x-); 执行的结果? 练习题: 1输入两个不相等的整数分别给x,y,输出其中最大的。 关系表达式:xy 2. 输入一个数判别它
8、能否被3整除,若能输出“YES”,如不能输出“NO”。 关系表达式:x%3= =0 3. 输入一个数判别它是否为偶数,若是输出“YES”,如不是输出“NO”。 关系表达式:x%2= =0 4. 输入一个数判别它是否为负数,若是输出“YES”,如不是输出“NO”。 关系表达式:x0 5.输入一个数判别它能否被3和7整除,若能输出“YES”,如不能输出“NO”。 关系表达式:x%3= =0&x%7= =0 条件成立 语句1 语句2 在if语句中嵌套有的else的if语句(一): 在不带else和带else语句的语句和语句1和语句2中出现if语句就是嵌套的if语句,通常是在条件判断较多时采用。分析该
9、形式语句的执行是比较困难的,需要多看程序或多编程序才行。 嵌套形式有如下: if ( 表达式1) if ( 表达式2) 语句1 else 语句2 else 语句3 程序举例: main() int x,y; scanf(%d,&x); if (x!=0) if (x0) y=1; else y=0; printf(y=%dn,y); 在else语句中嵌套if语句(三): 该种形式的嵌套,是else在之后的语句中有if语句。 嵌套形式有如下: if ( 表达式1) 语句1 else ?=0) y=1; else y=-1; printf(y=%dn,y); (学生分数等级确定) main() i
10、nt g; scanf(%d,&g); if (g=90) printf(An); else if (g=80) printf(Bn); else if (g=70) printf(Cn); else if (g=60) printf(Dn); else printf(En); 条件表达式构成的选择结构 用C语言的if语句在程序中可构成选择结构;C语言中还提供了一种特殊的运算条件运算符,由此构成的表达式也可形成简单的选择结构,这种选择结构可以表达式的形式内嵌在允许出现表达式的地方,使得可根据不同的条件使用不同的表达式。(类似于Excel中的IF()函数) 条件运算符: ? : ,唯一的一个三目
11、运算符,要求三个对象。 由条件运算符构成的条件表达式: 表达式1? 表达式2 : 表达式3 条件表达式的运算功能: 表达式1的值为非0时,求出表达式2的值,此时表达式2的值就是整个条件表达式的值;若表达式1的值为0时,求出表达式3的值,此时表达式3的值就是整个条件表达式的值。 例如:x=5,y=10,则max=xy?x:y的值max等于多少? 条件运算的优先级 优于赋值运算,但低于逻辑、关系、算术运算。 y=x10?100:200; printf(“abs(x)=%d”n,x0?(-1)*x:x)(输出x的绝对值) 程序举例:用条件表达式求三个数中的最大和最小数并输出。 main() int
12、a,b,c,max,min; scanf(%d%d%d,&a,&b,&c); max=ab?a:b; min=ac?max:c; min=minc?min:c; printf(max=%d,min=%dn,max,min); 3.33.33.33.32222switchswitchswitchswitch语句及用语句及用语句及用语句及用switchswitchswitchswitch和和和和breakbreakbreakbreak构成的选择结构构成的选择结构构成的选择结构构成的选择结构 switch语句的格式: switch (表达式) case 常量表达式1:语句1; case 常量表达式2
13、:语句2; case 常量表达式n:语句n; default :语句n+1; 说明:switch,case,default都是关键字。 语句1到语句n+1可以是一条也可是多条,也可以不写。 常量表达式和case间要有空格。 switch语句的执行过程: 首先计算表达式的值,然后在case的常量表达式中找出与其相等的标号,如有相等的执行该标号以后的所有语句;如果没有,若有default则执行default标号后的语句,否则跳过switch语句,什么也不做。 程序举例: main() int g; scanf(%d,&g); switch(g/10) case 10: case 9: printf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 电子 教案
限制150内