freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c程序設(shè)計(jì)教程:第3章-結(jié)構(gòu)化編程基礎(chǔ)(編輯修改稿)

2024-10-27 16:41 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 一位數(shù) 。 0等于不設(shè) , 由系統(tǒng)決定 。 系統(tǒng)只輸出 5位小數(shù) , 為了將它全部輸出 , 必須設(shè)置 7位 。 由此可寫(xiě)出前 5行輸出 。 ? 程序執(zhí)行 coutoct命令后,將保持八進(jìn)制格式輸出,輸入 100,但輸出仍然按八進(jìn)制,使用coutdec命令將它恢復(fù)為十進(jìn)制方式。 ? 下面語(yǔ)句 coutdecsetiosflags(ios::showpos)bendl。 還將輸出設(shè)置為在正的數(shù)字前面顯示 “ +”號(hào) 。 這個(gè)設(shè)置保持到使用語(yǔ)句 coutresetiosflags(ios::showpos)。 清除該設(shè)置標(biāo)志為止 。 ? 如果單獨(dú)使用語(yǔ)句 “ resetiosflags(ios::showpos)?!?, 則不起作用 。 【 例 】 分析下面程序的輸出。 include iostream include iomanip using namespace std。 void main() { coutsetfill(39。*39。) setw(0)15endl setw(1)15endl setw(2)15endl setw(3)15endl setw(4)15endl。 coutsetw(16)setfill(39。*39。) endl。 coutsetiosflags(ios::right) setw(5)1 setw(5)2 setw(5)3endl。 coutresetiosflags(ios::right)。 coutsetiosflags(ios::left) setw(5)1 setw(5)2 setw(5)3endl。 } ? 域?qū)?n比顯示位數(shù)少時(shí),則不起作用,即不影響顯示。 ? 使用填充字符時(shí), n比顯示位數(shù)大 1時(shí),才發(fā)生填充作用。如程序所示,要顯示 15個(gè) “ *” 號(hào),必須取 n=16。 setfill后面使用 “” “” 才能全部填充為設(shè)定字符 “ *” ,否則將全部填充為空格。程序中使用 15個(gè) “ *” 填充,就是用這種方法實(shí)現(xiàn)的。 ? 清除設(shè)置標(biāo)志之后,才能進(jìn)行新的設(shè)置。程序輸出如下。 15 15 15 *15 **15 *************** ****1****2****3 1****2****3**** 【 例 】 演示使用轉(zhuǎn)義字符的例子。 include iostream using namespace std。 void main( ) { couta\tb\n。 } 假定系統(tǒng)設(shè)置制表符的一個(gè) “ 輸出區(qū) ” 占 8列 , 用□ 代表空格 , 則輸出為: a□□□□□□□ b 關(guān)系運(yùn)算與邏輯運(yùn)算 ? 程序一般是按語(yǔ)句的編寫(xiě)順序依次執(zhí)行的 。 但是 ,如果用程序來(lái)模擬現(xiàn)實(shí)世界 , 則必須控制程序執(zhí)行的走向 。 例如問(wèn)一個(gè)人吃飯沒(méi)有 , 如果沒(méi)吃飯 ,就給他飯吃 , 否則給他一杯茶水 。 這就是根據(jù)是否吃飯的條件決定的 。 ? 為了方便理解 , 可以把控制流程的運(yùn)算方法分為兩類 , 即關(guān)系運(yùn)算和邏輯運(yùn)算 。 其實(shí) , 關(guān)系運(yùn)算是邏輯運(yùn)算的簡(jiǎn)單形式 。 1. 關(guān)系運(yùn)算符及其優(yōu)先順序 ? 關(guān)系運(yùn)算又稱做 “ 比較運(yùn)算 ” 。 將兩個(gè)值進(jìn)行比較 , 判斷比較的結(jié)果是否符合給定的條件 。 條件滿足為真 , 否則為假 。 ? 例如 x 是一個(gè)關(guān)系運(yùn)算式 , 即關(guān)系表達(dá)式 。若 x的值是 6, 那么此表達(dá)式的值為真 。 ? 表 C++ 語(yǔ)言提供的 6種關(guān)系運(yùn)算符及其含義 。 表 C++ 語(yǔ)言提供 6種關(guān)系運(yùn)算符及其含義 關(guān)系運(yùn)算符 含 義 實(shí) 例 小于 xy = 小于等于 x=y 大于 xy = 大于等于 x=y = = 等于 x = = y != 不等于 x !=y ? 前 4種關(guān)系運(yùn)算符( , =, , =)的優(yōu)先級(jí)別相同,后 2種的級(jí)別也相同。但前 4種的級(jí)別高于后 2種。 ? 算術(shù)運(yùn)算符的優(yōu)先級(jí)高于關(guān)系運(yùn)算符。 ? 關(guān)系運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符。 2. 關(guān)系表達(dá)式 ? 用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式 (可以是算術(shù)表達(dá)式或關(guān)系表達(dá)式 、 邏輯表達(dá)式 、 賦值表達(dá)式 、 字符表達(dá)式 ) 連接起來(lái)的式子 , 稱為關(guān)系表達(dá)式 。 例如: ab a+b=dc (x=5)=(y=7) 39。d39。!=39。c? (ab)( bc) 都是關(guān)系表達(dá)式。 ? 關(guān)系表達(dá)式的值是個(gè)邏輯值,即 “ true”和 “ fasle”。C++語(yǔ)言有邏輯 (bool)型數(shù)據(jù)類型,即 ture為 1, false為 0。為兼容 C, 1代表 “ 真 ” , 0代表 “ 假 ” 。 語(yǔ)句 “ bool stop=false?!钡暮x是 “ stop的邏輯值為 0”。 ? 假設(shè) a=4, b=3, c=2 , 對(duì)于如下的表達(dá)式 , 則有: ab 的值為 “ true”, 表達(dá)式的值為 1 。 (ab)==c1的值為 “ true”( 因?yàn)?ab值為 1, 等于 c1的值 ) , 表達(dá)式的值為 1。 abc 的值為 “ true”, 表達(dá)式的值為 1 。 d=bc, d 的值為 1。 e=abc, e 的值為 0 ,因?yàn)?“ ”運(yùn)算符是自左至右運(yùn)算,所以先算 “ ab”的值為 1,再執(zhí)行關(guān)系運(yùn)算:“ 1c”,得值 0賦給 e 。 3. 邏輯運(yùn)算符及其優(yōu)先順序 ? 用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量 ( 即 “ true”或 “ false”) 連接起來(lái)的式子就是邏輯表達(dá)式 。 ? C++ 語(yǔ)言提供如下 3種邏輯運(yùn)算符: && 邏輯與 ( 相當(dāng)于其他語(yǔ)言中的 AND) || 邏輯或 ( 相當(dāng)于其他語(yǔ)言中的 OR) ! 邏輯非(相當(dāng)于其他語(yǔ)言中的 NOT) ? &&和|| 是雙目運(yùn)算符; ! 是單目運(yùn)算符 。 ? 符號(hào) “ |”就是鍵盤第 1排右邊的 “” 號(hào) , 它是上檔鍵 , 而“ \”號(hào)是下檔鍵 。 書(shū)上因?yàn)榕虐娴淖煮w問(wèn)題 , 變成了一條線 “ |”, 編程時(shí)請(qǐng)注意 。 ? 例如 , 對(duì)于 a和 b而言 , 在下面的表達(dá)式中: a&& b 若 a、 b都為真 ( 即 a、 b值均不為 0),則 a&& b 為真 , 否則為假 。 a|| b 如 a、 b都為假 , 則 a|| b為假 , 否則為真 。 !a 若 a為真 , 則 !a為假;若 a為假 , 則 !a為真 。 ? 在一個(gè)邏輯表達(dá)式中如果包含多個(gè)邏輯運(yùn)算符 ,應(yīng)按以下的優(yōu)先次序進(jìn)行運(yùn)算: (1) !( 非 ) → && ( 與 ) → || ( 或 ) , ! 級(jí)別為最高 。 (2) 綜合運(yùn)算時(shí)為: !( 非 ) → 算術(shù)運(yùn)算符 → 關(guān)系運(yùn)算符 → &&和|| → 賦值運(yùn)算符 。 4. 邏輯表達(dá)式 ? 如前所述 , 邏輯表達(dá)式的值應(yīng)該是一個(gè)邏輯量 “ true”或“ false”。 以數(shù)值 1代表 “ true”, 以 0代表 “ false”, 但判斷一個(gè)量是否為 “ true”時(shí) , 以 0代表 “ false”, 以非零代表 “ true”。 即把一個(gè)非 0數(shù)值認(rèn)為 “ true”。 ? 例如: 若 a=2, 則 !a 的值為 0。 a為非 0被認(rèn)為 “ true”, 對(duì)它進(jìn)行非運(yùn)算 , 得 “ false”, 以 0代表 。 若 a=3, b=5, 則 a&& b 的值為 1。 a、 b為 非 0( 即 “ true”) , 因此 a&& b 為 true。 若 a=3, b=5,則 a|| b 的值為 1。 ? 事實(shí)上 , 邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象不但可以是數(shù)值 0和 1, 或者是 0和非 0的整數(shù) , 也可以是任何類型的數(shù)據(jù) , 可以是字符型 、 實(shí)型或?qū)ο蟮鹊?。 ? 要牢記:系統(tǒng)最終以 0 和非 0 來(lái)判定它們是屬于“ true”還是 “ false”。 例如: 39。a39。&& 39。b? 的值為 1 ( 因?yàn)樽帜? a 和字母 b 的 ASCII 碼的值都不為 0,都按 “ true”處理 ) 。 ? 在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的解時(shí),才執(zhí)行該運(yùn)算符。 結(jié)構(gòu)化程序設(shè)計(jì)概述 ? 1966 年, Bohm 和 Jacopini 首次證明了只要 3種控制結(jié)構(gòu)就能表達(dá)用一個(gè)入口和一個(gè)出口的框圖(流程圖)所能表達(dá)的任何程序邏輯。 ? 這 3種控制結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 ? 1968 年 Dijkstra 建議: GOTO 語(yǔ)句太容易把程序弄亂,應(yīng)從一切高級(jí)語(yǔ)言中去掉;只用 3種基本控制結(jié)構(gòu)就可以寫(xiě)各種程序,而這樣的程序可以自頂向下閱讀而不會(huì)返回。 ? 這促進(jìn)一種新的程序設(shè)計(jì)思想、方法和風(fēng)格的形成,以期顯著提高軟件生產(chǎn)效率和降低軟件維護(hù)的代價(jià)。 ? 1972 年 , Mills 進(jìn)一步提出程序只應(yīng)有一個(gè)入口和出口 , 進(jìn)而填補(bǔ)了結(jié)構(gòu)化程序設(shè)計(jì)的原則 。 ? 結(jié)構(gòu)化程序設(shè)計(jì)的概念和方法 , 以及支持這些方法的一整套軟件工具 , 就構(gòu)成了所謂的 “ 結(jié)構(gòu)化革命 ” 。 這是存儲(chǔ)程序計(jì)算機(jī)問(wèn)世以來(lái)對(duì)計(jì)算機(jī)界影響最大的一個(gè)軟件概念 。 ? 順序結(jié)構(gòu)是最簡(jiǎn)單而基本的結(jié)構(gòu),它是順序執(zhí)行各個(gè)語(yǔ)句,所以不再贅述。 C++語(yǔ)言的結(jié)構(gòu)化程序設(shè)計(jì)的語(yǔ)句稱為程序控制結(jié)構(gòu),又可分為控制循環(huán)和控制選擇(選擇結(jié)構(gòu))。 控制選擇結(jié)構(gòu) 用 if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)設(shè)計(jì) 用 switch 語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)設(shè)計(jì) 用 if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)設(shè)計(jì) 1. if 語(yǔ)句 if語(yǔ)句在 C++語(yǔ)言里的基本形式有兩種 , 即: ① if( 表達(dá)式 ) 語(yǔ)句 1; ② if( 表達(dá)式 ) 語(yǔ)句 1; else 語(yǔ)句 2; ? 這兩種語(yǔ)句形式均可用來(lái)設(shè)計(jì)選擇結(jié)構(gòu)程序 。 圖 if語(yǔ)句流程圖 , 圖 if ~else語(yǔ)句流程圖 。無(wú)論哪種形式的 if語(yǔ)句 , 都需要首先判斷括號(hào) “ ( )”內(nèi)的表達(dá)式的值 。 ? 對(duì)第 1種形式而言 , 若該值不為 0, 條件判斷的值為 true, 則執(zhí)行 “ ( )”后的語(yǔ)句 1;若為 0, 條件判斷的值為 false, if語(yǔ)句執(zhí)行終止 。 它的目的是根據(jù)需要執(zhí)行語(yǔ)句 1, 然后繼續(xù)執(zhí)行其他語(yǔ)句 。 ? 對(duì)第 2種形式而言 , 根據(jù)條件判斷的值執(zhí)行不同的語(yǔ)句 。 條件為 true, 執(zhí)行語(yǔ)句 1, 否則執(zhí)行語(yǔ)句 2。 ? 在所有控制語(yǔ)句中 , 人們習(xí)慣把 “ ( )”內(nèi)的表達(dá)式叫做條件表達(dá)式 。 ? if語(yǔ)句就是根據(jù)條件表達(dá)式是否為 0, 來(lái)選擇執(zhí)行相應(yīng)語(yǔ)句的 。 ? 在 C++語(yǔ)言里 , 凡是能用簡(jiǎn)單語(yǔ)句的地方都可以使用復(fù)合語(yǔ)句 。 ? if語(yǔ)句 ( 其他控制語(yǔ)句也如此 ) 中的語(yǔ)句 1和語(yǔ)句 2都可以是復(fù)合語(yǔ)句 。 【 例 】 使用 if ~else語(yǔ)句,編寫(xiě)比較 a、b兩個(gè)數(shù)的大小,且把大者賦給變量 x,小者賦給 y的程序 。 include iostream using namespace std。 void main( ) { int a=2, b=3, x=0, y=0。 if ( ab ) { x=a。 y=b。 } // 使用復(fù)合語(yǔ)句 else { x=b。 y=a。 } // 使用復(fù)合語(yǔ)句 coutx=x,y=yendl。 } ? 該例中 , 因?yàn)?a的值為 2, b的值為 3, 關(guān)系式 ab不成立 , 其值為 0, 于是執(zhí)行 else后的復(fù)合語(yǔ)句 { x=b。 y=a。 }。 ? If語(yǔ)句執(zhí)行完畢后 , x里存有 b的值 , y里存有 a的值 。 2. if語(yǔ)句的嵌套 可以在第 1個(gè) if語(yǔ)句中的 else后 , 放上第 2個(gè) if語(yǔ)句;而在第 2個(gè) if語(yǔ) 句的 else后又接放上第 3個(gè) if語(yǔ)句;以此類推 ,構(gòu)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1