国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > C++ > 正文

C++的do...while語句詳解

2020-05-23 14:28:05
字體:
供稿:網(wǎng)友
我們已經(jīng)學(xué)習(xí)了for語句的循環(huán),并且知道for語句習(xí)慣上是用在已知循環(huán)次數(shù)的情況下的。但是,人不具有先知的能力,有些時(shí)候我們無法預(yù)知一個(gè)循環(huán)要進(jìn)行幾次,那我們?cè)撛趺崔k呢?

一個(gè)循環(huán),最不可缺少的就是開始和終止。如果一個(gè)程序的循環(huán)只有開始沒有終止,那么這個(gè)程序是不會(huì)有結(jié)果的。所以,我們必須知道什么時(shí)候讓循環(huán)終止,即循環(huán)繼續(xù)或循環(huán)終止的條件。
于是,一個(gè)只包含循環(huán)繼續(xù)條件的循環(huán)語句產(chǎn)生了,那就是while語句,具體語法格式為:
while (循環(huán)繼續(xù)的條件)
   語句塊;


while語句要比for語句簡練很多,它只負(fù)責(zé)判斷循環(huán)是否繼續(xù)。所以,我們必須人為地在語句塊中改變參數(shù),使得循環(huán)最終能夠被終止。由于while循環(huán)是在循環(huán)語句塊之前判斷是否繼續(xù)循環(huán),所以又被稱為“當(dāng)型循環(huán)”。

下面讓我們來看一段簡單的程序:(程序5.4.1)
#include "iostream.h"
#include "iomanip.h"
int main()
{
   int password;
   cout <<"請(qǐng)?jiān)O(shè)置一個(gè)四位數(shù)密碼(首位不能是0):" <<endl;
   cin >>password;
   int i=0;
   while (i!=password)//如果密碼沒猜中就繼續(xù)猜
   {
      i++;
   }
   cout <<"破解成功!密碼是" <<i <<endl;
   return 0;
}
運(yùn)行結(jié)果:
請(qǐng)?jiān)O(shè)置一個(gè)四位數(shù)密碼(首位不能是0):
1258
破解成功!密碼是1258

可能有些讀者還沒看懂,上面這段程序到底是什么意思。其實(shí)上面這段程序就是暴力破解密碼的基本原理。假設(shè)某臺(tái)電腦內(nèi)設(shè)置了一個(gè)四位整數(shù)的密碼,我們就可以通過循環(huán)語句讓它不斷地去嘗試猜測(cè),但是我們無法預(yù)知這個(gè)密碼是多少,也就無法知道循環(huán)里的語句塊要執(zhí)行多少次,所以我們應(yīng)該使用while循環(huán),而循環(huán)繼續(xù)的條件就是密碼沒有被猜中。

算法時(shí)間:電腦的猜測(cè)
很多人認(rèn)為,電腦沒有思維,怎么能猜測(cè)呢?其實(shí)這樣就大錯(cuò)特錯(cuò)了。電腦自己是無法猜測(cè)的,但是我們可以使用循環(huán)語句教它如何猜測(cè),更確切地說是教它如何找到。這種使用循環(huán)來查找結(jié)果的方法我們稱為窮舉法。即把所有可能的結(jié)果都去試試看,如果哪個(gè)能對(duì)上號(hào)了,就是我們所要的答案。但是在使用它的時(shí)候我們要注意嚴(yán)密性,如果自己考慮時(shí)漏掉了可能的結(jié)果,那么電腦自然不會(huì)猜出完美的答案來。窮舉法在程序設(shè)計(jì)中使用十分廣泛,甚至很多人腦難以解決的問題,它都能很快地給出答案。

在實(shí)際使用中,我們發(fā)現(xiàn)while語句就像是只有循環(huán)條件的for語句。所以,在某些場合下,while語句和for語句是可以互相轉(zhuǎn)化的。而while語句也有著和for語句類似的嵌套,在這里不作贅述。

導(dǎo)火索——do

在實(shí)際生活中會(huì)有這樣的問題,比如今天是星期一,我們以一周作為一個(gè)循環(huán),那么循環(huán)結(jié)束的條件還是“今天是星期一”。如果我們寫while (今天!=星期一),那么這個(gè)循環(huán)壓根兒就不會(huì)運(yùn)行。因?yàn)?ldquo;今天是星期一”不符合循環(huán)繼續(xù)的條件,已經(jīng)直接使循環(huán)結(jié)束了。

