c语言分支程序设计

上传人:第*** 文档编号:49189827 上传时间:2018-07-25 格式:PPT 页数:16 大小:258KB
返回 下载 相关 举报
c语言分支程序设计_第1页
第1页 / 共16页
c语言分支程序设计_第2页
第2页 / 共16页
c语言分支程序设计_第3页
第3页 / 共16页
c语言分支程序设计_第4页
第4页 / 共16页
c语言分支程序设计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《c语言分支程序设计》由会员分享,可在线阅读,更多相关《c语言分支程序设计(16页珍藏版)》请在金锄头文库上搜索。

1、第五章 选择结构程序设计 5.1 关系运算符和关系表达式关系运算符6个: = = = !=赋值运算关系运算算术运算低高逗号运算前4种优先级高于后2种ca+b c(a+b)ab!=c (ab)!=c a=3;b=2,c=1; f=abc;关系表达式的结果计算:“真”为1,“假” 为0;判断:非0为真,0为“假 ”5.2 逻辑运算符和逻辑表达式 逻辑运算符3种:else 语句2;上面几种形式中的语句可以时单 个语句,也可以是复合语句。 if (表达式) 语句;if ( )if ( ) 语句1else 语句2 elseif ( ) 语句3else 语句41 复合语句的外面不必再加分号.2 If语句的

2、嵌套,即一个if语句中又包含一个或多个if语句。Else总是与最近的未配对的if配对。注意:【例】有一个函数,定义如下: #include void main() float x,y;scanf(“%f“,if (x=0.0 printf(“input a character:“); c=getchar();if (c=48scanf(“%f%f%f“,if (a=0.0)else if (a=0)else /* a=0) x1=(-b+sqrt(m)/(2.0*a);x2=(-b-sqrt(m)/(2.0*a);printf(“x1=%fn“,x1);printf(“x2=%fn“,x2);

3、【例】求解ax2+bx+c=0的完全解。else /* m0 */ end of main */5.3.2 条件运算符条件运算符要求有三个操作数,称为三目运算符一般形式:表达式1 ?表达式2 :表达式3u若表达式1为真,则整个表达式的值为表达式2的值,否则 为表达式3的值。u条件运算符的优先级高于赋值运算符,如: max=(ab)? a : b max=ab ? a : b ab ? a: b+1 ab ? a: (b+1) u条件运算符的结合方向为自右向左ab ? a : c b ? c : d ab ? a : (c b ? c : d) u只能取代两个分支都给同一个变量赋值的if语句 i

4、f (ab) x=a; else y=b; 不能用条件运算符 u三个表达式的类型可以不同,表达式值的类型为二者中较 高的类型 t=xy?1:1.5 /* t=1.0 or t=1.5 */【例】符号函数。main() float s;int f;scanf(“%f”,%s);f=s=0? 0 : (s=A? break;一般形式:【例】根据学生成绩的等级打印出分数段。#include void main() char grade;printf(“input the grade(A,B,C,D,E):“);scanf(“%c“,switch (grade) case A : printf(“90

5、-100n“); break;case B : printf(“80-89n“); break;case C : printf(“70-79n“); break;case D : printf(“60-69n“); break;case E : printf(“0-59n“); break;default : printf(“errorn“); 【例】根据学生成绩(百分制)打印出等级。#include void main() char grade;int t,s;printf(“input the score=“); scanf(“%d“,t=s/10;switch (t) case 9 :

6、case 10: printf(“An“); break;case 8 : printf(“Bn“); break;case 7 : printf(“Cn“); break;case 6 : printf(“Dn“); break;default : printf(“En“); 分数s为浮点数?t=(int)s/10【例】嵌套使用的switch语句void main() int x,y;scanf(“%d%d“,switch(x) case 1: switch(y) case 0:printf(“Morningn“);break;case 1:printf(“afternoonn“);brea

7、k;default:printf(“eveningn“);break;case 2: printf(“interestingn“);break;default:printf(“Errorn“);无break,运行结果如 何?(x=1,y=0)【例】运输公司的运费计算(103)思路:s无限种情况转换为有限的若干种情况讨论设:p: base price; w: weigh; s: distance; f: freight; d:discount,与freight有关 f=p*w*s*(1-d)1. c=(int)s/250; c=0,1,2,3,4,5,6,7,8,9,10,11,12 源程序见104s3000) c=6;else c=(int)s/500;switch(c) case 0: if s250 d=0;else d=2;break;case 1: d=5; break;case 2:case 3: d=8; break;case 4:case 5: d=10; break;case 6: d=15; f=p*w*s*(1-d/100.0);printf(“freight=%fn”,f);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号