资源描述:
《第4章选择结构、循环结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章选择结构、循环结构程序设计4.1概述4.1.1C语句概述通常一个C程序由若干个函数组成,每一个函数又包括声明部分和执行部分,执行部分又由干条语句组成,每条语句总是以“;”结束。语句是用来对数据进行加工(完成操作任务),是构成程序的基本单位,注意:C语句都是用来完成一定操作的,出现在函数体的执行部分,作用是向计算机系统发出操作指令。声明部分的内容不应称为语句。如inta;不是一个C语句。C语句控制语句函数调用语句由一次函数调用加一个分号构成一个语句。表达式语句空语句复合语句if()~else~switch()for()~while()~do~while()continuebrea
2、kgotoreturnif(x>y)z=x;elsez=y;printf("Hello!");由表达式加一个分号构成一个语句。a=3;;由{}将一些语句括起来。{t=a;a=b;b=t;}C语句分类4.1.2结构化程序设计方法自顶向下,逐步细化模块化设计,结构化编码4.2选择结构程序设计1.if语句的三种基本形式(1)if(表达式e)语句例:if(x>y)printf(“%d”,x);表达式e语句真(非0)假(0)(单分支)4.2.1if语句注意:在C语言中,表达式e的值为非0时,系统均按“真值”处理如:if(‘a’)printf(“O.K.”);x=-5;if(x)printf(“
3、O.K.”);y=0;if(y==0)printf(“O.K.”);if(y)printf(“O.K.”);#includevoidmain(){floata,b,t;scanf(“%f,%f”,&a,&b);if(a>b){t=a;a=b;b=t;}printf(“%5.2f,%5.2f”,a,b);}3,43.00,4.00……if(a>b){t=a;a=b;b=t;}…………if(a>b)t=a;a=b;b=t;……当某些语句作为一个整体出现的时候,必须是复合语句的形式。3,44.00,0.00例4.1输入两个实数,按代数值由小到大的顺序输出这两个数。
4、例4.2输入三个数a,b,c,要求按由小到大的顺序输出。if(a>b)将a和b对换if(a>c)将a和c对换if(b>c)将b和c对换#includevoidmain(){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);}(2)if(表达式)语句1else语句2例:if(x>y)printf(“%d”,x);elsepri
5、ntf(“%d”,y);条件语句1语句2YN双分支例4.3输入任意三个整数,求三个数中的最大值。#includevoidmain(){inta,b,c,max;scanf(“%d,%d,%d”,&a,&b,&c);if(a>b)max=a;elsemax=b;if(maxvoidmain(){inta,b,c,max;scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max6、d”,max);}#include#includevoidmain(){floata,b,c,p,s;scanf(“%f,%f,%f”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf(“s=%7.2f”,s);}elseprintf(“Notatriangle!”);}例4.4输入三角形的三边,求三角形的面积。3,4,5s=6.003,4,8Notatriangle!(3)if(表达式1)语句1elseif(表达式2)语句
7、2elseif(表达式3)语句3……elseif(表达式m)语句melse语句n多分支例:if(number>500)cost=0.15;elseif(number>300)cost=0.10;elseif(number>100)cost=0.075;elseif(number>50)cost=0.05;elsecost=0;说明:(1)3种形式的if语句中在if后面都有表达式,一般为逻辑表达式或关系表达式。(2)第二,第三种形式的if语句中,在每个els