


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第八講:順序結構程序設計舉例所謂的順序結構就是從頭到尾一步步按部就班的執行下去,不會中途出現放 棄或者跳轉的情況。利用這樣的思想實現的程序我們稱之為順序結構程序。在前 面學習了許多知識點之后我們就可以開始最根本的順序結構程序的設計了。8.1順序結構所謂的順序結構可以用一個成語形容叫“按部就班。任何事情都遵循著先 做什么,再做什么的思想進行。這樣的結構是我們日常生活中最常見的結構。在順序結構中當一件事情開始后就再也不會停下,直到最后一步完成,整件事情做完為止,中途不會有放棄或者選擇性放棄的過程。8.2經典算法一數據交換很多語言的程序設計大多數都是從數據交換這個最經典的算法開始的,所謂的數據交換是
2、將兩個同等性質的物質進行對換,例如有兩個整數a和b, a = 1,b = 2,在交換之后,使得a = 2,b = 1。交換的算法是由于變量的性質所決定的,由于變量在同一時刻只能夠存儲一 個數據,因此我們不能直接使用 a = b,b = a的方式對數據進行交換。此時我們就 需要想出一些方法,幫助程序實現最正確的交換。對于任何的數據我們都可以采用“第三變量法進行交換。所謂的“第三變量法即借助第三個變量實現對數據的交換,例如對 a和b的數據交換,就有:t = a; a = b; b = t;接下來我們將通過如下示意圖對“第三變量法進行簡單的介紹:b在程序未執行交換前,a = 1,b = 2。在執行交
3、換算法的過程中,首先執行“t = a 一句,將a中的值1轉移到t中暫存,接下來執行“ a = b; 一句,將b之中 的值2存放到變量a中,a中原先的1被覆蓋;最后執行“ b = t; 一句,將t中 所暫存的原先a的值1存放到變量b中,b中原有的2被覆蓋。此時a = 2,b = 1,t當然,讀者也可以使用先暫存b的方式對a和b之中的數據進行交換。下面 給出該案例的完整代碼:例使用“第三變量法交換a和b之中的數據。#i nclude using n amespace std;void mai n()int a = 1, b = 2;int t;定義負責暫存數據的第三變量cout 交換前:a= a
4、, b= b endl;請注意輸出變量的值時直接寫變量名不要寫諸如a的形式/此處開始交換算法 t = a;a = b;b = t;/此處交換算法結束cout 交換后:a= a , b= b endl;當然對于一些數值型的數據所謂的數值型數據是指單純的數字或者ASCII碼,我們也可以直接采用“算數交換法進行交換。所謂的算數交換法是指利用數值型數據可進行算術運算的特性進行交換。以上例a與b的值交換為例,那么 有:a = a + b; b = a - b; a = a - b;假設 a = 1,b = 2。首先執行“ a = a + b;,此時 a = a + b = 1 +2 = 3 而 b =
5、2; 接下來繼續執行“ b = a - b ,此時b = a - b = 3 - 2 = 1而a = 3;最后執行“ a = a-b;,此時a = a - b = 3 - 1 = 2而b = 1。至此,數據交換完成。使用算數交換法對數值型數據交換的完整代碼如下:#i nclude using n amespace std;void mai n()int a = 1, b = 2;cout 交換前:a= a , b= b endl;/此處開始交換算法a = a + b;b = a - b;a = a - b;/此處交換算法結束cout 交換后:a= a , b= b 0#i nclude #in
6、 clude using n amespace std;void mai n()double a, b, c;double x1, x2;double deal;/由于變量命名規那么限制,因此使用單詞deal代替cout 請輸入 a,b,c 的值: a b c;deal = b * b - 4 * a * c;求出的值x1 = (-b) + sqrt(deal) / (2 * a);/利用求根法求 x1x2 = (-b) - sqrt(deal) / (2 * a);/利用求根法求 x2cout x1 = x1 ,x2 = x2 en dl;程序運行效果如下:raw C:WindoE s/st
7、em32匚mdexe的值;上述程序中使用經典的一元二次方程求根法進行求解方程, 這是一種最直觀 也是最容易理解的方法。二元一次方程求根法公式為:-b Vfe2 -4acla8.4簡單的字符處理在前面的學習中,我們學習到了字符型數據,在C/C+語言中,字符型數據 使用ASCII碼存儲,即每個字符都可以得到一個具體的整數。在程序中我們通 常可以利用這些ASCII碼對字符進行簡單的處理。例從鍵盤上輸入一個字符,并輸出其大寫形式。#i nclude using n amespace std;void mai n()char c;char upper;cout 請輸入一個字符:c = getchar()
8、;/ upper = c - 32;/可以使用getchar函數獲取一個字符 大寫字母與小寫字母之間相差32cout 字符 c 的大寫形式為: upper endl; 程序運行效果如下:5B C; VJ i nd qw 5 syte m32cmd.exe當然,上述的程序還是有一些問題的,上述的程序無論輸入的是何種數據, 都會進行減32的操作,而事實上倘假設用戶輸入的為大寫字母,就應該原封不 動的輸出,而該程序的運行結果那么為:磴1 C;V, 1 nd owssyst rm 3 2crri8, exe翱缶再琛 4因此我們需要對程序作出一些細微的修改,將其修改為假設用戶輸入的是大 寫字母那么原樣輸出,輸出的是小寫字母那么進行轉換操作。這一點我們可以通過條 件運算符實現,修改后的程序如下:#i nclude #in elude vconi o.h using n amespace std;void mai n() char c;char upper;cout 請輸入一個字符:;c = getchar();upper = isupper(c) =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 應急與事故管理制度
- 弱電hse管理制度
- 影院使用及管理制度
- 微型消防站管理制度
- 心理功能室管理制度
- 快遞公司誰管理制度
- 念佛堂機構管理制度
- 患者自費藥管理制度
- 慢病篩查與管理制度
- 成都劇本殺管理制度
- 五年級下學期科學立體小菜園課件
- 2024年河北石家莊市市屬國企業春季面向社會公開招聘282人易考易錯模擬試題(共500題)試卷后附參考答案
- GB/T 44191-2024政務服務便民熱線知識庫建設指南
- 網課智慧樹知道《運動療法技術學(濟寧學院)》章節測試答案
- MOOC 現代科技與人類未來-大連大學 中國大學慕課答案
- MOOC 數據挖掘與python實踐-中央財經大學 中國大學慕課答案
- 國家開發大學電大《心理學》課程形成性考核冊試題及答案(1-4)
- 2024年中考語文復習考點幫考點四 標點符號(解析版)
- 2023年老年病科半年工作總結報告
- 嗆咳病人的護理措施
- 護理責任組長崗位競聘
評論
0/150
提交評論