C语言程序设计李泽中课件第4章

上传人:油条 文档编号:2657798 上传时间:2017-07-26 格式:PPT 页数:37 大小:1.21MB
返回 下载 相关 举报
C语言程序设计李泽中课件第4章_第1页
第1页 / 共37页
C语言程序设计李泽中课件第4章_第2页
第2页 / 共37页
C语言程序设计李泽中课件第4章_第3页
第3页 / 共37页
C语言程序设计李泽中课件第4章_第4页
第4页 / 共37页
C语言程序设计李泽中课件第4章_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《C语言程序设计李泽中课件第4章》由会员分享,可在线阅读,更多相关《C语言程序设计李泽中课件第4章(37页珍藏版)》请在金锄头文库上搜索。

1、河南商业高等专科学校,选择结构又称为分支结构。在选择结构程序设计中,根据条件的判断情况需要选择不同的语句组执行。选择结构类型:(1)条件选择结构:根据给定的条件表达式进行判断,决定执行某个分支中的程序段。由if语句来实现。(2)开关选择结构:根据给定的整型表达式的值进行判断,然后决定执行多个分支中的某一个分支。由switch语句来实现。,河南商业高等专科学校,4.1 程序的流程图,4.3 多分支选择语句,4.4 程序综合举例,4.2 IF语句,河南商业高等专科学校,4.1 程序的流程图,传统流程图符号:,河南商业高等专科学校,4.1 程序的流程图,N-S流程图符号:,河南商业高等专科学校,4.

2、1 程序的流程图,【例4.1】求10!的程序。解题思路:由于n!=n*(n-1)!即10!=10*9!9!=9*8!2!=2*1!1!=1,河南商业高等专科学校,4.2 if 语句,4.2.1 if语句的三种格式,1单分支选择结构一般形式为:,if(表达式) 语句;,执行过程:先求解表达式的值,如果表达式的值为真(非0),就执行语句;否则直接执行if语句后面的语句。执行过程如图4.4所示。,河南商业高等专科学校,4.2 if 语句,【例4.2】求所输入数值的绝对值。,输入数据,解题思路: 首先判断输入数值是否为负数,若为负数,则将取其相反数;否则,正数和零的绝对值是其本身,不予处理。,判断输入

3、数据,0,取相反数,0,输出结果,河南商业高等专科学校,4.2 if 语句,【例4.2】求所输入数值的绝对值。,程序为:#include “stdio.h”main() float score; printf(“Please input a score:n”); scanf(“%f”,&score); /*输入数值*/ if (scorey) temp=x; x=y; y=temp; /*xy时交换*/ if (xz) temp=x; x=z; z=temp; /*xz时交换,x为最小数*/ if (yz) temp=y; y=z; z=temp; /*yz时交换*/ printf(“The

4、sequence is:%3.1f,%3.1f,%3.1fn”,x,y,z);,运行结果如下:Please input three number:60.1,60,59.9The sequence is: 59.9,60.0,60.1,河南商业高等专科学校,4.2 if 语句,2双分支选择结构一般形式为:if(表达式) 语句1; else 语句2;,执行过程是:先求解表达式的值,如果表达式的值为真(非0)执行语句1;否则若表达式的值为假(值为0),就执行语句2。执行过程如图4.5所示。,河南商业高等专科学校,4.2 if 语句,【例4.4】 判断所输入的学生成绩是否及格。解题思路:只需要将输入的

