亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++ switch case語句講解

2020-05-23 14:28:23
字體:
供稿:網(wǎng)友
我們已經(jīng)了解,if……else……可以用來描述一個(gè)“二岔路口”,我們只能選擇其中一條路來繼續(xù)走。然而,有時(shí)候我們會(huì)遇到一些“多岔路口”的情況,用if……else……語句來描述這種多岔路口會(huì)顯得非常麻煩,而且容易把思路攪渾。比如程序4.2.2就是一個(gè)用if……else……語句描述的四岔路口(四種操作符),整個(gè)程序占據(jù)了將近一頁。

如果我們把這些多岔路看作電路,那么用if……else……這種“普通雙向開關(guān)”來選擇某一條支路就需要設(shè)計(jì)一套很復(fù)雜的選路器。所以最簡便的選路方法當(dāng)然是做一個(gè)像下圖那樣的開關(guān)。(圖4.4.1)

在C++中,也有這樣的開關(guān),那就是switch語句。它能夠很簡捷地描述出多岔路口的情況。具體的語法格式為:
C++ switch case語句講解
switch(表達(dá)式)
{
   case 常量表達(dá)式1:
   {
      語句塊1;
      break;
   }
   ……
   case 常量表達(dá)式n:
   {
      語句塊n;
      break;
   }
   default:
   {
      語句塊n+1;
   }
}

在switch語句中,我們要記住四個(gè)關(guān)鍵詞,分別是switch、case、default和break。switch是語句的特征標(biāo)志(圖中標(biāo)作sw);case表示當(dāng)switch后的表達(dá)式滿足某個(gè)case后的常量時(shí),運(yùn)行該case以后的語句塊。要注意,任意兩個(gè)case后的常量不能相等,否則switch將不知道選擇哪條路走。default表示當(dāng)表達(dá)式?jīng)]有匹配的case時(shí),默認(rèn)(default)地運(yùn)行它之后的語句塊(圖4.4.1中未標(biāo)出);break表示分岔路已經(jīng)到頭,退出switch語句。

下面,我們就來用switch語句來改寫程序4.2.2。箭頭表明遇到break以后的運(yùn)行情況。
#include "iostream.h"
int main()
{
   float a,b;
   char oper;
   cout <<"請(qǐng)輸入一個(gè)表達(dá)式(eg.1+2):" <<endl;
   cin >>a >>oper >>b;
   switch (oper)
   {
      case '+':
      {
         cout <<a <<oper <<b <<'=' <<a+b <<endl;
         break;
      }
      case '-':
      {
         cout <<a <<oper <<b <<'=' <<a-b <<endl; 
        break;
      }
      case '*':
      {
         cout <<a <<oper <<b <<'=' <<a*b <<endl;
         break;
      }
      case '/':
      {
         if (b!=0) cout <<a <<oper <<b <<'=' <<a/b <<endl;
         else cout <<"出錯(cuò)啦!"<<endl;
         break;
      }
      default:
         cout <<"出錯(cuò)啦!"<<endl;
   }
   return 0;
}
上述程序的運(yùn)行結(jié)果和程序4.2.2的運(yùn)行結(jié)果一樣。我們發(fā)現(xiàn)使用了switch語句以后,代碼的平均縮進(jìn)程度有所減少,閱讀代碼的時(shí)候更簡潔易懂。所以,使用swith語句來描述這種多分支情況是很合適的。

試試看:
1、如果去除了case對(duì)應(yīng)的break,則運(yùn)行出來會(huì)是什么結(jié)果?
結(jié)論:如果去除了break,則不會(huì)退出switch而運(yùn)行到別的支路里去。

2、如果程序4.2.2的default沒有處在switch的結(jié)尾部分,那么運(yùn)行出來會(huì)是什么結(jié)果?
結(jié)論:switch語句中最后一個(gè)分支的break可以省略,其它的break均不可以。

3、case后的常量能否是一個(gè)浮點(diǎn)型常量或雙精度型常量?

switch的一些使用技巧
返回去看一下程序4.1.2,我們不難發(fā)現(xiàn)這個(gè)程序也是一個(gè)多分支結(jié)構(gòu)??墒莝witch語句只能判斷表達(dá)式是否等于某個(gè)值,而不能判斷它是否處于某個(gè)范圍。而要我們把處于某個(gè)范圍中的每個(gè)值都作為一句case以后的常量,顯然也太麻煩了。那么我們還能不能使用swith語句來描述這種范圍型的多分支結(jié)構(gòu)呢?

