C语言分支程序设计.ppt

C语言分支程序设计.ppt

ID:48031607

大小:258.00 KB

页数:16页

时间:2020-01-13

C语言分支程序设计.ppt_第1页
C语言分支程序设计.ppt_第2页
C语言分支程序设计.ppt_第3页
C语言分支程序设计.ppt_第4页
C语言分支程序设计.ppt_第5页
资源描述:

《C语言分支程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章选择结构程序设计5.1关系运算符和关系表达式关系运算符6个:<<=>>===!=赋值运算关系运算算术运算低高逗号运算前4种优先级高于后2种c>a+bc>(a+b)a>b!=c(a>b)!=ca=3;b=2,c=1;f=a>b>c;关系表达式的结果计算:“真”为1,“假”为0;判断:非0为真,0为“假”5.2逻辑运算符和逻辑表达式逻辑运算符3种:&&

2、

3、!&&两个为真,结果才为真

4、

5、一个为真,结果就为真!真变假,假变真优先级:!&&

6、

7、赋值运算关系运算算术运算低高逗号运算&&

8、

9、!优化:经a&&b只有a为真时,才计算ba

10、

11、b只要a

12、为真,就不计算b5.3if语句5.3.1if语句的三种形式if(表达式)语句1elseif(表达式)语句2……elseif(表达式)语句melse语句nif(表达式)语句1;else语句2;上面几种形式中的语句可以时单个语句,也可以是复合语句。if(表达式)语句;if()if()语句1else语句2elseif()语句3else语句41复合语句的{}外面不必再加分号.2If语句的嵌套,即一个if语句中又包含一个或多个if语句。Else总是与最近的未配对的if配对。注意:【例】有一个函数,定义如下:#includevoidm

13、ain(){floatx,y;scanf("%f",&x);if(x<0.0)y=0;elseif(x>=0.0&&x<=50.0)y=x;elsey=x*x;printf(“y=%f”,y);}【例】输入一个字符,判断它是否是0~9之间的字符。#includevoidmain(){charc;printf("inputacharacter:");c=getchar();if(c>=48&&c<=57)/*c.=‘0’&&c<=‘9’)*/printf("Itisanumber.");elseprintf("Iti

14、snotanumber");}【例】判断闰年算法:符合下列条件之一的是闰年1能被400整除2能被4整除但不能被100整除main(){intyear,leap;scanf(“%d”,&year);if((year%400==0)

15、

16、(year%4==0&&year%100!=0))leap=1;elseleap=0;if(leap)printf(“%disaleapyear”,year);elseprintf(“%disnotaleapyear”,year);}#includevoidmain(){floata,b,c,x1

17、,x2,p,q,m;scanf("%f%f%f",&a,&b,&c);if((a==0.0)&&(b==0)&&(c==0))printf("anyvalue");elseif((a==0)&&(b!=0))printf("x1=x2=%f",-c/b);else/*a<>0*/{m=b*b-4.0*a*c;if(m>=0){x1=(-b+sqrt(m))/(2.0*a);x2=(-b-sqrt(m))/(2.0*a);printf("x1=%f",x1);printf("x2=%f",x2);}【例】求解ax2+bx+c=0的完全

18、解。else/*m<0*/{  p=-b/(2.0*a);q=sqrt(-m)/(2.0*a);printf("x1=%f+%fi",p,q);printf("x2=%f-%fi",p,q);}}/*endofa<>0*/}/* endofmain*/5.3.2条件运算符条件运算符要求有三个操作数,称为三目运算符.一般形式:表达式1?表达式2:表达式3u若表达式1为真,则整个表达式的值为表达式2的值,否则为表达式3的值。u条件运算符的优先级高于赋值运算符,如:max=(a>b)?a:bmax=a>b?a:ba>b?a:b+1a>

19、b?a:(b+1)u条件运算符的结合方向为自右向左a>b?a:c>b?c:da>b?a:(c>b?c:d)u只能取代两个分支都给同一个变量赋值的if语句if(a>b)x=a;elsey=b;不能用条件运算符u三个表达式的类型可以不同,表达式值的类型为二者中较高的类型.t=x>y?1:1.5/*t=1.0ort=1.5*/【例】符号函数。main(){floats;intf;scanf(“%f”,%s);f=s==0?0:(s<0?–1:1);printf(“thesignis%d”,f);}【例】大小写字母转换。ch=(ch>=’A’?&

20、&ch<=‘Z)?ch+32:ch;ch=(ch>=’A’?&&ch<=‘Z)?ch+’a’-’A’:ch;5.4switch语句switch(表达式){case常量表达式1:语

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

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

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