资源描述:
《C语言第3讲-C语言编程三结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计---程序设计初步C语句可以分为5类:1、控制语句----9种2、函数调用语句3、表达式语句4、空语句---什么也不做5、复合语句----用{}括起来if()~else~条件语句for()~循环语句do~while()~循环语句while()~循环语句continue结束本次循环break中止执行switch或循环语句switch多分支选择语句goto转向语句return从函数返回语句九种控制语句表示算法的三种基本结构1966年,Bohra和Jacopini提出了程序中需要的三种控制结构顺序结构选择结构循
2、环结构PABPAABPAPA※顺序结构程序举例/*ch3_12.c*/#include#includemain(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f",a,b,c,s);printf("area=%7.2f",area);}例1、输入三角形边长,求面积
3、输入:3,4,6输出:a=3.00,b=4.00,c=6.00s=6.50area=5.33文件包含预处理命令变量定义输入数据输出数据例2、从键盘输入大写字母,用小写字母输出/*ch3_13.c*/#include"stdio.h"main(){charc1,c2;c1=getchar();printf("%c,%d",c1,c1);c2=c1+32;printf("%c,%d",c2,c2);}输入:A输出:A,65a,97/*ch3_14.c*/#include#include4、h.h>main(){floata,b,c,disc,x1,x2,p,q;scanf("a=%f,b=%f,c=%f",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%5.2fx2=%5.2f",x1,x2);}输入:a=1,b=3,c=2输出:x1=-1.00x2=-2.00if语句有三种形式:1)if(表达式)语句if语句例:if(x>y)printf(“%d”,x);※选择结构2)i
5、f(表达式)语句1else语句2表达式语句1语句201例:if(x>y)printf(“%d”,x);elseprintf(“%d”,y);※选择结构if语句3)if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3…else语句n※选择结构if语句说明:1.if后的表达式必须用()括住,表达式一般为逻辑表达式或关系表达式。2.在每个else前面有一分号,整个语句结束处有一分号。3.在if和else后面只含一个内嵌的语句,如果有多个语句,应用花括号{}将几个语句合成为一个复合语句。在{}外面
6、不需要再加分号。※选择结构由小到大输出两个数main(){floata,b,t;scanf(“%f,%f”,&a,&b);if(a>b){t=a;a=b;b=t;}(1)printf(“%5.2f,%5.2f”,a,b);}问题:(1)语句中,取消复合语句会出现什么结果?※选择结构例1、由小到大输出三个数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;
7、}printf(“%5.2f,%5.2f,%5.2f”,a,b,c);}※选择结构程序举例main(){floatx;inty;scanf(“%f”,&x);if(x>0)y=1;elseif(x==0)y=0;elsey=-1;printf(“y=%d”,y);}它可改写为:main(){floatx;inty;scanf(“%f”,&x);y=-1;if(x>0)y=1;elseif(x==0)y=0;printf(“y=%d”,y);}一般形式:if()if()语句1else语句2elseif()语句3e
8、lse语句4从最内层开始,else总是与它上面最近的未曾配对的if配对。如:上例改为:if语句的嵌套内嵌if内嵌ifmain(){floatx;inty;scanf(“%f”,&x);if(x>=0);if(x>0)y=1;elsey=0;/*这儿else应与上行的if配对*/elsey=-1;printf(“y=%d”,y)