- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
switch条件运算
switch基本形式
switch(表达式){
case 常量1: 语句块1; [break]; case 常量2: 语句块2; [break];
……………………. case 常量n: 语句块n; [break]; default: 语句块n+1; [break];}
先计算表达式的值,判断与case后的哪个常量值相等,若与常量i 的值相等,则从语句块i 开始执行,直到遇到第一条break语句结束,或执行完语句块 n+1 结束。若与任何一个常量的值都不相等,直接执行语句块 n+1。
switch注意事项!!!!!!
1.switch后面的表达式值必须为整型或者字符型
2.每个语句块都可以是0到多条语句
3.break可有可无
4.case后面必须是常量不能为变量。
switch案例一
#includestdio.h
main( )
{ char i;
scanf(%c,i);
switch(i)
{ case a : i++; printf(%c, i); break;
case b: i++; printf(%c, i);
default : i=i+2; printf(%d, i);
}
}
1. 输入:a
输出:b
2. 输入:b
输出:c101
3. 输入:c
输出:101
ASCII值
a=97
b=98
c=99
switch案例二
switch(a/10){ case 0: case 1: case 2: m=1; break; case 3: m=2; break; case 4: m=3; break; case 5: m=4; break; default: m=5;}
请将以下语句改写成 switch 语句(a=0)。
if(a30) m=1;else if(a40) m=2; else if(a50) m=3; else if(a60) m=4; else m=5
switch案例三
写一个程序完成下列功能: 输入一个分数score
当 score60 输出 ‘D’
当60=score 80 输出 ‘C’
当80=score 90 输出 ‘B’
当score=90 输出 ‘A’
switch案例三
解答:用if怎么实现?
float score;
scanf(“%f”, score);
if ( score60) printf(“%c” , ’D’); //或(“D”)
else if ( score 80) printf(“C” );
else if (score 90) printf(“B”);
else printf(“A” );
switch案例三
switch实现
int score; scanf(%d ,score); switch (score /10) { case 10: case 9: printf(%d: A\n, score); break; case 8: printf(%d: B\n, score); break;
case 7: printf(%d: B\n, score); break; case 6: printf(%d: C\n, score); break; defaul t: printf(%d: D\n, score); }
条件运算
语法:
条件?值1:值2
案例:求两个整数中的最大值
分析:条件运算的两种用法
(1)max=ab?a:b
(2)ab?max=a:(max=b)
条件运算案例
输入一个成绩,输出其等级
方法一:
char grade;
grade=s=90?A:(s=70?B:(s=60?C:D))
或者
printf(“%c”,s=90?A:(s=70?B:(s=60?C:D)));
方法二:
char g;
s=90?g=A:(s=70?g=B:(s=60?g=C:g=D))
选择结构注意事项!!!!!!
1.if()后面不加;
2.判断两个值是否相等用“==”而不是赋值符“=”
如果用了赋值,如if(x=2) 会怎样?
3.条件可以是任意合法表达式
如:if(3) if(x=2)(跟if(x==2)的区别是什么)
if(0) if(!(x=2))
4.注意if和else匹配,else不能单独出现
作业题目讲解
文档评论(0)