不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦>學(xué)習(xí)英語(yǔ)>專業(yè)英語(yǔ)>計(jì)算機(jī)英語(yǔ)>

c中break的用法

時(shí)間: 長(zhǎng)思709 分享

  c中break的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中break的用法的用法,希望對(duì)你們有用。

  c中break的用法的用法如下:

  break和continue的使用范圍比較一致,兩都可以用于循環(huán),其中break還可以用于switch。功能上也有一定的相似性,break就相當(dāng)于退學(xué),continue則相當(dāng)于跳級(jí)。對(duì)于break,程序究竟跳到哪兒比較好理解。但是continue究竟跳到哪兒去了,初學(xué)者可能有些疑惑,不妨就當(dāng)它跳到了循環(huán)體最后一句語(yǔ)句的后面。

  如果它們處在由多重循環(huán)和switch組成的圈圈里,那么它們就對(duì)包括它們的最里層起作用。于是,設(shè)想一下子跳出多重循環(huán)的人可能忘不了goto。

  Break語(yǔ)句不能用于循環(huán)語(yǔ)句(如for循環(huán)或while循環(huán))和switch語(yǔ)句之外的任何其他語(yǔ)句中。

  Continue語(yǔ)句和Break語(yǔ)句的區(qū)別是:Continue語(yǔ)句只結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行。而Break語(yǔ)句則是結(jié)束整個(gè)循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立。

  引用:從上世紀(jì)60年代后期開始,不主張使用goto語(yǔ)句。……所有使用goto的程序都可以改寫成不用goto。

  筆記:goto是一個(gè)很有爭(zhēng)議的語(yǔ)句,語(yǔ)多書本建議少用或不用它,我個(gè)人的習(xí)慣是堅(jiān)決不用。不過,至于“上世紀(jì)60年代”這個(gè)說(shuō)法,我倒是一直不知道。因?yàn)槲易约簩W(xué)習(xí)BASIC已經(jīng)是1994年,那時(shí)候?qū)W的是帶行號(hào)的GW-BASIC,goto是必須用到的語(yǔ)句。莫非當(dāng)時(shí)我們學(xué)校開設(shè)的課程居然是落后二十年的內(nèi)容?

  林銳博士對(duì)goto另有看法,他說(shuō):“錯(cuò)誤是程序員自己造成的,不是goto的過錯(cuò)。goto至少有一處可顯神通,它能從多重循環(huán)中咻地一下子跳到外面,……就像房子著火了,來(lái)不及從樓梯一級(jí)一級(jí)往下走,可從窗口跳出火坑。……”

  我寫的程序目前還沒有超越三級(jí)循環(huán)。從最里層往外跳,如果跳一層,就break,如果跳兩層或三層,一是這種可能性很小,二是如果真的碰到了,我就用其它條件來(lái)控制外層循環(huán)是否繼續(xù)break,自從1997年進(jìn)入結(jié)構(gòu)化的程序設(shè)計(jì)以來(lái),我的確完全拋棄了goto。——VB中的“On Error Goto”除外,出現(xiàn)錯(cuò)誤,自然不管在哪一層,都給我跳進(jìn)錯(cuò)誤處理中。

  goto的目標(biāo)是一個(gè)標(biāo)號(hào),這個(gè)標(biāo)號(hào)的起名倒有點(diǎn)意思,因?yàn)闃?biāo)號(hào)只用于goto,所以它的名字可以與任何變量名以及其它標(biāo)識(shí)符一樣而不產(chǎn)生重名。以前的程序是帶行號(hào)的,所以就“goto 行號(hào)”,現(xiàn)在程序不帶行號(hào)了,但是允許在任何地方加標(biāo)號(hào)。編譯器在碰到它們的時(shí)候,大概就是憑其后頭的冒號(hào)來(lái)判斷這個(gè)名字不需要檢驗(yàn)合法性。那么,C++中已有的“public:”算不算標(biāo)號(hào)呢?

  為此,我做了個(gè)實(shí)驗(yàn):實(shí)驗(yàn)內(nèi)容一是我在類的聲明里加入了一行“pub:”,二是我在程序段中加入了一行“public:”。結(jié)果發(fā)現(xiàn)兩都都不能通過編譯。也就是說(shuō),實(shí)驗(yàn)一說(shuō)明在類定義這樣的地方不允許使用標(biāo)號(hào)(也用不著,因?yàn)樗辉谌魏魏瘮?shù)內(nèi)部,goto是運(yùn)行時(shí)的事,與編譯無(wú)關(guān),而且goto不允許跨函數(shù)跳越。),實(shí)驗(yàn)二說(shuō)明在程序段中的標(biāo)號(hào)不允許使用保留字。

  下面舉例說(shuō)明:

  #include <stdio.h>

  void main()

  {

  int n, m;

  /*這個(gè)循環(huán)輸出1 2 3 4, 在n是5的時(shí)候循環(huán)退出*/

  for ( n = 1; n <= 10; n ++ )

  {

  if ( n == 5 )

  break;

  printf( " %d", n );

  }

  printf( "\n" );

  /*這個(gè)循環(huán)輸出1 2 3 4 6 7*/

  for ( m = 1; m <= 10; m ++ )

  {

  /*在m是5的時(shí)候沒有執(zhí)行當(dāng)次循環(huán)的其他語(yǔ)句,所以未輸出5*/

  if ( m == 5 )

  continue;

  /*在m是8的時(shí)候循環(huán)跳轉(zhuǎn)到RET處,連End都不會(huì)輸出,如果是break,還能輸出End*/

  if ( m == 8 )

  {

  goto RET;

  }

  printf(" %d",m);

  }

  printf ("End");

  RET:

  return;

  }

c中break的用法

c中break的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中break的用法的用法,希望對(duì)你們有用。 c中break的用法的用法如下: break和continue的使用范圍比較一致,兩都可以用于循環(huán),其中break還可以用于switch。功能上也有一定的
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

上一篇:c中bool的用法

下一篇:c中char的用法

精選文章

  • c中bool的用法
    c中bool的用法

    cc中bool的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下cc中bool的用法的用法,希望對(duì)你們有用。 cc中bool的用法的用法如下: 我們知道在C++里有專門

  • c中base的用法
    c中base的用法

    c中base的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中base的用法的用法,希望對(duì)你們有用。 c中base的用法的用法如下: 1、調(diào)用基類中的重名方法

  • c中as的用法
    c中as的用法

    c中as的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中as的用法的用法,希望對(duì)你們有用。 c中as的用法的用法如下: 2 3 4 5 6 7 8 9 10 11 12 13 14 public

  • c中arraylist的用法
    c中arraylist的用法

    c中arraylist的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中arraylist的用法的用法,希望對(duì)你們有用。 c中arraylist的用法的用法如下: System.Collectio

537069