通過分析,我們發(fā)現(xiàn)了主要起區(qū)分作用的并不是個(gè)位上的數(shù),而是十位上的數(shù)。如果我們能把十位上的數(shù)取出來,那么最多也就只有十個(gè)分支了,不是嗎?下面我們就來看一下用switch語句改編的程序4.1.2。
#include "iostream.h"
int main()
{
   int mark;
   cout <<"請(qǐng)輸入成績(0~100): ";
   cin >>mark;
   switch(mark/20)
   {
      case 5:
      {
         if (mark>100)//100到119的情況都是mark/20==5,所以要用if語句再次過濾
         {
            cout <<"ERROR!" <<endl;
            break;
         }
      }
      case 4:
      {
         cout <<"Good!" <<endl;
         break;
      }
      case 3:
      {
         cout <<"Soso" <<endl;
         break;
      }
      case 2://根據(jù)前面試一試的結(jié)論,如果case沒有對(duì)應(yīng)的break,會(huì)運(yùn)行到下一個(gè)case中
      case 1:
      case 0:
      {
         if (mark>=0)//同樣要用if過濾負(fù)數(shù)
         {
            cout <<"Please work harder!" <<endl;
            break;
         }
      }
      default://其它情況都是出錯(cuò)
      cout <<"ERROR!" <<endl;
   }
   return 0;
}
這個(gè)程序要比原來的程序4.1.2冗長一些。但是這里提到這個(gè)程序的目的是要教會(huì)大家一種使用switch的方法,即“以點(diǎn)蓋面”。

