問:switch語句中,case後面的語句序列中一定要有break語句嗎?
答:1)在 switch 語句中使用break語句將終止語句的序列。當遇到 Break語句時,程序將整個 switch 語句後面的一行代碼處開始執行,就有一種跳出switch 語句的效果。
break 語句是可選的,如果省略掉break 語句程序將執行下一條 case ,如果你需要使用多條 case ,你可以不用沒有 break 語句。
switch 語句的使用在多選擇的時候要比 if else 執行效率要高。
2)你知道break的意思嗎?如果沒有break,程序還會繼續走後面的判斷
==========================================================================================
通常在C語言裡面使用的跳轉語句主要有四種:
goto
continue
break
return
先將四種都為你做一個簡單的介紹:
goto :
用於模塊之間的跳轉,次跳轉功能強大,可實現在程序內部任意位置跳轉,調用形式為:
A: 模塊一;//在這裡A是一個標示符,常用大寫字母表示,表示跳轉後程序執行的起始位子
模塊二
{
goto A;//跳轉到A處執行
}
在C語言中這種形式的調用通常發生在菜單的制作上,用於多個模塊之間進行切換,可以嵌套使用。但是這種編程方式並不提倡使用,在跳轉過程中可能會帶來不可預知的BUG。應盡量避免使用。
continue
continue一般用於加速循環,一般在循環體內部進行調用,其功能是:結束本次循環,是循環快速地進入到下一次循環中,比如:
for(;;)
{
…………;
if(ture)
continue;
…………;
}
當if條件為真時,循環進入下一次;
break
一般用於跳出本循環,即跳出break所在的循環,哪個循環調用了break,就跳出哪個循環;
比如:
while()
{
for(;;)
{
…………
break;
……
}
}
在這段模板中,for 調用了break;當執行到break時跳出for,但是不跳出while,而是繼續執行while循環
return
一般的用法 時為了實現返回,返回一個值或其他復雜類型,都是可以的,
return 一般都用在被調用的對象(對象一)裡面,調用以後返回到調用對象(對象二)即,當對象二調用對象一時,如果對象一內部調用了return語句,則程序執行返回到,對象二調用對象一得下一條語句繼續執行,
比如:(這裡的對象在C語言裡面就是函數)
對象一()
{
return;
}
對象二()
{
語句一;
對象一();
語句二;
}
當程序執行到對象二時,會調用對象一,轉到對象一種去執行,當執行到return時,會返回到對象二中,執行語句二
對於你的提問現給出如下解釋:
第一個程序段
時對於return的調用,調用之後,程序會跳出main函數,也就是說return有結束函數調用的功能。
第二個程序段:
do
while();
是一個循環體,break在循環內部調用,跳出循環,但不跳出if,
一般語言裡面的跳轉都滿足上述規律,但不排除,在特殊的算法內部特殊的應用
希望你能夠明白
===========================
break;是跳出循環;
return; 直接返回方法,結束整個函數。
============================
作者“YEYUANGEN的專欄”