亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 02章 控制結(jié)構(gòu).txt

?? C++大學(xué)教程txt版中文版 C++大學(xué)教程txt版中文版
?? TXT
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
    counter=1;
聲明不是可執(zhí)行語(yǔ)句,但賦值是可執(zhí)行語(yǔ)句。我們用兩種方法將變量初始化。
    下列語(yǔ)句:
    ++counter;
在每次循環(huán)時(shí)將循環(huán)計(jì)數(shù)器的值加1。while結(jié)構(gòu)中的循環(huán)條件測(cè)試控制變量的值是否小于或等于10
(條件為true的終值)。注意,即使控制變量是10時(shí),這個(gè)while結(jié)構(gòu)體仍然執(zhí)行??刂谱兞砍^(guò)10
時(shí)(即counter變成11時(shí)),循環(huán)終止。
    圖2.16的程序也可以更加簡(jiǎn)化,將counter初始化為。并將while結(jié)構(gòu)換成:
    while (++counter <= lO)
    cout << counter << endl;
這段代碼減少了語(yǔ)句,直接在while條件中先增加計(jì)數(shù)器的值再測(cè)試條件。這段代碼還消除了while
結(jié)構(gòu)體的花括號(hào),因?yàn)檫@時(shí)while只包含一條語(yǔ)句。

    常見(jiàn)編程錯(cuò)誤2.12
    由于浮點(diǎn)值可能是近似值,用浮點(diǎn)變量控制計(jì)數(shù)循環(huán)可能導(dǎo)致不精確的計(jì)數(shù)器值,使測(cè)試的結(jié)果不準(zhǔn)確。
    編程技巧2.15
    用整數(shù)值杜制計(jì)數(shù)循環(huán)。
    編程技巧2.16
    縮排每個(gè)控制結(jié)構(gòu)體中的語(yǔ)句。
    編程技巧2.17
    在每個(gè)控制結(jié)構(gòu)前后加上空行,使其在程序中一目了然。
    編程技巧2.18
    嵌套太多會(huì)使程序難以理解。一般來(lái)說(shuō),縮排不宜超過(guò)三層。
    編程技巧2.19
    在每個(gè)控制結(jié)構(gòu)前后加上空行,并縮排每個(gè)控制結(jié)構(gòu)體中的語(yǔ)句使程序產(chǎn)生二維效果,大大增加可讀性。

2.14  for重復(fù)結(jié)構(gòu)
    for重復(fù)結(jié)構(gòu)處理計(jì)數(shù)器控制循環(huán)的所有細(xì)節(jié)。要演示for的功能,可以改寫(xiě)圖2.16的程序,結(jié)果如圖2.17。
    執(zhí)行for重復(fù)結(jié)構(gòu)時(shí),聲明控制變量counter并將其初始化為1。然后檢查循環(huán)條件counter<=10。由于counter的初始值為1,因此條件滿足,打印Counter的值(1)。然后在表達(dá)式Counter++中遞增控制變量counter,再次進(jìn)行循環(huán)和測(cè)試循環(huán)條件。由于這時(shí)控制變量等于2,沒(méi)有超過(guò)最后值,因此程序再次執(zhí)行語(yǔ)句體。這個(gè)過(guò)程一直繼續(xù),直到控制變量counter遞增到11,使循環(huán)條件的測(cè)試失敗,重復(fù)終止。程序繼續(xù)執(zhí)行for結(jié)構(gòu)后面的第一條語(yǔ)句(這里是程序末尾的return浯句)。

1 // Fig. 2.17:fig02 17.cpp
2 // Counter-controlled repetition with the for structure
3 #include <iostream.h>
4
5 int main()
6 {
7    // Initialization, repetition condition, and incrementing
8    // are all included in the for structure header.
9
10   for ( iht counter = 1; counter <= 10; counter++ )
11     cout << counter << endl;
12
13   return O;
14 }

                              圖 2.17 用for結(jié)構(gòu)的計(jì)數(shù)器控制重復(fù)

