C语言第4章 程序的控制结构.ppt
第4章 内容提要 算法的描述方法 基本控制结构 基本控制语句 常用算法,如累加、累乘、统计、递推、迭代、穷举等 结构化程序设计的基本思想 4.1 算法及其描述方法 一、算法的概念 简单算法举例 二、 算法的特性 三、 算法的描述方法 1. 用自然语言表示算法 2. 用流程图表示算法 流程图是表示算法的较好的工具。一个流程图包括以下几部分 : (1)表示相应操作的框; (2)带箭头的流程线; (3)框内外必要的文字说明。 3. 结构化的流程图 小结: 由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。 4.用N--S流程图表示算法 N--S图表示算法的优点 比文字描述直观、形象、 易于理解;比传统流程图紧凑易画。 尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,N--S流程图中的上下顺序就是执行时的顺序。 5.用伪代码表示算法 4.2 结构化程序设计方法 4.2 结构化程序设计方法 4.3 顺序结构 C语言中最简单的程序结构 特点: 按照语句出现的先后次序执行程序 流程图: 顺序结构的基本程序框架: 输入算法所需要的数据; 进行运算和数据处理; 输出运算结果数据。 顺序结构程序设计举例 顺序结构程序设计举例(续) 4.4 选择结构 if 条件分支结构 选择结构的嵌套 开关语句 例:从键盘输入一个字符,对输入的字符进行分类,分为:控制、数字、大写字母、小写字母和其他字符等五类。 分析: ASCII码表中的前32个 (ASCII码为 0~31) 字符为控制字符; ’0’~’9’为数字; ’A’~’Z’为大写字母; ’a’~’z’为小写字母; 其它。不是以上 4 类字符的全部字符。 #include stdio.h void main ( ) { char c; printf (Enter a character:); c = getchar( ); if (c0x20) printf(\nIs a control char.\n); else if ( c=0 c=9 ) printf(\nIs a digital character.\n); else if ( c=A c=Z ) printf (\nIs a capital character.\n); else if ( c=a c=z ) printf (\nIs a lower character.\n); else printf (\nIs another character.\n); } 二、选择结构的嵌套 输入变量x, 计算y: x+1 x1 y = x+2 1=x2 x+3 2=x3 x+4 x=3 二、选择结构的嵌套 三、 switch-case开关语句(多分支选择语句) 三、 switch-case开关语句 switch语句格式 switch (表达式) { case 常量1: 语句序列1 break; case 常量2: 语句序列2 break; …… default: 语句序列n+1 } 二、 switch-case开关语句(续) 三、 switch-case开关语句 程序举例 程序举例 §5.5 程序举例(续) 4.case 和 default 子句只能在switch语句中使用,且 case和 default 只起标号作用,可出现在switch中的任何位置。 switch语句的变形 1.default子句可以省略。 2.case 和 default 子句后面的语句可以为空语句。 3.switch语句中可省略break语句,但省略后会改变流程。 程序举例 程序举例 程序举例(续) 第三次上机实践 选择结构程序设计 1. 编程判断输入整数的正负性和奇偶性。 2. 有3个整数a、b、c,由键盘输入,输出其中最大的数。 3. 分别使用if语句和switch语句,以10分为一段,分别输出实际成绩和所在分数段。 提示:100~90为优,89~80为良,79~70为中,69~60为及格,60为不及格 循环语句 问题 打印整数1~10 打印整数1~100 打印整数1~n 循环概念 循环 反复执行同一段程序,直到满足一定的条
原创力文档

文档评论(0)