最新亚洲人成无码网站,夜夜操夜夜操夜夜爽,中文字日产幕乱五区,在线成人看片黄a免费看,亚洲自偷自拍另类11p

首頁 >> 綜合經(jīng)驗(yàn) >

switch語句的主要功能(switch語句例子)

2024-09-06 21:30:45 來源: 用戶: 

哈嘍,大家好~~~我是小編田甜,關(guān)于switch語句的主要功能,switch語句例子這個(gè)很多人還不知道,那么現(xiàn)在讓田甜帶著大家一起來看看吧!

1、switch(x) { default: if(prime(x)) { case 2: case 3: case 5: case 7: process_prime(x); } else { case 4: case 6: case 8: case 9: case 10: process_composite(x); } }   你能說出它如何執(zhí)行嗎?   switch語句的格式為: switch(條件)語句   其中,條件的類型可以是整數(shù)類型,枚舉類型,或者類類型(但該類需要有單一的轉(zhuǎn)換到整數(shù)類型或(可以是字符類型,但不能是浮點(diǎn)類型、字符串、指針類型等),語句部分不一定非得是一條復(fù)合語句。

2、因此,switch("123"[2]+(int)3.1);是條合法的switch語句,switch(j)case 5:i++;也是條合法的switch語句。

3、如果switch的語句部分是一條非復(fù)合語句,則其內(nèi)定義的變量作用域,效果上等同于該條語句加上了{(lán)}。

4、如int i=3;switch(i)int i=4;,相當(dāng)于int i=3;switch(i){int i=4;},因此這并不會(huì)導(dǎo)致同一局部域下的重復(fù)定義錯(cuò)誤。

5、 case標(biāo)號(hào)后為一個(gè)整數(shù)類型的常量表達(dá)式,因此int i=3;switch(i){case 3:;}合法,而int i=3;switch(3){case i:;}不合法,因?yàn)閏ase i:的i不是個(gè)靜態(tài)表達(dá)式。

6、如果將int i=3;換成const int i=3;則后者在C++中就合法了,但在C中仍然不合法。

7、原因是C和C++對(duì)const的處理不同,在C中,const限定的量是不能直接去修改的,但它本身并不是常量表達(dá)式;在C++中,const限定的量,如果其值能在編譯時(shí)確定,則其可出現(xiàn)在必須使用常量表達(dá)式之處。

8、   同一個(gè)switch的各個(gè)case標(biāo)號(hào)的值不能夠相互重復(fù)。

9、要注意的是,case標(biāo)號(hào)在實(shí)現(xiàn)中是有上限的:C89標(biāo)準(zhǔn)要求至少257個(gè),這保證了ASCII被switch列舉一遍。

10、   雖然要求case標(biāo)號(hào)是常量表達(dá)式,看起來似乎不是很零活方便(比如對(duì)比VB的Select Case),但是這樣的設(shè)計(jì)可以保證更高的效率,而效率則是C和C++最為看重的因素。

11、因?yàn)閏ase標(biāo)號(hào)的值是編譯時(shí)可確定的整數(shù)類型,又因?yàn)槠洳豢捎兄貜?fù),因此編譯器可以進(jìn)行優(yōu)化。

12、 最后要強(qiáng)調(diào)的問題是,C++中g(shù)oto不能從前往后跳過變量定義,因此switch內(nèi)出現(xiàn)的變量定義語句,最好放在復(fù)合語句{}中包起來。

本文分享完畢,希望對(duì)大家有所幫助哦。

  免責(zé)聲明:本文由用戶上傳,與本網(wǎng)站立場無關(guān)。財(cái)經(jīng)信息僅供讀者參考,并不構(gòu)成投資建議。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。 如有侵權(quán)請(qǐng)聯(lián)系刪除!

 
分享:
最新文章