c语言 真假条件跳转语句,什么是无条件跳转语句(C++)
goto。
當(dāng)程序執(zhí)行到這一句的時候直接跳轉(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ú)一行,并且以冒號打頭。
goto label 即跳轉(zhuǎn)到哪個分支塊執(zhí)行,這是一種常見的程序分支結(jié)構(gòu).具體我們來看兩個例子:
例1:打印1到10
1 @echo off
2 :start
3 rem set 的/a 參數(shù)就是讓set 可以支持?jǐn)?shù)學(xué)符號進(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=請輸入字母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時,就已經(jīng)從第三行開始跳轉(zhuǎn)到第7行執(zhí)行了.
10 echo 輸入了字母A
11 pause >nul
12 exit
13 :labelB
14 echo 輸入了字母B
15 pause >nul
16 exit
批處理及shell,實(shí)際上是一堆命令寫在一起,它們會一行一行的執(zhí)行.自上而下.對于goto及配套label的用法,請注意以下幾點(diǎn):
1. label是一個標(biāo)簽,以冒號開關(guān),最好用易識別的字符串常量來標(biāo)識(不能用變量)
2. goto在執(zhí)行到的后面緊跟的標(biāo)簽時,會去全文件查找,執(zhí)行第一個被找到的標(biāo)簽(所以請不要弄幾個同名標(biāo)簽,此類做法比較二,后果自已去總結(jié))
3. 標(biāo)簽執(zhí)行完成后如果不被終止或者跳轉(zhuǎn)的話,程序仍會向下繼續(xù)執(zhí)行.你可以理解:標(biāo)簽實(shí)際就是個標(biāo)識作用,它沒有真正意義上的把程序分塊(不像各個括號的作用).
4. 標(biāo)簽可以被當(dāng)作注釋來用,但它是被執(zhí)行了,標(biāo)準(zhǔn)的注釋用的是::或者rem
5. 當(dāng)你看到goto :eof時,不要驚訝, eof=end of file, :eof是一個固定通用標(biāo)簽,它表示跳到該文件的末行.(但如果程序是執(zhí)行在call中時,它是跳出call。
Goto語句有悖于結(jié)構(gòu)化的程序設(shè)計(jì),建議少用,會導(dǎo)致程序可讀性變差,但有時候用它能達(dá)到意想不到的結(jié)果。
總結(jié)
以上是生活随笔為你收集整理的c语言 真假条件跳转语句,什么是无条件跳转语句(C++)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平年闰年c语言源代码,C语言平年闰年问题
- 下一篇: linux firefox xvfb,自