欢迎来到天天文库
浏览记录
ID:62067813
大小:1.01 MB
页数:55页
时间:2021-04-14
《最新c语言第四章分支语句(精)教学讲义ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、c语言第四章分支语句(精)§4.1if结构顺序结构的程序只能以顺序的方式处理数据,但实际问题要求计算机能够对问题进行判断,根据判断的结果,选择不同的处理方式,这就要求程序本身具有判断和选择能力,分支结构正是为解决这类问题而设定的。C语言用于实现分支有if结构和switch结构。§4.1.1if语句if结构是一种常用的分支结构,是最简单的一种单分支结构。9/14/20212一般形式为:if(<表达式>)<语句A><表达式>:一般为条件表达式或逻辑表达式。功能:先判断<表达式>的逻辑值,若该逻辑值为“真”,则执行<语句A>,否则,什么也不执行
2、。注意:if语句中的<语句A>一般情况下都是以复合语句的形式出现,即用一对花括号将语句括起来。if结构的流程图:9/14/20213根据流程图写出的程序如下:/*exam4_2.c求整数的绝对值*/#includemain(){intnum;scanf("%d",&num);if(num<0)num=-num;printf("Theabsolutevalueis:%d",num);}9/14/20217§4.1.2if_else语句if_else语句是一种双分支结构,其一般形式为:if(<表达式>)<语句A>else
3、<语句B><表达式>:一般为条件表达式或逻辑表达式。功能是:先判断<表达式>的值,若其值为“真”,则执行<语句A>,否则执行<语句B>。if_else结构的流程图:9/14/20218【例4-3】设计一个猜数游戏,由计算机产生一个随机数magic,从键盘输入一个数guess,若输入的数guess的大小等于随机数magic,则输出“Youareright!”。否则,输出“Youarewrong!”。9/14/20219根据流程图可写出程序如下:/*exam4_3.c猜数游戏的程序*/#include#include4、lib.h>main(){intguess,magic;magic=rand();scanf("%d",&guess);if(guess==magic)printf("YouAreRight");elseprintf("YouAreWrong");}9/14/202110§4.1.3if语句的嵌套if语句的嵌套:是指在if或else的分支下又可以包含另一个if语句或if_else语句,嵌套的形式有规则嵌套和任意嵌套两种。if语句的规则嵌套形式如下:if(<表达式1>)<语句1>elseif(<表达式2>)<语句2>elseif(<表达式35、>)<语句3>…elseif(<表达式n>)<语句n>else<语句n+1>9/14/202111if_else的规则嵌套流程图9/14/202112【例4-4】从键盘输入+、-、*、/中的任一个,输出对应的英文单词:plus、minus、mutiply、divide,若输入的不是这四个字符中的任一个,则输出“error”。算法的流程图如图所示,虚线框所示为if_else的规则嵌套:9/14/202113#includemain(){charch;ch=getchar();if(ch=='+')printf("plus6、n");elseif(ch=='-')printf("minus");elseif(ch=='*')printf("multiply");elseif(ch=='/')printf("divide");elseprintf("error");}9/14/202114注意:if与else的匹配关系,else总是与离它最近的上一个if配对。将每一对if_else结构采用缩进对齐方式,可以增加程序的可读性,良好的程序书写风格有助于对程序的理解。【例4-5】计算阶跃函数y的值:9/14/202115算法的流程图如图,两个虚线框均为7、if_else结构。9/14/202116根据流程图写出的程序如下:/*exam4_5.c计算阶跃函数y的值*/#includemain(){floatx,y;printf("inputx:");scanf("%f",&x);if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;printf("y=%-4.0f",y);}对多重if,最容易犯的错误是if与else配对错误,else总是与离它最近的上一个if配对。9/14/202117§4.2Switch结构当嵌套if分支较多时,程序变得复杂冗长8、,可读性降低。C语言提供了switch开关语句专门处理多路分支的情形,使程序变得简洁。§4.2.1switch语句switch语句的一般形式为:switch(<表达式>){case<常量表达式
4、lib.h>main(){intguess,magic;magic=rand();scanf("%d",&guess);if(guess==magic)printf("YouAreRight");elseprintf("YouAreWrong");}9/14/202110§4.1.3if语句的嵌套if语句的嵌套:是指在if或else的分支下又可以包含另一个if语句或if_else语句,嵌套的形式有规则嵌套和任意嵌套两种。if语句的规则嵌套形式如下:if(<表达式1>)<语句1>elseif(<表达式2>)<语句2>elseif(<表达式3
5、>)<语句3>…elseif(<表达式n>)<语句n>else<语句n+1>9/14/202111if_else的规则嵌套流程图9/14/202112【例4-4】从键盘输入+、-、*、/中的任一个,输出对应的英文单词:plus、minus、mutiply、divide,若输入的不是这四个字符中的任一个,则输出“error”。算法的流程图如图所示,虚线框所示为if_else的规则嵌套:9/14/202113#includemain(){charch;ch=getchar();if(ch=='+')printf("plus
6、n");elseif(ch=='-')printf("minus");elseif(ch=='*')printf("multiply");elseif(ch=='/')printf("divide");elseprintf("error");}9/14/202114注意:if与else的匹配关系,else总是与离它最近的上一个if配对。将每一对if_else结构采用缩进对齐方式,可以增加程序的可读性,良好的程序书写风格有助于对程序的理解。【例4-5】计算阶跃函数y的值:9/14/202115算法的流程图如图,两个虚线框均为
7、if_else结构。9/14/202116根据流程图写出的程序如下:/*exam4_5.c计算阶跃函数y的值*/#includemain(){floatx,y;printf("inputx:");scanf("%f",&x);if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;printf("y=%-4.0f",y);}对多重if,最容易犯的错误是if与else配对错误,else总是与离它最近的上一个if配对。9/14/202117§4.2Switch结构当嵌套if分支较多时,程序变得复杂冗长
8、,可读性降低。C语言提供了switch开关语句专门处理多路分支的情形,使程序变得简洁。§4.2.1switch语句switch语句的一般形式为:switch(<表达式>){case<常量表达式
此文档下载收益归作者所有