欢迎来到天天文库
浏览记录
ID:51643511
大小:634.00 KB
页数:72页
时间:2020-03-27
《C语言程序的基本结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章C程序的基本结构第二章C程序的基本结构2.1分支结构2.2关系运算和逻辑运算2.3循环结构2.4break和continue语句2.5goto语句2.6经典算法举例22.1分支结构为什么需要分支结构顺序结构只能解决一些简单的问题,遇到需要进行条件判断的问题,就必须采用分支结构来处理。例:请输出2个数中的较大的数请编程求解分段函数:-1x<00x=01x>0y=32.1.1单分支结构语法形式if(表达式)语句;执行过程先计算表达式的值,若为真(非0值),则执行其后的语句;若值为0,则继续向下执行其他语句注意:语句可以是一条,
2、也可以是多条P真A表达式语句真(非0)假(0)4例1、输入一个字符,并输出。其中有一个条件是如果该字符是小写的英文字母,则需把它转换成大写字母再输出。#includevoidmain(){charch;ch=getchar();if(ch>=‘a’&&ch<=‘z’)ch-=32;putchar(ch);}如果条件满足后还想再输出该字母的前导字符和后继字符怎么做?EG201.C5#includevoidmain(){inta,b,t;printf(“inputa,b:”);scanf(“%d%
3、d”,&a,&b);if(a>b){t=a;a=b;b=t;}printf(“%d,%d”,a,b);}输入a,bt=aa>b?输出a,b真假a=bb=t例2:输入2个整数,按由小到大的顺序输出EG202.C6例3、输入三个整数,把最大的输出。#includevoidmain(){inta,b,c,max;printf(“inputa,b,c:”);scanf(“%d%d%d”,&a,&b,&c);max=a;if(max4、ax);}EG203.C7输入a,b,c输出a,b,ca>b?ab真假a>c?ac真假b>c?bc真假作业:输入3个整数,按由小到大的顺序输出82.1.2双分支结构语法形式if(表达式)语句1;else语句2;执行过程先计算表达式的值,若为真(非0值),执行if后的语句1;若为假(值为0),执行else后的语句2P真语句1语句2假表达式语句2真(非0)假(0)语句19#includevoidmain(){intx,y;printf(“inputx,y:”);scanf(“%d%d”,&x,&y);i5、f(x>=y)printf(“max=%d”,x);elseprintf(“max=%d”,y);}输入x,yx>=y?真假输出x输出y例4、输入2个整数,请输出其中的较大的数EG204.C10#includevoidmain(){intx,y;printf(“inputx:”);scanf(“%d”,&x);if(x<=0)y=0;elsey=x*x+1;printf(“y=%d”,y);}0X<=0X2+1X>0Y=例5、编程求解函数:EG205.C112.1.3多分支结构语法形式if(表达式16、)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;……elseif(表达式n)语句n;else语句n+1;执行过程按顺序求各表达式的值。如果某一表达式的值为真(非0),那么执行其后相应的语句,执行完后整个if语句结束,其余语句则不被执行;如果没有一个表达式的值为真,那么执行最后的else语句。最后的else部分可有可无。12例6、编程求解函数:-e2x+1+3x<-22x-1-2≤x≤3Y=3log10(3x)x>3#include#includevoidmain(){d7、oublex,y;printf("Inputx:");scanf("%lf",&x);if(x<-2)y=-exp(2*x+1)+3;elseif(x>=-2&&x<=3)y=2*x-1;elsey=3*log10(3*x);printf("y=%.2lf",y);}写成elseif(x>3)可以吗?EG206.C132.1.4if语句的嵌套概念:指if语句的if块或else块中,又包含一个if语句(可以是各种形式的)作用:对复杂条件进行判断,实现多分支选择形式:多种多样1.if(表达式1)if(表达式2)语句2.if(表达8、式1)语句1elseif(表达式2)语句23.if(表达式1)语句1elseif(表达式2)语句2else语句34.if(表达式1)if(表达式2)语句1else语句2二义性?14规定:else总是与它前面最近的且未曾配对的if配对。(1)if①(表达式1)if
4、ax);}EG203.C7输入a,b,c输出a,b,ca>b?ab真假a>c?ac真假b>c?bc真假作业:输入3个整数,按由小到大的顺序输出82.1.2双分支结构语法形式if(表达式)语句1;else语句2;执行过程先计算表达式的值,若为真(非0值),执行if后的语句1;若为假(值为0),执行else后的语句2P真语句1语句2假表达式语句2真(非0)假(0)语句19#includevoidmain(){intx,y;printf(“inputx,y:”);scanf(“%d%d”,&x,&y);i
5、f(x>=y)printf(“max=%d”,x);elseprintf(“max=%d”,y);}输入x,yx>=y?真假输出x输出y例4、输入2个整数,请输出其中的较大的数EG204.C10#includevoidmain(){intx,y;printf(“inputx:”);scanf(“%d”,&x);if(x<=0)y=0;elsey=x*x+1;printf(“y=%d”,y);}0X<=0X2+1X>0Y=例5、编程求解函数:EG205.C112.1.3多分支结构语法形式if(表达式1
6、)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;……elseif(表达式n)语句n;else语句n+1;执行过程按顺序求各表达式的值。如果某一表达式的值为真(非0),那么执行其后相应的语句,执行完后整个if语句结束,其余语句则不被执行;如果没有一个表达式的值为真,那么执行最后的else语句。最后的else部分可有可无。12例6、编程求解函数:-e2x+1+3x<-22x-1-2≤x≤3Y=3log10(3x)x>3#include#includevoidmain(){d
7、oublex,y;printf("Inputx:");scanf("%lf",&x);if(x<-2)y=-exp(2*x+1)+3;elseif(x>=-2&&x<=3)y=2*x-1;elsey=3*log10(3*x);printf("y=%.2lf",y);}写成elseif(x>3)可以吗?EG206.C132.1.4if语句的嵌套概念:指if语句的if块或else块中,又包含一个if语句(可以是各种形式的)作用:对复杂条件进行判断,实现多分支选择形式:多种多样1.if(表达式1)if(表达式2)语句2.if(表达
8、式1)语句1elseif(表达式2)语句23.if(表达式1)语句1elseif(表达式2)语句2else语句34.if(表达式1)if(表达式2)语句1else语句2二义性?14规定:else总是与它前面最近的且未曾配对的if配对。(1)if①(表达式1)if
此文档下载收益归作者所有