亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

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

2020-05-23 14:28:05
字體:
來源:轉載
供稿:網友
我們已經學習了for語句的循環,并且知道for語句習慣上是用在已知循環次數的情況下的。但是,人不具有先知的能力,有些時候我們無法預知一個循環要進行幾次,那我們該怎么辦呢?

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


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

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

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

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

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

導火索——do

在實際生活中會有這樣的問題,比如今天是星期一,我們以一周作為一個循環,那么循環結束的條件還是“今天是星期一”。如果我們寫while (今天!=星期一),那么這個循環壓根兒就不會運行。因為“今天是星期一”不符合循環繼續的條件,已經直接使循環結束了。

其實我們只要讓第一次的循環運行起來就是了,然后再寫上while (今天!=星期一),就能達到我們的目的。如果我們把后面可以發生的循環比作能發生連鎖反應的炸藥,那么我們缺少的只是一根導火索。而在C++中,就有這么一根導火索——do。它能夠搭配while語句,使得第一次的循環一定能運行起來。它的語法格式是:
do
   語句塊;
while (循環繼續的條件);

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

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

至此,我們學完了所有常用的的分支語句和循環語句。這些語句稱為過程化語句。我們可以發現,除了do……while語句以外,所有的過程化語句的末尾是沒有分號的,而分號都屬于大括號內的語句或者語句塊。

過程化語句是一個程序的骨骼。程序的大多數功能都要依賴過程化語句來實現。因此,掌握并且能夠靈活運用過程化語句對程序設計來說非常重要。在以后的章節中,我們還會繼續學習過程化話語句一些更多的使用方法。  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
www.欧美精品| 国产精品成人久久久久| 亚洲xxxx做受欧美| 中文字幕亚洲在线| 国产精品久久久久久亚洲调教| 国产精品嫩草影院一区二区| 亚洲最新av在线网站| 日韩免费av一区二区| 中文字幕精品久久久久| 亚洲码在线观看| 91精品国产综合久久香蕉922| 日韩免费精品视频| 91视频国产高清| 91九色视频在线| 日韩欧美国产中文字幕| 91久热免费在线视频| www.欧美精品| 久久韩国免费视频| 性欧美xxxx视频在线观看| 国产精品成人免费电影| 国内精品国产三级国产在线专| 亚洲午夜激情免费视频| 国产精品香蕉国产| 91夜夜未满十八勿入爽爽影院| 日韩电影第一页| 成人欧美一区二区三区在线湿哒哒| 亚洲肉体裸体xxxx137| 亚洲春色另类小说| 91精品国产91久久久久久| 亚洲激情视频在线| 亚洲自拍偷拍视频| 成人a级免费视频| 国产高清在线不卡| 欧美黑人巨大xxx极品| 欧美成在线视频| 激情亚洲一区二区三区四区| 国产精品久久久久免费a∨| 国产一区二区三区网站| 日韩在线资源网| 国产精品极品在线| 久久九九热免费视频| 久久在线视频在线| 日韩不卡中文字幕| 清纯唯美亚洲激情| 96精品久久久久中文字幕| 欧美午夜无遮挡| 久久婷婷国产麻豆91天堂| 亚洲精品999| 久久高清视频免费| 亚洲色图综合久久| 成人免费高清完整版在线观看| 亚洲一区二区三区乱码aⅴ| 亚洲美女动态图120秒| 日韩精品免费在线观看| 精品国产一区二区三区四区在线观看| 久久精品男人天堂| 久久99热这里只有精品国产| 欧美体内谢she精2性欧美| 欧美最猛性xxxxx免费| 欧美日本在线视频中文字字幕| 国产精品久久久久久五月尺| 欧美高清视频在线| 欧美最顶级的aⅴ艳星| 久久久久久国产免费| 国产精品极品美女在线观看免费| 国产精品久久在线观看| 久久精品最新地址| 欧美视频在线观看免费| 中文字幕精品在线| 国产精品久久久久aaaa九色| 亚洲香蕉av在线一区二区三区| 中文字幕日韩在线观看| 国产精品一区久久久| 欧美影院久久久| 性欧美长视频免费观看不卡| 91av在线播放视频| 欧美巨大黑人极品精男| 91国产高清在线| 午夜精品国产精品大乳美女| 亚洲欧美日韩在线一区| 欧美性xxxxhd| 亚洲欧美中文另类| 欧美日韩一区二区免费视频| 色综合导航网站| 欧美成人自拍视频| 国产精品稀缺呦系列在线| 欧美国产日韩一区| 亚洲国产精品va在线看黑人动漫| 国产精品6699| 亚洲欧美国产精品专区久久| 国产一区二区视频在线观看| 欧美极品美女电影一区| 久久久精品亚洲| 国产精品国内视频| 国产精品一区久久久| 日韩欧美中文第一页| 亚洲人成人99网站| 亚洲综合日韩在线| 一区二区福利视频| 久久久亚洲精选| 国产在线视频91| 日韩免费av片在线观看| 亚洲精品美女在线| 国产精品专区h在线观看| 亚洲国产天堂久久综合网| 欧美另类在线观看| 国产精品久久久久久久av大片| 中文字幕亚洲无线码在线一区| 国产一区视频在线播放| 精品一区精品二区| 精品久久久久久中文字幕大豆网| 久青草国产97香蕉在线视频| 精品福利在线看| 92福利视频午夜1000合集在线观看| 91中文在线观看| 久久久久999| 欧美日韩亚洲一区二区三区| 91久久夜色精品国产网站| 欧美一性一乱一交一视频| 久久视频免费在线播放| 国产一区二区三区直播精品电影| 亚洲天堂视频在线观看| 精品国偷自产在线| 伦理中文字幕亚洲| 欧美午夜激情视频| 亚洲综合成人婷婷小说| 91sao在线观看国产| 日韩电影中文字幕在线观看| 国产精品久久久久久久久久ktv| 欧美日韩国产综合视频在线观看中文| 日韩激情视频在线播放| 欧美精品电影在线| 久久97久久97精品免视看| 亚洲一区二区黄| 欧洲中文字幕国产精品| 一区二区三区四区在线观看视频| 国产色综合天天综合网| xxav国产精品美女主播| 日本午夜在线亚洲.国产| 亚洲欧美另类中文字幕| 爱福利视频一区| 久久久免费在线观看| 日韩美女中文字幕| 国产精欧美一区二区三区| 懂色av一区二区三区| 久久久中文字幕| 国内偷自视频区视频综合| 色综合久久中文字幕综合网小说| 久久精品电影网站| 色综合久久中文字幕综合网小说| 国产精品久久久久av免费| 日韩精品久久久久久久玫瑰园| 亚洲激情 国产| 富二代精品短视频| 欧美精品18videosex性欧美| 亚洲国产天堂久久国产91| 日韩暖暖在线视频| 性色av一区二区三区红粉影视| 日韩欧美亚洲综合| 亚洲午夜av电影| 久久久女人电视剧免费播放下载| 日韩av色综合| 日本在线观看天堂男亚洲| 欧美与黑人午夜性猛交久久久|