圖2.18更進(jìn)一步研究了圖2.17中的for結(jié)構(gòu)。注意for結(jié)構(gòu)指定計(jì)數(shù)器控制重復(fù)所需的每個(gè)項(xiàng)目。如果for結(jié)構(gòu)體中有多條語(yǔ)句,則應(yīng)把語(yǔ)句體放在花括號(hào)中。
    注意圖2.17用循環(huán)條件counter<=10。如果循環(huán)條件變?yōu)閏ounter<lO,則循環(huán)只執(zhí)行9次,這種常見(jiàn)的邏輯錯(cuò)誤稱(chēng)為差1錯(cuò)誤。
    
                for
               關(guān)鍵字   控制變量名           控制變量終值
                 ↓         ↓                     ↓
                for ( int counter = 1; counter <= 10; counter++)
                                       -------------
                                    ↑          ↑           ↑
                            控制變量初始化   循環(huán)條件     控制變量遞增

                                   圖 2.18 典型for首部的組件

    常見(jiàn)編程錯(cuò)誤2.13
    while或for條件中使用不正確的關(guān)系運(yùn)算符和不正確的循環(huán)計(jì)數(shù)器終值會(huì)導(dǎo)致差1的錯(cuò)誤。

 編程技巧2.20
    在while或for條件中使用終值和用關(guān)系運(yùn)算符<=可以避免差1的錯(cuò)誤。例如,對(duì)打印1到10的循環(huán),循
環(huán)條件應(yīng)為counter<=10而不是counter<10(導(dǎo)致差1錯(cuò)誤)或counter(雖然正確)。許多程序員喜歡基
于O的計(jì)數(shù),在循環(huán)中重復(fù)10次.courter初姑化為O,循環(huán)條件測(cè)試為counter<10。
    for結(jié)構(gòu)的一般格式如下:
    for(expression1;expression2;expression3)
        statement
其中expression1初始化循環(huán)控制變量的值,expression2是循環(huán)條件,expression3遞增控制變量。大
多數(shù)情況下,for結(jié)構(gòu)可以表示為等價(jià)的while結(jié)構(gòu):
    expression1
    while(expression2){
        statement
        expression3;
    }
惟一的例外將在2.18節(jié)介紹。
    如果for結(jié)構(gòu)首部中的expression1(初始化部分)定義控制變量(即控制變量類(lèi)型在變量名前
面指定).則該控制變量只能在for結(jié)構(gòu)體中使用,即控制變量值是for結(jié)構(gòu)之外所未知的。這種限
制控制變量名的用法稱(chēng)為變量的作用域(scope)。變量的作用域定義其在程序中的使用范圍。作用
域?qū)⒃诘?章“函數(shù)”中介紹。

    常見(jiàn)編程錯(cuò)誤2.14
    如果for結(jié)構(gòu)首部中的初始化部分定義控制變量,則在該結(jié)構(gòu)體之后使用這個(gè)控制變量是個(gè)語(yǔ)法錯(cuò)誤。
    可移植性提示2.1
    在新的C++草案標(biāo)準(zhǔn)中,for結(jié)構(gòu)初始化部分聲明的控制變量范圍與舊式的C++編譯器中不同。舊式的c++編譯器產(chǎn)生的C++代碼在支持新的C++草案標(biāo)準(zhǔn)妁編譯器中編譯時(shí)可能遭到破壞。可以用兩個(gè)編工程策略防止這個(gè)問(wèn)題:在每個(gè)for結(jié)構(gòu)中定義不同名稱(chēng)的控制變量或者在多個(gè)for結(jié)構(gòu)中定義相同名稱(chēng)的控制變量,并在第一個(gè)for循環(huán)之外和之前定義控制變量。
    有時(shí),exprossion1和expression3是由逗號(hào)分開(kāi)的表達(dá)式列表。這里用逗號(hào)作為逗號(hào)運(yùn)算符(comma operator),保證從左向右求值表達(dá)式列表。逗號(hào)運(yùn)算符在所有C++運(yùn)算符中的優(yōu)先級(jí)量低。逗號(hào)分隔表達(dá)式列表的值和類(lèi)型是列表中最右邊表達(dá)式的值和類(lèi)型。逗號(hào)運(yùn)算符最常用于for結(jié)構(gòu),其主要用途是讓程序員使用多個(gè)初始化表達(dá)式或多個(gè)遞增表達(dá)式。例如,一個(gè)for結(jié)構(gòu)中可能有多個(gè)控制變量需要初始化和遞增。
    
    編程技巧2.21
    只把涉及控制變量的表達(dá)式放在for結(jié)構(gòu)的初始化和遞增部分。其他變量的操作應(yīng)放在循環(huán)之前(如果像初初化語(yǔ)句一樣只執(zhí)行一次)或循環(huán)體中(如果對(duì)每個(gè)循環(huán)環(huán)執(zhí)行一次,如遞增和遞減語(yǔ)句)。
    for結(jié)構(gòu)中的三個(gè)表達(dá)式是可選的。如果省略expression2,則C++假設(shè)循環(huán)條件為真,從而生成無(wú)限循環(huán)。如果程序其他地方初始化控制變量,則可以省略expression1。如果for語(yǔ)句體中的語(yǔ)句計(jì)算增量或不需要增量,則可以省略expression3。for結(jié)構(gòu)中的增量表達(dá)式就像是for語(yǔ)句體末尾的獨(dú)立語(yǔ)句。因此,下列表達(dá)式:
    counter = counter + 1;
    counter += 1;
    ++counter;
    counter++;