其實(shí)我們只要讓第一次的循環(huán)運(yùn)行起來就是了,然后再寫上while (今天!=星期一),就能達(dá)到我們的目的。如果我們把后面可以發(fā)生的循環(huán)比作能發(fā)生連鎖反應(yīng)的炸藥,那么我們?nèi)鄙俚闹皇且桓鶎?dǎo)火索。而在C++中,就有這么一根導(dǎo)火索——do。它能夠搭配while語句,使得第一次的循環(huán)一定能運(yùn)行起來。它的語法格式是:
do
   語句塊;
while (循環(huán)繼續(xù)的條件);

要注意,這里的while后面是有一個(gè)分號(hào)的,如果缺少了這個(gè)分號(hào),則會(huì)導(dǎo)致錯(cuò)誤。下面就讓我們來看一個(gè)do……while的程序:(程序5.4.2)
#include "iostream.h"
int main()
{
   char inquiry;
   do
   {
      int n;
      cout <<"你要輸出幾個(gè)星號(hào)?" <<endl;
      cin >>n;
      for (int i=0;i<n;i++)//輸出n個(gè)星號(hào)
      {
         cout <<'*';
      }
      cout <<endl;
      cout <<"還要再輸出一行嗎?(n表示不要)" <<endl;
      cin >>inquiry;
   }while (inquiry!='n' && inquiry!='N');
   return 0;
}
運(yùn)行結(jié)果:
你要輸出幾個(gè)星號(hào)?
3
***
還要再輸出一行嗎?(n表示不要)
y
你要輸出幾個(gè)星號(hào)?
2
**
還要再輸出一行嗎?(n表示不要)
y
你要輸出幾個(gè)星號(hào)?
1
*
還要再輸出一行嗎?(n表示不要)
n
在這段程序中,由for語句來控制輸出星號(hào)的個(gè)數(shù)。而do…while語句則是提供了一個(gè)用戶交流的方式,一旦用戶回答n,則退出程序。

算法時(shí)間:命令行下的人機(jī)交流
我們現(xiàn)在所使用的Windows系統(tǒng)稱為圖形用戶界面(GUI——Graphic User Interface),它是一種可以由鼠標(biāo)控制的直觀的操作系統(tǒng)(OS——Operating System)。然而,在圖形用戶界面的操作系統(tǒng)被開發(fā)出來之前,我們只好在DOS環(huán)境下面對(duì)著冷冰冰的電腦,沒有好看的圖標(biāo),也沒有方便的鼠標(biāo)。這種在黑乎乎的屏幕上給電腦下命令的操作模式叫做命令行(Command Line)模式。很顯然,這種模式給用戶很不友好的感覺。所以,我們?cè)谠O(shè)計(jì)一個(gè)完美的命令行程序時(shí),不僅要求它在功能上質(zhì)量上的完美,還要求它能夠提供更好的人機(jī)交流。而程序5.4.2中do……while語句的用法便是高級(jí)語言中簡單而常用的提供人機(jī)交流的方法。

至此,我們學(xué)完了所有常用的的分支語句和循環(huán)語句。這些語句稱為過程化語句。我們可以發(fā)現(xiàn),除了do……while語句以外,所有的過程化語句的末尾是沒有分號(hào)的,而分號(hào)都屬于大括號(hào)內(nèi)的語句或者語句塊。

