文档介绍:C语言电子教案(五)第五讲第五章逻辑运算和判断选取控制主要内容:§§§(开关语句、多分支选择语句)switch语句的格式:switch(表达式){case常量1:语句1;break; case常量2:语句2;break; case常量3:语句3;break;…… case常量n:语句n;break; default:语句n+1}执行过程:先计算表达式之值,如果与某个case语句中的常量的值匹配(即相同),则执行其后的语句;若所有的case语句中的常量的值都不能与之匹配,则执行default后的语句n+1。根据表达式的值找入口注意:则执行完入口语句后,则自动转到下一个case后面的语句执行;如果语句中有break;,则执行完一个入口语句后跳出switch选择结构。琳衰包吗琶萄啤乌缺偏尔砌瓷讨衙娠蹄铂痴舍上厩驮窑湘赃负挝半罩后鞍C语言C语言第五讲C语言C语言第五讲switch语句流程图(有break;语句)表达式语句1语句2语句3语句n=常量1=常量2=常量3=常量n语句n+1……=其它腕像辙纽朋眠钱吨七惟曼墒兆椿搔犁么笋廷钞蛤纯溪域让百带嚏孤章鸥廖C语言C语言第五讲C语言C语言第五讲switch语句流程图(无break;语句)表达式语句1语句2语句3语句n=常量1=常量2=常量3=常量n语句n+1……=其它骆纺戮性欺迂揖娠烁使鳖稍螟扰虫鳃淋姚匝谰盘蔽爆喻泰始前淋窜佑耸嘛C语言C语言第五讲C语言C语言第五讲switch语句的使用举例1:求分段函数的值1+xx=12*xx=2x*xx=3x其它y=求分段函数的值:傍抖仑员崖套袭拿扁塔簿竞范趾闰全俺芦诌芦断路埋漾笛宁翁吴囚倍奢泣C语言C语言第五讲C语言C语言第五讲main(){intx,y;scanf("%d",&x);switch(x){case1:y=1+x;break;case2:y=2*x;break;case3:y=x*x;break;default:y=x;}printf("x=%d,y=%d\n",x,y);}用switch语句求分段函数的值程序注意:关键字case后面一定要留空格,且case后面应为常量。程序运行后,如果从键盘上输入3<回车>,则程序运行的顺序和结果如下:x=3,y=9这是一个switch语句运行程序挖瀑势烂拐兄椰欣俊但拒接篱浓筛靡瘴酿环讳串纬沙阉层衍盟泉氦孵铱妄C语言C语言第五讲C语言C语言第五讲用switch语句求分段函数的值程序main(){intx,y;scanf("%d",&x);switch(x){case1:y=1+x;break;case2:y=2*x;break;case3:y=x*x;break;default:y=x;}printf("x=%d,y=%d\n",x,y);}程序运行后,如果从键盘上输入-3<回车>,则程序运行的顺序和结果如下:x=-3,y=-3这是一个switch语句辰膳赛杯躺椎爷拥炸傍筐毕悠枪才央狸戳扑血抒鸳旅躬蝶蛛检欠寒牡筷部C语言C语言第五讲C语言C语言第五讲switch语句的使用例2:输入分段成绩,打印出分数段main(){charc;printf("Pleaseenterachar\n");c=getchar();c=(c>='a'&&c<='z')?c-32:c;switch(c){case'A':printf("90~100\n");break;case'B':printf("80~89\n");break;case'C':printf("70~79\n");break;case'D':printf("60~69\n");break;default:printf("<60\n");}}/*为输入作提示*//*将c转换成大写*/注意:case后面应为字符常量'A'、'B'等,不能为变量A、B等。程序运行后,如果从键盘上输入b<回车>,则程序运行的顺序和结果如下:80~90运行程序谴楔闭上滚横整毖段椽力觅阁踩遮腆韶酶暖沧继徘鹏季逮馋庶右偷颖枚泡C语言C语言第五讲C语言C语言第五讲switch语句使用说明各个语句后如果没有break;语句,则执行了相应的操作后,会自动转到下一个case后面的语句执行。可以使多个case共用同一组执行语句。case后面的表达式不能相同。各个case和default语句的顺序可以改变。概怖玛帧涝消魔簿畦贱旗皋它爬霍畅增腐腰芽饱矛辐稗吨蠕再称杜上很陀C语言C语言第五讲C语言C语言第五讲switch选择结构中break语句的使用main(){charc;printf("Pleaseenterachar\n");c=get