C语言第四章分支语句

C语言第四章分支语句

ID:40841638

大小:696.50 KB

页数:49页

时间:2019-08-08

C语言第四章分支语句_第1页
C语言第四章分支语句_第2页
C语言第四章分支语句_第3页
C语言第四章分支语句_第4页
C语言第四章分支语句_第5页
资源描述:

《C语言第四章分支语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章分支语句§4.1if结构§4.2Switch语句§4.3程序范例7/15/20211§4.1if结构顺序结构的程序只能以顺序的方式处理数据,但实际问题要求计算机能够对问题进行判断,根据判断的结果,选择不同的处理方式,这就要求程序本身具有判断和选择能力,分支结构正是为解决这类问题而设定的。C语言用于实现分支有if结构和switch结构。§4.1.1if语句if结构是一种常用的分支结构,是最简单的一种单分支结构。7/15/20212一般形式为:if(<表达式>)<语句A><表达式>:一般为条件表达式或逻辑表达式。功能:先判断<表达式>的逻辑值,若该逻辑值为“真

2、”,则执行<语句A>,否则,什么也不执行。注意:if语句中的<语句A>一般情况下都是以复合语句的形式出现,即用一对花括号将语句括起来。if结构的流程图:7/15/20213【例4-1】从键盘任意输入两个实数,然后按其代数值从小到大输出这两个数。16ab169169t7/15/20214先制定算法的流程图,如图所示,虚线框为if结构。根据流程图可以很方便地写出解决这个问题的程序7/15/20215/*exam4_1.c按升序输出两个数*/#includemain(){floata,b,t;scanf("%f,%f",&a,&b);if(a>b){

3、t=a;a=b;b=t;}printf("%5.2f,%5.2f",a,b);}7/15/20216例:输入三个实数,按从小到大的顺序输出。main(){floata,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf(“%5.2f,%5.2f,%5.2f”,a,b,c);}7/15/20217【例4-2】:从键盘输入一个整数,求该数的绝对值。该问题算法的流程图:7/15/20218根据流程图写出的程序如下

4、:/*exam4_2.c求整数的绝对值*/#includemain(){intnum;scanf("%d",&num);if(num<0)num=-num;printf("Theabsolutevalueis:%d",num);}7/15/20219§4.1.2if_else语句if_else语句是一种双分支结构,其一般形式为:if(<表达式>)<语句A>else<语句B><表达式>:一般为条件表达式或逻辑表达式。功能是:先判断<表达式>的值,若其值为“真”,则执行<语句A>,否则执行<语句B>。if_else结构的流程图:7/15/202

5、110【例4-3】设计一个猜数游戏,由计算机产生一个随机数magic,从键盘输入一个数guess,若输入的数guess的大小等于随机数magic,则输出“Youareright!”。否则,输出“Youarewrong!”。7/15/202111根据流程图可写出程序如下:/*exam4_3.c猜数游戏的程序*/#include#includemain(){intguess,magic;magic=rand();scanf("%d",&guess);if(guess==magic)printf("YouAreRight");el

6、seprintf("YouAreWrong");}7/15/202112§4.1.3if语句的嵌套if语句的嵌套:是指在if或else的分支下又可以包含另一个if语句或if_else语句,嵌套的形式有规则嵌套和任意嵌套两种。if语句的规则嵌套形式如下:if(<表达式1>)<语句1>elseif(<表达式2>)<语句2>elseif(<表达式3>)<语句3>…elseif(<表达式n>)<语句n>else<语句n+1>从最内层开始,else总是与它前面最近的未曾配对的if配对,除非用花括号改变其配对关系。7/15/202113if_else的规则嵌套流程图7/15

7、/202114【例4-4】从键盘输入+、-、*、/中的任一个,输出对应的英文单词:plus、minus、mutiply、divide,若输入的不是这四个字符中的任一个,则输出“error”。算法的流程图如图所示,虚线框所示为if_else的规则嵌套:7/15/202115#includemain(){charch;ch=getchar();if(ch=='+')printf("plus");elseif(ch=='-')printf("minus");elseif(ch=='*')printf("multiply");elseif(

8、ch=='/')prin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。