a天堂国产 I 久久图片 I 91精品高清 I 亚洲人人玩人人添人人 I 婷婷伊人五月色噜噜精品一区 I 亚洲第一页夜 I 91日韩精品视频 I 无码人妻在线一区二区三区免费 I www.五月婷婷.com I 国产精品久久久久亚洲影视 I 91久久精品一二三 I 国产ts一区 I 91精品乱码久久蜜桃 I 成人免费观看高清 I 久久久久久国产精品免费无码 I 久久免费少妇高潮99精品 I 国产探花在线免费观看 I 亚洲精品少妇 I 亚洲综合成人亚洲 I 欧美区一区二区 I 手机福利视频 I 亚洲欧美综合另类自拍 I 久久精品视频免费播放 I 亚洲精品久久 I av免费在线免费观看 I 亚洲热综合 I 中文字幕无码专区人妻制服 I 午夜免费一区二区 I 在线亚洲精品国产一区麻豆 I 久久精品免费在线观看 I 全国最大成人网 I 亚洲欧美经典视频 I 手机av在线看 I 偷拍视频一区二区三区 I 吃奶摸下激烈视频学生软件

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://m.022-oo.cn/bbs/index.asp)
--  C++語(yǔ)言開(kāi)發(fā)  (http://m.022-oo.cn/bbs/list.asp?boardid=63)
----  C++/Object Pascal中循環(huán)結(jié)構(gòu)的一點(diǎn)差異及討論  (http://m.022-oo.cn/bbs/dispbbs.asp?boardid=63&id=2425)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-12-10 14:15:51
--  C++/Object Pascal中循環(huán)結(jié)構(gòu)的一點(diǎn)差異及討論

雖然在所有的編程語(yǔ)言之中,程序的執(zhí)行都無(wú)非是順序、分支和循環(huán)等幾種結(jié)構(gòu),比如說(shuō),C中的if…else,switch…case,while和do…while, 以及Pascal中的if…then…else,case…of,while…do,repeat…until,幾乎就是一一對(duì)應(yīng)的關(guān)系,只不過(guò)語(yǔ)法上有小小的差異而已。這樣的相似性使得我們?cè)谡莆找婚T(mén)語(yǔ)言之后,再學(xué)習(xí)其他語(yǔ)言就容易得多了。然而,語(yǔ)言之間的不同是細(xì)微而瑣碎的,如果不注意這些差別的話(huà),它們遲早會(huì)從不知哪個(gè)角落跳出來(lái),讓程序員陷入debug的噩夢(mèng)。


讓我們來(lái)看一個(gè)例子。我們知道在一般的循環(huán)結(jié)構(gòu)中,fo循環(huán)和while循環(huán)是可以轉(zhuǎn)換的,例如,在Pascal中

for I:=StartValue to EndValue do …;

可以轉(zhuǎn)換成相應(yīng)的while 循環(huán):

I:=StartValue;

while I<=EndValue do begin

   …;

   Inc(I);

end;

看起來(lái),這兩種循環(huán)是完全一樣的。別忙,真的完全一樣嗎?下面是一段Delphi代碼,你可以先心算一下,看得出來(lái)的結(jié)果應(yīng)該是多少:

procedure TForm1.FormCreate(Sender: TObject);

var

  i, j : integer;

  index : integer;

  str : string;

begin

  i := 0;

  j := 3;

  for index:=0 to j do begin

    Inc(i);

    if j<5 then Inc(j);

  end;

  str := IntToStr(i);

 

  i := 0;

  j := 3;

  index := 0;

  while index<=j do begin

    Inc(i);

    if (j<5) then Inc(j);