在for結(jié)構(gòu)的遞增部分都是等價(jià)的。許多程序員喜歡counter++,因?yàn)檫f增在執(zhí)行循環(huán)體之后發(fā)生,因此,后置自增形式似乎更自然。由于這里遞增的變量沒(méi)有出現(xiàn)在表達(dá)式中,因此前置自增與后置自增的效果相同。for結(jié)構(gòu)首部中的兩個(gè)分號(hào)是必需的。

    常見(jiàn)編程錯(cuò)誤2.15
    for結(jié)構(gòu)首部中的兩個(gè)分號(hào)改成逗號(hào)會(huì)造成語(yǔ)法錯(cuò)誤。
    常見(jiàn)編程錯(cuò)誤2.16
    將分號(hào)放在for結(jié)構(gòu)首部的右括號(hào)后面令使該for結(jié)構(gòu)體變?yōu)榭照Z(yǔ)句.通常是個(gè)邏輯錯(cuò)誤。
    軟件工程視點(diǎn)2.9
    將分號(hào)放在緊接著for結(jié)構(gòu)首部的后面有時(shí)可以生成所謂的延遲循環(huán)。這種for的循環(huán)體是空語(yǔ)句,表示計(jì)算空循環(huán)的次數(shù)。例如,可以用空循環(huán)減慢程序速度,以避免其在屏幕上輸出太快,無(wú)法閱讀。
  
    for結(jié)構(gòu)的初始化、循環(huán)條件和遞增部分可以用算術(shù)表達(dá)式。例如,假設(shè)x=2和y=10,如果x和y的值在循環(huán)體中不被修改,則下列語(yǔ)句:
    for (int j= x; j <= 4* x* y; j += y/ x )
等于下列語(yǔ)句:
    for(int j=2;j<=80;j+=5)
    for結(jié)構(gòu)的增量也可能是負(fù)數(shù)(實(shí)際上是遞減,循環(huán)向下計(jì)數(shù))。
    如果循環(huán)條件最初為false,則for結(jié)構(gòu)體不執(zhí)行,執(zhí)行for后面的語(yǔ)句。
    for結(jié)構(gòu)中經(jīng)常打印控制變量或用控制變量進(jìn)行計(jì)算,控制變量常用于控制重復(fù)而不在for結(jié)構(gòu)
