- 1、本文档共83页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * 先计算表达式的值; 如果,表达式的值等于常量表达式1的值,则执行语句1;[break;] 如果,表达式的值等于常量表达式2的值,则执行语句2;[break;] … 如果,表达式的值等于常量表达式n的值,则执行语句n;[break;] 如果,表达式的值不等于case 后的任意一个值,则执行default :语句n + 1; * 条件运算符和条件表达式 条件运算符: ? : 条件表达式的形式为: 表达式1 ?表达式2 :表达式3 条件表达式的执行过程:先计算表达式1,若其值为非零(为真),则结果为表达式2的值,否则就是表达式3的值。 条件表达式可以看作一个简写的if-else语句。 * 例3.15可以改写成: #include stdio.h? void main() { int a,b,max; printf (“input two numbers: ”); scanf (“%d%d”,a,b); if (ab) max=a; else max=b; printf (“max=%d\n”,max);} max=ab?a:b; * else – if 形式 格式: if(表达式1)语句1; else if(表达式2)语句2; … else if(表达式m)语句m; else 语句 n; * else – if 执行流程 计算“表达式1 ”的值 如果“表达式1 ”的值非零,则执行语句1;该 if 语句执行完毕。 如果“表达式1 ”的值为零则计算“表达式2”的值;如果“表达式2 ”的值非零,则执行语句2;该 if 语句执行完毕。 以此类推,…… 直到最后一个 else 语句 * 例3.16: 已知函数 程序段: if (x10) y = - 1; else if(x ==1 0)y=0; else y =1; 编写程序,输入一个x值,输出对应的y值。 - 1 (x10); 0 (x =1 0); 1 (x10); y= * if 语句的嵌套 if语句的嵌套: 在一个 if语句中又包含了另一个 if 语句 一般形式: if( 表达式1) if (表达式1-1 )语句1-1; else 语句1-2; else if ( 表达式2) 语句2; else 语句3; C语言规定,else 总是和它上面 离它最近的未曾匹配的 if 匹配。 * 例3.17: 1.在if子句中嵌套 2.在else子句中嵌套 if (x=0) if (x0) y=-1; else y=0; else y=1; if (x0) y=-1; else if (x==0) y=0; else y=1; * if语句只能处理从两者间选择之一,当要实现从多种可能中选择之一时,就要用到if…else if甚至多重嵌套的if语句。 当分支较多时,程序变得复杂冗长,可读性降低,如: if (x = 90) printf(“优秀”) ; else if (x = 80) printf(“良好”) ; else if (x= 60) printf(“通过”) ; else printf(“不及格”) ; 其它语句; 如何解决这一问题? * switch语句 switch 语句是实现多分支选择结构的一个语句 格式 switch (算术表达式) { case 常量表达式1:语句1;break; case 常量表达式2:语句2;break; … case 常量表达式n:语句n;break; default :语句n + 1; } 表达式值必须为整型、 字符型或枚举类型 每个case 表达式 的值必须互不相同 * 例3.18 将1至7中的任意一个数字转化成对应的英文星期几的前三个字母,如1转化为Mon,7转化为Sun等。 #include stdio.h ?void main() { int a; printf(input integer number: ); scanf(%d,a); switch (a) { /*对表达式a做多次判断,根据不同的条件做不同的语句*/ case 1:printf(Mon\n);break;/*break的作用是跳出该结构*
文档评论(0)