文档详情

switch case用法示例.doc

发布:2017-05-23约1.16千字共3页下载文档
文本预览下载声明
C语言——switch case语句 switch语句的语法如下(switch,case和default是关键字): ? switch (?表达式)? {?   case?常量表达式1?:语句1;break;   case?常量表达式2?:语句2;break; ???????……   case?常量表达式n?:语句n;break; ????default:语句n+1;break; } 说明: break退出{ } case后面只能跟一个值(加冒号:),而不能是一个表达式 switch(表达式)?后面没有;(分号) { }前后没有;(分号) ? switch语句规则 ?case标签必须是常量表达式(constant Expression)? 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。 case 标签后不能是浮点型数据(如1.0? ) case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。 ? 不要问为什么,C就这规定!我们只需要了解规则,学会应用即可! 猜想原因:浮点型数据不是准确的数据,在机器中只能表示出一个近似值,如:0.1?在机器中存的是0...??也可能是0...?根据精度不同,数据来源不同,其值是个不确定的数据,因此,不能用CASE来定位 ? 简单例题1: #include stdio.h void main(void) { ?int i=5;? ?switch(i) ?{ ??case 1: printf(%d,i); ???break; ??case 2+3: printf(%d,3); ???break; ??default : printf(%d,i); ?} } //程序运行效果是输出:3 ? 经典例题2: #include stdio.h void main(void) {? ?switch(A) ?{ ??case A: printf(A\n); ???break; ??case B: printf(%d,3);? ???break; ??default : printf(%d,7); ?} } //程序运行效果是输出:A ? ? 经典例题3: #include stdio.h void main(void) { ?int i=5;? ?switch(5) ?{ ??case 1: printf(%d,i); ???break; ??case 5: printf(%d,3);? ???break; ??default : printf(%d,i); ?} } //程序运行效果是输出:3
显示全部
相似文档