體中提及這些控制變量。
    
    編程技巧2.22
    盡管控制變量值可以在for循環(huán)體中改變,但最好不要這樣做,固為這樣可能造成一定的邏輯錯(cuò)誤。
    for結(jié)構(gòu)的流程圖與while結(jié)構(gòu)相似。例如,圖2.19顯示了下列for語(yǔ)句的流程圖:
    for(int counter=l;counter>=10;counter++)
    cout<< counter<< endl;
從這個(gè)流程圖可以看出初始化發(fā)生一次,井在每次執(zhí)行結(jié)構(gòu)體語(yǔ)句之后遞增。注意,流程圖(除了小圓框和流程之外)也只能包含表示操作的矩形框和表示判斷的菱形框。這是我們強(qiáng)調(diào)的操作/判斷編程模型。程序員的任務(wù)就是根據(jù)算法使用堆棧和嵌套兩種方法組合其他幾種控制結(jié)構(gòu),然后在這些框中填入算法所要的操作和判斷,從而生成程序。






2.15 for結(jié)構(gòu)使用舉例
    下面的例子顯示for結(jié)構(gòu)中改變控制變量的方法。在每個(gè)例子中.我們都編寫(xiě)相應(yīng)的for結(jié)構(gòu)首部。注意循環(huán)中遞減控制變量的關(guān)系運(yùn)算符的改變。
    a)將控制變量從1變到100,增量為1。
      for(int i=l;i<=100;i++)
    b)將控制變量從100變到1,增量為-1。
      for(int i=100;i>=1; i--)
    
    常見(jiàn)編程錯(cuò)誤2.17
    循環(huán)向下計(jì)數(shù)時(shí)如果循環(huán)條件中不使用正確的關(guān)系運(yùn)算符(如在向下計(jì)算到1的循環(huán)中使用i<=1)通常是個(gè)邏輯錯(cuò)誤,會(huì)在程序運(yùn)行時(shí)產(chǎn)生錯(cuò)誤結(jié)果。
   
    c)控制變量的變化范圍為7到77。
      for(int i= 7;i <= 77; i+= 7)
    d)控制變量的變化范圍為20到2。
      for(int i=20;i>=2;i-=2)
    c)按所示數(shù)列改變控制變量值:2、‘、8、11、14、17、20。
      for(int j=2;j<=20;j+=3)
    f)按所示數(shù)列改變控制變量值:99、88、77、66、55、44、33、22、ll、O。
     for(int j=99; j>=O;  j-=11)
    下面兩個(gè)例子提供for結(jié)構(gòu)的簡(jiǎn)單應(yīng)用。圖2.20所示的程序用for結(jié)構(gòu)求2到100的所有整數(shù)的總和。
注意圖2.20中for結(jié)構(gòu)體可以用下列逗號(hào)運(yùn)算符合并成for首部的右邊部分:
for(int number = 2;                   // initialization
        number <= 100;                   // continuation condition
        sum += number, number += 2)         // total and increment
初始化sum=0也可以合并到for的初始化部分。

1 // Fig. 2.20: figO2_20.cpp
2 // Summation with for
3 #include <iostream.h>
4
5 int main()
6 {
7    int sum = O;
8
9    for (int number = 2; number <= 100; number += 2 )
10   sum += number;
11
12   cout << "Sum is "<< sum << endl;
13
14   return O;
15 }

  輸出結(jié)果:
    sum  is 2550
                                  圖2.20  用for語(yǔ)句求和
    
    編程技巧2.23
    盡管for前面的語(yǔ)句和for結(jié)構(gòu)體的語(yǔ)句通??梢院喜⒌絝or的首部中,但最好不要這么做,因?yàn)檫@樣會(huì)使程序更難閱讀。
    編程技巧1.24
    盡可能將控制結(jié)構(gòu)首部的長(zhǎng)度限制為一行。
    下列用for結(jié)構(gòu)計(jì)算復(fù)利。考慮下列問(wèn)題:
    一個(gè)人在銀行存款1000.00美元,每利率為5%。假設(shè)所有利息留在賬號(hào)中,則計(jì)算10年間每年年末的金額并打印出來(lái)。用下列公式求出金額:
    a=P(1+r)n