過程化語句是一個(gè)程序的骨骼。程序的大多數(shù)功能都要依賴過程化語句來實(shí)現(xiàn)。因此,掌握并且能夠靈活運(yùn)用過程化語句對(duì)程序設(shè)計(jì)來說非常重要。在以后的章節(jié)中,我們還會(huì)繼續(xù)學(xué)習(xí)過程化話語句一些更多的使用方法。  
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
天堂在线亚洲| 精品视频vs精品视频| 精品伦理一区二区| 国产成人久久精品77777| 国产欧美日韩专区| 国产精品186在线观看在线播放| 99热在线观看免费| 在线中文字幕视频观看| 日本中文字幕在线观看| 国产偷倩在线播放| 永久免费在线观看| 成年人在线观看| 国产精品久久久久久精| 四虎成年永久免费网站| 中文字幕国产视频| 在线播放国产区| 国产中文字幕在线| 2019年中文字幕| 欧美日韩在线中文字幕| 中文字幕网站视频在线| 亚洲精品影视在线| 中文字幕免费中文| 青青草免费观看免费视频在线| 国产永久免费高清在线观看视频| 国产福利在线免费观看| 国产裸舞福利在线视频合集| japanese色国产在线看视频| 国产精品入口麻豆电影| 日本18视频网站| 国产精品777一区二区| 国产男女av| 亚洲色婷婷综合开心网| 999国产在线视频| 国产视频中文字幕| 天堂资源最新版在线视频观看免费网| 在线看黄色av| 国产极品视频| 国产无遮挡又黄又爽免费网站 | 国产探花在线观看| 超碰在线中文| www.香蕉视频在线观看| 在线视频福利| 亚洲精品午夜级久久久久| 91三级在线| 国产98在线| 精品国产高清a毛片无毒不卡| 国产女王在线**视频| 18加网站在线| 中文字幕在线免费观看| 最新国产在线| 99视频资源网| 国产黄色一级电影| 在线中文字幕av| www.狠狠操| 尤物在线网址| a√在线视频| av色在线观看| 久精品在线观看| 国产一二三区精品视频| 国产精品免费视频二三区| 国产香蕉免费精品视频| 精品视频一二三| 欧美性猛交xxxx免费看久久| 另类专区欧美| 国产不卡视频| 精品街拍一区二区| 九色在线网站| 国产精品伦一区二区三区视频| 精品极品三级久久久久| 久久99精品久久久久久野外| 国产色视频网站| av网址在线播放| 狠狠操五月天| 99reav| 成网站在线观看人免费| 在线免费国产视频| 天天操夜夜操天天射| 96久久久久久| 国产麻豆精品视频一区二区| 91激情在线| 成人欧美日韩| 伊人中文在线| 国产精品伦理一区二区三区| www.av在线| 国产大学生粉嫩无套流白浆| 九色精品视频在线观看| 樱花草在线观看www| 国产网站观看9久| 玖玖在线视频| 日韩不卡高清| 日本不卡视频一区二区| av免费在线观| 在线中文av| 中文av字幕| 在线视频观看亚洲| 国产aa视频| 9999在线视频| 91在线中文| 精品国产高清自在线一区二区三区 | 国产va在线| 国产网站在线免费观看| 高潮白浆视频| 午夜免费福利在线观看| 国产永久免费高清在线观看视频| 亚洲人在线播放| jizz亚洲大全| 久久久久久国产视频| 国产精品臀控福利在线观看| 欧美亚洲另类在线观看| 青青草中文字幕| 免费国产在线视频| 黄网址在线播放免费| 开心激情五月婷婷| 中文字幕视频免费在线观看| 国产精品美女一区二区视频| 国产爆初菊在线观看免费视频网站 | 亚洲国产日韩成人综合天堂| 国产精品视频h| 国产精彩视频在线观看免费蜜芽| 最新国产在线精品91尤物| 国产无遮挡又黄又爽免费软件 | 在线国产1区| 男人天堂亚洲| 国产区视频在线| 在线视频福利| 国内外激情在线| 伊人222成人综合网| 六月天色婷婷| 国产视频资源| 久久精品最新免费国产成人| 国产色a在线| 亚洲xxxxxx| 国产精品国精产品一二| gogo在线观看| 国产区成人精品视频| www在线播放| 国产区视频在线观看| 开心婷婷激情五月| 国产二区在线播放| 免费a在线观看| 伊人影院在线观看| 国产三区四区在线观看| 九九久久久2| 精品剧情v国产在线观看| 国产自产视频| 日本aⅴ写真网站免费| ·天天天天操| 国产系列电影在线播放网址| 麻豆av在线| 日本成人免费网站| 在线黄色国产电影| 2021天堂中文幕一二区在线观| 丁香花视频在线观看| 午夜影院在线| 在线观看av的网站| 在线观看中文字幕的网站| 国产激情网址| 国产色a在线观看| 九九精品九九| 国产美女性感在线观看懂色av| av亚洲男人天堂| 在线视频中文字幕第一页| 国产精品麻豆一区二区三区 | 国产男女av| 国产字幕在线看| 高清av中文在线字幕观看1| 黄色毛片在线观看| 美女网站在线观看| 六月天色婷婷| 激情亚洲综合网| 九九热在线视频观看| 开心丁香婷婷深爱五月| 免费在线观看a| 国产乱妇乱子在线播视频播放网站 | 国产黄色大片在线观看| 国产视频一二三区| 国产精品伦一区二区三区视频 | 91高清国产| 香蕉视频免费在线播放| 亚洲电影视频在线| 黄色毛片在线看| 国产精品自拍在线观看| 国产视频第一区| 国产黄色片大全| 四虎精品成人a在线观看| 国产麻豆一区二区三区精品| 国产黄色免费网站| 青青草视频免费在线观看| 国产免费av高清在线| 国产h色视频在线观看| 波多野结衣中文字幕久久| 最好看更新中文字幕| 精品176二区| 国产免费网址| 国产a国产a国产a| 国产精品自产拍在线网站| 亚洲日本久久久午夜精品| 国产一级免费| 欧美色欧美亚洲另类二区精品| 国产精品被窝福利一区 |