5、学生成绩和60作一次比较就可以得出结论:该成绩大于等于60为及格,否则该成绩不及格。,河南商业高等专科学校,4.2 if 语句,河南商业高等专科学校,4.2 if 语句,3多重选择结构多重选择结构用于有多种情况需要选择的程序。一般形式为: if(表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; else if (表达式n) 语句n; else 语句 n+1;,河南商业高等专科学校,4.2 if 语句,3多重选择结构,河南商业高等专科学校,4.2 if 语句,【例4.5】 判断所输入的学生成绩的等级,其具体要求如下表:,解题思路:对于输入的学生

6、成绩,可按照上表分为五个等级判断即可。,河南商业高等专科学校,4.2 if 语句,河南商业高等专科学校,4.2 if 语句,4.2.2 if语句的嵌套,if语句中的子语句1或子语句2还可以是if语句,这称为if语句的嵌套。注意:else总是与前面最近的if配对。一般形式如下:if(表达式1) if(表达式11) 语句11; else 语句12;else if(表达式2) 语句21; else 语句22;,河南商业高等专科学校,4.2 if 语句,注意区别以下两种if语句结构:(1) if(表达式1) (2) if(表达式1) if(表达式11) if(表达式11) 语句11; 语句11; el

7、se 语句12; else 语句12;,关键是弄清楚else与if的配对情况 问:第(1)种情况else与哪个if配对? 第(2)种情况else与哪个if配对?,答:第(1)种情况else与第2个if配对 第(2)种情况else与第1个if配对,河南商业高等专科学校,4.2 if 语句,【例4.6】按表输入三个整数a、b、c,分析运行结果。,#include “stdio.h”void main() int a,b,c; int result11=0,result12=0, result21=0,result22=0; scanf(“%d,%d,%d”,&a,&b,&c); if(ab) /*

8、第(1)种if语句的嵌套*/ if(bc) result11=a*b*c; else result12=a+b+c; printf(“The result11 is: %dn”,result11); printf(“The result12 is: %dn”,result12); if(ab) /*第(2)种if语句的嵌套*/ if(bc)result21=a*b*c; else result22=a+b+c; printf(“The result21 is: %dn”,result21); printf(“The result22 is: %dn”,result22); ,河南商业高等专科学

9、校,4.2 if 语句,分析一下输入、输出数据的特点。,2,6,8 a=2;b=6;c=8 0 0 0 16,2,8,6 a=2;b=8;c=6 0 0 0 16,8,2,6 a=8;b=2;c=6 0 16 0 0,6,2,8 a=6;b=2;c=8 0 16 0 0,6,8,2 a=6;b=8;c=2 0 0 0 16,8,6,2 a=8;b=6;c=2 96 0 96 0,本程序的执行结果数据如下所示:,河南商业高等专科学校,4.3 多分支选择语句(switch语句),switch语句的一般形式:switch(表达式) case 常量表达式1: 语句组1;break; case 常量表达

10、式2: 语句组2;break; case 常量表达式n: 语句组n; break; default: 语句组n+1; ,河南商业高等专科学校,4.3 多分支选择语句(switch语句),执行过程:先求解表达式的值,然后与与后面各常量表达式比较,若与表达式i的值相同,则执行相应语句组i(i为1n)。若与常量表达式的值都不相同时,执行default后的语句组n+1。动画演示如下:,河南商业高等专科学校,4.3 多分支选择语句(switch语句),【例4.7】 根据输入的成绩等级A,B,C,D来对应输出相应的说明:“superexcellence(优秀)”,“excellence(良好)”,“mid

11、dling(中等)”和“pass(及格)”,其它输入都为“failure(不及格)”。,河南商业高等专科学校,4.3 多分支选择语句(switch语句),河南商业高等专科学校,4.3 多分支选择语句(switch语句),相关说明:(1) case后面所有的常量表达式与switch后面表达式的值类型相同。(2) 语句组可以是多个语句组成的,但不需要用大括号括起来。(3) 如果case后面没有break语句,程序会继续执行后面case后语句组。(4) 注意case和常量表达式之间要有空格。(5) Default子句可以省略,case和default子句的出现次序是任意的。,河南商业高等专科学校,4

12、.3 多分支选择语句(switch语句),【例4.8】 对于输入的成绩等级A和B,相应输出为“良好”,C和D 对应着“及格”,其它输入都为“不及格”。程序代码如下:#include “stdio.h”void main() char grade; printf(“Please input the grade of score:n”); scanf(“%c”,&grade); printf(“The information of %c is :”,grade); switch(grade) case A: case B: printf(“excellence n”);break; /*A,B对应“良好”*/ case C: case D: printf(“pass n”);break; /*C,D对应“及格”*/ default: printf(“failure n”); /*其它为“不及格”*/ ,

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

当前位置:首页 > 行业资料 > 其它行业文档

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