c语言 真假条件跳转语句,什么是无条件跳转语句(C++)
goto。
當(dāng)程序執(zhí)行到這一句的時(shí)候直接跳轉(zhuǎn)到goto 后面的行數(shù)。
goto 的意思非常好理解,即跳轉(zhuǎn),如:
C:\Documents and Settings\doupi>goto /?
將 cmd.exe 導(dǎo)向到批處理程序中帶標(biāo)簽的行。
GOTO label
label 指定批處理程序中用作標(biāo)簽的文字字符串。
標(biāo)簽必須單獨(dú)一行,并且以冒號(hào)打頭。
goto label 即跳轉(zhuǎn)到哪個(gè)分支塊執(zhí)行,這是一種常見(jiàn)的程序分支結(jié)構(gòu).具體我們來(lái)看兩個(gè)例子:
例1:打印1到10
1 @echo off
2 :start
3 rem set 的/a 參數(shù)就是讓set 可以支持?jǐn)?shù)學(xué)符號(hào)進(jìn)行加減等一些數(shù)學(xué)運(yùn)算,它的作用很多,后面介紹
4 set /a var+=1
5 echo %var%
6 rem 還記得上一篇中的if的用法嗎,比較數(shù)值
7 if %var% lss 10 goto start
8 pause >nul
例2:按判斷條件作跳轉(zhuǎn)
1 @echo off
2 set /p input=請(qǐng)輸入字母A或者B:
3 if "%input%"=="A" goto labelA
4 if "%input%"=="B" goto labelB
5 echo 輸入不正確
6 pause>nul
7 exit
8 :labelA
9 rem 當(dāng)輸入了字母A時(shí),就已經(jīng)從第三行開(kāi)始跳轉(zhuǎn)到第7行執(zhí)行了.
10 echo 輸入了字母A
11 pause >nul
12 exit
13 :labelB
14 echo 輸入了字母B
15 pause >nul
16 exit
批處理及shell,實(shí)際上是一堆命令寫(xiě)在一起,它們會(huì)一行一行的執(zhí)行.自上而下.對(duì)于goto及配套label的用法,請(qǐng)注意以下幾點(diǎn):
1. label是一個(gè)標(biāo)簽,以冒號(hào)開(kāi)關(guān),最好用易識(shí)別的字符串常量來(lái)標(biāo)識(shí)(不能用變量)
2. goto在執(zhí)行到的后面緊跟的標(biāo)簽時(shí),會(huì)去全文件查找,執(zhí)行第一個(gè)被找到的標(biāo)簽(所以請(qǐng)不要弄幾個(gè)同名標(biāo)簽,此類(lèi)做法比較二,后果自已去總結(jié))
3. 標(biāo)簽執(zhí)行完成后如果不被終止或者跳轉(zhuǎn)的話,程序仍會(huì)向下繼續(xù)執(zhí)行.你可以理解:標(biāo)簽實(shí)際就是個(gè)標(biāo)識(shí)作用,它沒(méi)有真正意義上的把程序分塊(不像各個(gè)括號(hào)的作用).
4. 標(biāo)簽可以被當(dāng)作注釋來(lái)用,但它是被執(zhí)行了,標(biāo)準(zhǔn)的注釋用的是::或者rem
5. 當(dāng)你看到goto :eof時(shí),不要驚訝, eof=end of file, :eof是一個(gè)固定通用標(biāo)簽,它表示跳到該文件的末行.(但如果程序是執(zhí)行在call中時(shí),它是跳出call。
Goto語(yǔ)句有悖于結(jié)構(gòu)化的程序設(shè)計(jì),建議少用,會(huì)導(dǎo)致程序可讀性變差,但有時(shí)候用它能達(dá)到意想不到的結(jié)果。
總結(jié)
以上是生活随笔為你收集整理的c语言 真假条件跳转语句,什么是无条件跳转语句(C++)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 平年闰年c语言源代码,C语言平年闰年问题
- 下一篇: 800万0.8个点是多少佣金?