算法時(shí)間:數(shù)據(jù)的轉(zhuǎn)換
在程序設(shè)計(jì)中,我們經(jīng)常會(huì)遇到這樣的問題:我們希望處理的數(shù)據(jù)和電腦能夠處理的數(shù)據(jù)可能有所不符。不符合的情況一般有兩種,一種是范圍不符合,另一種是類型不符合。對(duì)于范圍不符合,我們一般考慮的是使用代數(shù)式對(duì)數(shù)據(jù)進(jìn)行處理。比如C++中的隨機(jī)函數(shù)能夠產(chǎn)生一個(gè)0~32768之間的一個(gè)整數(shù),如果我們希望得到一個(gè)0~10之間的隨機(jī)數(shù),那么就用它對(duì)10取余數(shù),那么結(jié)果一定就在這個(gè)范圍內(nèi)。對(duì)于類型不符合,我們只好盡量用已有的數(shù)據(jù)類型來描述這種難以表達(dá)的類型。就如同電腦中用0和1表示真和假一樣。  
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产精品黄色影片导航在线观看| 国产精品日韩电影| 久久久久综合网| 中文字幕亚洲欧美日韩高清| 456国产精品| 秋霞国产午夜精品免费视频| 亚洲精品一区二区久| 五月天黄色网址| 91欧美精品成人综合在线观看| 国产96在线 | 亚洲| 中文写幕一区二区三区免费观成熟| 九九热线视频只有这里最精品| 日本日本19xxxⅹhd乱影响| 亚洲国产精品成人久久蜜臀| 亚洲色图欧美| 尤物yw193can在线观看| 日韩欧美国产视频| 午夜视频在线免费观看| 国产精品久久久久久久久| 亚洲国产成人va在线观看麻豆| 中文字幕在线不卡一区二区三区| 免费三级网站| 性视频在线播放| 国产传媒欧美日韩| 精品国产18久久久久久| xf在线a精品一区二区视频网站| 亚洲国产精品国自产拍av秋霞| yy6080久久伦理一区二区| 久久嫩草精品久久久精品一| 免费在线一区观看| 日韩精品亚洲人成在线观看| 色偷偷av一区二区三区| 精品国产一区二区三区噜噜噜| 欧美娇小极度另类| 69久久精品| 日韩色在线观看| a日韩av网址| 日韩欧美一区二区三区久久婷婷| 精品无码av一区二区三区| 永久免费看mv网站入口78| www成人啪啪18软件| 欧美一区二区在线视频| 亚洲国产精品无码久久久久高潮| 天天做天天爱夜夜爽| 午夜一区二区三区不卡视频| 色婷婷久久久久swag精品| 是的av在线| 久草综合在线视频| 欧美videossex极品| 欧美色图欧美色图| 婷婷无套内射影院| 在线视频自拍| 欧美一区二区三区久久精品| 亚洲精品动漫久久久久| 亚洲免费观看高清完整版在线观| 无人在线观看的免费高清视频| 欧美日韩中文在线视频| 这里只有精品视频在线| 国产综合久久久久久久久久久久| 成人区人妻精品一区二| 精品成人一区| 国产视频亚洲| 日本50路肥熟bbw| 天海翼在线观看视频| 国产a级片视频| 蜜桃久久av一区| 欧美日韩一区二区三区不卡视频| 国产精品裸体瑜伽视频| 国产99久久九九精品无码| 伊人久久一区二区| 亚洲精品一卡二卡| av电影在线播放高清免费观看| 在线一区日本视频| 91麻豆成人精品国产| 亚洲a一级视频| 国产精品视频观看| 亚洲二区在线播放| 1769国内精品视频在线播放| 视频免费一区二区| 在线免费观看a级片| 欧美黑人性受xxxx精品| 欧美日韩国产一区二区三区| 亚洲欧美变态国产另类| 午夜免费一区二区| 136国产福利精品导航网址应用| 亚洲日本韩国在线| www.色国产| 99精品久久久久久中文字幕| 国产在线视频福利| 国产又粗又长视频| 欧美性大战久久| xxxxx性欧美特大| 亚洲欧洲精品成人久久奇米网| 精品国产一区二区三区日日嗨| 日本精品久久久久中文字幕| 国产情侣在线视频| 日韩电影在线看| 日本福利片在线| 国产成人在线视频播放| 国外成人免费视频| 久久99久久99精品免费看小说| 亚洲精品视频在线观看网站| 国产欧美日韩视频| 97超视频免费观看| 国产成人亚洲精品狼色在线| 销魂美女一区二区三区视频在线| 久久只有精品| 欧美成人性战久久| 国产亚洲第一区| 欧美日韩视频精品一区二区| 欧美jizzhd精品欧美巨大免费| 日韩一区二区中文字幕| 日本一不卡视频| 中文字幕中文字幕一区三区| 天堂在线亚洲| 欧美精品九九99久久| 中文字幕国产免费| 99国产成+人+综合+亚洲欧美| 2018狠狠干| 在线播放 亚洲| 欧美日韩一区二区三区高清| 国产日韩精品久久久| 成网站在线观看人免费| 国产欧美久久一区二区三区| 亚洲国产视频在线观看| 国产免费a视频| 视频精品导航| 在线观看高清免费视频| 欧美国产日韩一区二区| 欧美性猛交xxx乱久交| 久久资源av| 亚洲毛片av| 婷婷久久综合| 亚洲黄色在线免费观看| 久久99深爱久久99精品| 中文字幕在线视频免费观看| 久久九九热re6这里有精品| 色久视频在线观看| 免费看成人午夜电影| 91美女在线免费观看| 日韩乱码人妻无码中文字幕久久| 国产又白又嫩又紧又爽18p| 在线观看a视频| 中文字幕一区二区日韩精品绯色| av视屏在线播放| 欧美中文在线观看| 亚洲麻豆国产自偷在线| 国产在线视频不卡二| 亚洲精品国自产拍在线观看| 影音先锋制服丝袜| 九色综合日本| 亚洲深夜影院| 精品久久久久久国产| 欧美一区二区在线| 一起草在线视频| eeuss一区二区三区| 丰满少妇又爽又紧又丰满69| 三级全黄视频| 丰满放荡岳乱妇91ww| 欧美日韩成人免费视频| 欧美成人精品三级在线观看| 欧美视频一区二区三区在线观看| 在线电影一区| 亚洲精品综合网| 91亚洲国产成人久久精品网站| 一区二区日韩在线观看| 免费三片60分钟| 男人打飞机网站| 搡老女人一区二区三区视频tv| eeuss影院www在线观看| 8x8x国产| 自拍偷拍福利视频| 欧美精品一二三| 欧美色图17p| 精品99一区二区| 黄黄的网站在线观看| 日本视频中文字幕| 日韩电影免费观看高清完整版在线观看| 国产99re66在线视频| 亚洲精品第一页| 美女高潮黄又色高清视频免费| 成人在线电影网| 激情文学一区| 午夜精品久久久久久久久久久久久| 日韩一区精品| 色噜噜亚洲精品中文字幕| 色综合天天爱| 日本成人黄色网址| 天堂网2014av| 免费a级毛片在线观看| 岛国电影中文在线| 蜜臀99久久精品久久久久小说| 精品国产av色一区二区深夜久久| 国产在线免费视频| 日韩少妇内射免费播放| 蜜桃在线一区二区| 6080午夜不卡| 偷拍自拍亚洲| 麻豆免费在线观看视频| 一区二区视频网| 国产精品污网站| 亚洲另类自拍| 日本在线不卡一区| 国产精品第一| 国产小视频在线观看免费| 久久久黄色av| 国产xxxxhd| 果冻天美麻豆一区二区国产| 亚洲自拍偷拍综合| 黄色在线观看av| 老司机免费在线视频| 欧美一区二区三区视频在线| 日本黄色片视频| 欧美日韩亚洲另类| 免费高清在线视频一区·| 国产精品自拍电影| 久久久久久国产精品三级玉女聊斋| 精品在线视频一区二区三区| av网站免费观看| 天堂99x99es久久精品免费| 欧美视频第二页| 全部孕妇毛片丰满孕妇孕交| 亚洲国产精品www| 国产精品一国产精品| 男人天堂av网| 免费电影日韩网站| 欧美人与性禽动交精品| 红杏成人性视频免费看| 久久一本综合频道| 6699久久国产精品免费| 午夜精品久久久久久久久久久| 国产国产国产国产国产国产| 久久久电影一区二区三区| 亚洲同志男男gay1069网站| 国产精品蜜臀| 羞羞视频网页| 亚洲成人在线观看视频| 国产精品日韩欧美一区二区| 庆余年2免费日韩剧观看大牛| 久久久影院一区二区三区| 激情懂色av一区av二区av| 国内精品区一区二区三| 日韩欧美黄色影院| 欧美电影在线观看网站| 影音先锋中文字幕在线| 免费黄色一级网站| 亚洲国产91视频| 992tv在线观看| 丝袜诱惑制服诱惑色一区在线观看| 天堂在线亚洲视频| 人妻精品久久久久中文| 亚洲精品99久久久久中文字幕| 成人91视频| 最新国产の精品合集bt伙计| 欧美96在线| 欧美精品激情blacked18| 日韩av在线电影网| 影音先锋中文字幕一区| 日韩黄色影院| www.8ⅹ8ⅹ羞羞漫画在线看| 国产精品爱久久久久久久小说| 露脸国产精品自产在线播| 国产黄色高清在线| 亚洲日本激情| 欧美精品三级| 国产欧美日韩综合精品二区| 国产在线不卡精品| 丰满少妇一区二区| 色综合97天天综合网| 欧美三日本三级三级在线播放| 欧美日韩情趣电影| 色呦呦在线免费观看| x88av在线| 国产 日韩 欧美 在线| 欧美大片日本大片免费观看| 亚洲精品有码在线| 思思99热久久精品在线6| 窝窝社区一区二区| 色婷婷精品久久二区二区蜜臀av| 日韩理论电影中文字幕| 亚洲乱码av中文一区二区| 国产在线观看你懂的| 国产一级片免费看| 日韩在线第一区| 色综合久久悠悠| 68精品国产免费久久久久久婷婷| 国产在线精品国自产拍免费| 欧美一区二区视频在线| 欧美一级片中文字幕| 一区二区视频网站| 91久久国产精品91久久性色| 亚洲熟妇无码av| 日韩电影中文字幕| 怡红院av在线| 日本按摩中出| 性xxxx丰满孕妇xxxx另类| 三日本三级少妇三级99| 日韩成人激情| 一二区在线观看| 国产v亚洲v天堂无码久久久| 青青草原综合久久大伊人精品| 91精品动漫在线观看| 亚洲成人影院麻豆| 91麻豆国产精品久久| 欧美亚一区二区三区| 黄色精品一二区| 麻豆成人av在线| 久久99国产精品久久99大师| 男人天堂av片| 中文永久免费观看| 无码人妻精品一区二区三区99v| 嫩草影视亚洲| 天天干天天干天天操| 伦理片一区二区| 午夜在线视频免费| 四虎电影网址| 欧美88av| 2024短剧网剧在线观看| 最近中文字幕免费mv视频多少集| 久久精品视频免费观看| 午夜在线网站| 青春草在线视频| 国产精品初高中害羞小美女文| 日韩av片免费在线观看| 国产欧美一区二区精品秋霞影院| 国产精品免费看片| 国产精品三级在线观看| 国内精品伊人久久久久av一坑|