其中:
    P是原存款(本金)
    r是年利率
    n是年數(shù)
    a是年未本息
    這個(gè)問(wèn)題要用一個(gè)循環(huán)對(duì)10年的存款進(jìn)行計(jì)算。解答如圖2.21
for結(jié)構(gòu)執(zhí)行循環(huán)體10次,將控制變量從1變到10,增量為1。C++中沒(méi)有指數(shù)運(yùn)算符,因此要用標(biāo)準(zhǔn)庫(kù)函數(shù)pow。函數(shù)pow(x,y)計(jì)算x的y次方值。函數(shù)pow取兩個(gè)類(lèi)型為double的參數(shù)并返回double值。類(lèi)型double與float相似,但double類(lèi)型的變量能存放比f(wàn)loat精度更大的數(shù)值。C++把常量(如圖2.21中的1000.0和.05)當(dāng)作double類(lèi)型處理。
1 // Fig. 2.21: fig02_21.cpp
2 // Calculating compound interest
3 #include <iostream.h>
4 #include <iomanip.h>
5 #include <math.h>
6
7 int main()
8 {
9    double amount,           // amount on deposit
10         principal = 1000.0,  // starting principal
11         rate = .05;        // interest rate
12
13   cout << 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲va国产va欧美va观看| 欧美男生操女生| 色综合激情久久| 91麻豆精品国产91久久久 | 日韩黄色一级片| 韩国精品久久久| 色综合天天在线| 91精品一区二区三区久久久久久 | 激情欧美日韩一区二区| 成人免费看片app下载| 在线视频一区二区免费| 精品日韩一区二区三区| 中文字幕一区在线观看视频| 人人狠狠综合久久亚洲| 成人午夜在线免费| 欧美一级二级三级蜜桃| 亚洲国产精品精华液ab| 日韩va亚洲va欧美va久久| 不卡一区二区在线| 欧美大胆人体bbbb| 亚洲美女少妇撒尿| 国模一区二区三区白浆| 欧美主播一区二区三区美女| 久久一区二区三区四区| 亚洲成人av一区二区| 国产99一区视频免费| 制服丝袜激情欧洲亚洲| 亚洲欧美日本韩国| 国产一区二区三区综合| 精品1区2区3区| 亚洲欧洲一区二区三区| 激情综合色丁香一区二区| 91国在线观看| 国产精品嫩草影院av蜜臀| 欧美a一区二区| 欧美中文字幕亚洲一区二区va在线| 久久亚洲综合色一区二区三区| 性做久久久久久免费观看| 成人18视频日本| 精品精品欲导航| 午夜久久久久久电影| 99re免费视频精品全部| 国产日韩欧美不卡在线| 久久国产剧场电影| 欧美高清一级片在线| 亚洲欧美经典视频| 成人黄色777网| 国产三级精品三级| 黄色资源网久久资源365| 欧美疯狂做受xxxx富婆| 亚洲激情校园春色| 91麻豆精东视频| 国产精品久久二区二区| 国产成人亚洲综合a∨婷婷图片| 日韩一级视频免费观看在线| 五月天中文字幕一区二区| 99re66热这里只有精品3直播| 久久精品欧美日韩精品| 久久精品国产一区二区| 日韩三级精品电影久久久| 亚洲国产精品久久艾草纯爱| 色狠狠一区二区| 亚洲欧美激情在线| 91蝌蚪国产九色| 亚洲色图欧美偷拍| 色综合亚洲欧洲| 亚洲视频资源在线| 91麻豆国产精品久久| 亚洲欧美日本在线| 色婷婷亚洲精品| 一区二区三区在线观看视频| 色妞www精品视频| 一区二区视频在线| 色94色欧美sute亚洲13| 亚洲一区二区三区四区五区中文| 在线观看免费亚洲| 亚洲va国产va欧美va观看| 欧美放荡的少妇| 麻豆成人av在线| 精品欧美黑人一区二区三区| 久久电影网站中文字幕| 久久久久免费观看| 国产91露脸合集magnet| 国产精品嫩草影院av蜜臀| 99久久精品免费看国产| 亚洲欧美在线视频| 欧美在线短视频| 丝袜a∨在线一区二区三区不卡| 欧美猛男超大videosgay| 日本大胆欧美人术艺术动态| 欧美成人官网二区| 国产91在线观看丝袜| 亚洲视频一二区| 欧美日韩高清一区二区| 奇米影视在线99精品| 久久久久久电影| 99久久综合狠狠综合久久| 一区二区三区中文字幕在线观看| 欧美日韩一区二区欧美激情| 七七婷婷婷婷精品国产| 欧美国产禁国产网站cc| 色国产综合视频| 青青草原综合久久大伊人精品优势 | 精品久久久久av影院| 国产91精品一区二区麻豆网站| 18成人在线观看| 欧美精品电影在线播放| 韩国理伦片一区二区三区在线播放| 日本一区二区动态图| 欧洲激情一区二区| 久久国产乱子精品免费女| 国产精品久久久久一区| 欧美日本在线视频| 国产成人在线视频网站| 亚洲精品水蜜桃| 日韩精品一区二区三区老鸭窝| 国产精品一区久久久久| 一区二区三区加勒比av| 日韩美女在线视频| 不卡av在线免费观看| 午夜激情一区二区三区| 久久精品一区八戒影视| 欧美色窝79yyyycom| 韩国三级中文字幕hd久久精品| 亚洲欧美综合另类在线卡通| 日韩视频免费观看高清在线视频| 波多野结衣在线aⅴ中文字幕不卡| 亚洲一区二区不卡免费| 久久影音资源网| 欧美日韩不卡一区二区| 国产suv精品一区二区三区| 香蕉成人啪国产精品视频综合网| 国产偷国产偷精品高清尤物| 欧美男女性生活在线直播观看| 丁香婷婷综合激情五月色| 日韩av中文字幕一区二区三区| 国产精品久久二区二区| 欧美哺乳videos| 欧美日韩一区二区欧美激情| 成人av网址在线观看| 久久狠狠亚洲综合| 亚洲一区二区三区四区在线观看| 国产目拍亚洲精品99久久精品| 欧美精选一区二区| 99re在线视频这里只有精品| 激情综合色播激情啊| 日韩精品亚洲一区二区三区免费| ...xxx性欧美| 欧美国产综合色视频| 精品久久久久久久久久久久包黑料 | 日韩精品一区二区三区视频在线观看 | 欧美群妇大交群中文字幕| 99综合影院在线| 国产伦精品一区二区三区免费迷| 天天影视涩香欲综合网| 一区二区三区不卡视频在线观看 | 粉嫩13p一区二区三区| 久久精品国产99国产精品| 亚洲高清不卡在线观看| 中文字幕一区二区三区在线不卡| 久久婷婷色综合| 日韩视频在线你懂得| 欧美美女直播网站| 欧美视频一区二区| 日本精品一级二级| 91女神在线视频| av一二三不卡影片| 国产成人aaa| 国产成a人无v码亚洲福利| 久久66热re国产| 精品一区中文字幕| 蓝色福利精品导航| 美女视频免费一区| 日韩不卡一二三区| 日本欧美韩国一区三区| 视频在线观看一区| 午夜久久久久久| 日韩国产精品久久| 青青草精品视频| 麻豆91免费观看| 久久精品免费看| 激情综合色播激情啊| 精品一区二区三区在线视频| 极品少妇一区二区三区精品视频 | 久久九九久精品国产免费直播| 精品国产污网站| 久久婷婷国产综合精品青草| 精品日产卡一卡二卡麻豆| 精品国产91久久久久久久妲己| 精品国产乱码久久久久久久| 精品乱人伦一区二区三区| 精品少妇一区二区三区在线视频| 日韩欧美国产一区二区三区 | 国产不卡免费视频| 成人动漫一区二区在线| 91蜜桃在线观看| 欧美日韩在线综合| 欧美一级日韩不卡播放免费| 日韩精品一区二区在线观看| 久久精品一区二区三区四区|