第1章程序的基本結(jié)構(gòu)_第1頁
第1章程序的基本結(jié)構(gòu)_第2頁
第1章程序的基本結(jié)構(gòu)_第3頁
第1章程序的基本結(jié)構(gòu)_第4頁
第1章程序的基本結(jié)構(gòu)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一章第一章 程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)第1章程序的基本結(jié)構(gòu)2目標(biāo)目標(biāo)l建立基本的計算機(jī)程序設(shè)計概念和方法l掌握C+語言的基本語法和語義,初步理解面向?qū)ο蟮乃枷?初步掌握面向?qū)ο蟪绦蛟O(shè)計方法l提高編程能力和調(diào)試程序的能力第1章程序的基本結(jié)構(gòu)3授授 課課 內(nèi)內(nèi) 容容 1.11.1+程序基本結(jié)構(gòu)程序基本結(jié)構(gòu) 1.2 1.2 算法與程序算法與程序 1.3 C+1.3 C+程序的基本要素程序的基本要素1.4 1.4 輸入、編譯、調(diào)試和運行一個輸入、編譯、調(diào)試和運行一個C+C+程序程序1.5 1.5 程序設(shè)計舉例程序設(shè)計舉例1.6 1.6 小結(jié)小結(jié)第1章程序的基本結(jié)構(gòu)4回顧回顧 “大學(xué)計算機(jī)基礎(chǔ)大學(xué)計

2、算機(jī)基礎(chǔ)” 中的幾個概念中的幾個概念程序程序計算機(jī)的工作是由程序來控制的,指令集合指令指令/計算機(jī)指令系統(tǒng)讓計算機(jī)進(jìn)行某個操作操作的命令算法算法完成某個特定任務(wù)的方法步驟描述算法描述算法的工具?偽代碼、流程圖、自然語言等程序設(shè)計過程程序設(shè)計過程需求分析、算法設(shè)計、編寫程序、調(diào)試程序、整理文檔(文本文件文本文件)(二進(jìn)制編碼二進(jìn)制編碼)第1章程序的基本結(jié)構(gòu)5機(jī)器語言機(jī)器語言 例:1011 1111 0011 難懂,不易修改,移植性差 效率高匯編語言匯編語言 ADD CX BX 易記,效率高級語言高級語言 if y3 if y3 z=x+y z=x+y 類似英語和數(shù)學(xué)表達(dá)式類似英語和數(shù)學(xué)表達(dá)式 第

3、1章程序的基本結(jié)構(gòu)6解釋方式解釋方式 BASIC BASIC、JAVAJAVA編譯方式編譯方式 C+ C+第1章程序的基本結(jié)構(gòu)7高級語言高級語言l最早計算機(jī)用于科學(xué)計算,fortranl后來用于處理字符、 事務(wù),需要表達(dá)算法時,Pascal、C lC+、JAVA,面向?qū)ο?更接近人的行為習(xí)慣,從屬性和行為描述對象l當(dāng)前流行的程序設(shè)計語言工具 lMicrosoft: Visual C+、Visual BasiclBorland: Delphi、C+BuilderlSun: Java第1章程序的基本結(jié)構(gòu)8基本內(nèi)容基本內(nèi)容 1.1 幾個簡單的程序1.2 程序的基本結(jié)構(gòu)和要素第1章程序的基本結(jié)構(gòu)91.

4、1 +程序基本結(jié)構(gòu)程序基本結(jié)構(gòu)例1-1 在屏幕上顯示在屏幕上顯示: Hello C+ o ! 第1章程序的基本結(jié)構(gòu)10例例1-1 程序代碼程序代碼 / Example 1-1 屏幕上顯示: Hello C+!#include using namespace std;int main( ) cout “Hello C+ o !” endl; return 0;第1章程序的基本結(jié)構(gòu)11例例1-1 分析分析 l文件包含操作的一般格式為:#include 或者 #include 文件名lusing namespace std;l主函數(shù) main( )是程序的入口,“ ” 定界符。 lcout表示輸出語

5、句:cout E1 E2 Em ;l語句用分號結(jié)束;一行可以寫多個語句。lReturn 0; endl;第1章程序的基本結(jié)構(gòu)12用用Developer Studio編寫和調(diào)試編寫和調(diào)試C+程序程序lNew Project: Win32 Console ApplicationlProject namel8Create new workspacelLocation lNew File: C+ Source Filel lAdd to Project lLocation 第1章程序的基本結(jié)構(gòu)13Visual C+集成開發(fā)環(huán)境集成開發(fā)環(huán)境lDeveloper Studio窗口 lSourse(編輯)窗

6、口 lWorkspace(工作區(qū))窗口 lOutput(輸出)窗口 l菜單和工具欄 lBuild-Rebuild All(F7)lBuild-Execute (Ctrl+F5)第1章程序的基本結(jié)構(gòu)14/例1-2 加法器#include using namespace std;int main() double a,b,sum; coutab; sum = a+b; cout a + b = sum endl; return 0; 第1章程序的基本結(jié)構(gòu)15例例1-2 分析分析 l注釋行:l多行注釋:/* */l單行注釋:/ l屏幕提示信息coutPlease input two numbers:

7、 ;第1章程序的基本結(jié)構(gòu)16例例1-3:根據(jù)三角形的三個邊長求三角形面積:根據(jù)三角形的三個邊長求三角形面積#include #include /包含標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)庫using namespace std; double area(double a, double b, double c) double s, t;s = (a+b+c)/2;t = sqrt(s*(s-a)*(s-b)*(s-c); /調(diào)用標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)return t;第1章程序的基本結(jié)構(gòu)17int main()/ 主函數(shù) double x, y, z; cout 邊長分別為3、4、5的三角形面積為: area(3, 4, 5)

8、endl; coutxyz; cout 三角形面積為: area(x, y, z) endl; return 0; 第1章程序的基本結(jié)構(gòu)181.2 程序的基本結(jié)構(gòu)和要素程序的基本結(jié)構(gòu)和要素1.2.1 程序的基本結(jié)構(gòu)1.2.2 輸入與輸出1.2.3 注釋1.2.4 標(biāo)識符和關(guān)鍵字第1章程序的基本結(jié)構(gòu)191.2.1 程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)全局變量說明#include using namespace std;子函數(shù)1 (形式參數(shù)) 子函數(shù)局部變量說明 語句序列。int main( ) 局部變量說明 語句序列return 0;lC+程序由函數(shù)組成;至少包括主函數(shù)main()和(或)若干個子函數(shù)。

9、唯一的主函數(shù)main()是整個程序的入口點。l一個函數(shù)又由變量及參數(shù)說明語句和語句序列構(gòu)成。l每個語句必須用分號結(jié)尾。一個語句行可以寫多個語句,一個語句可以寫在多行上。lC+語言允許在程序中插入注釋行。lC+語言提供了包括I/O功能在內(nèi)的大量標(biāo)準(zhǔn)庫函數(shù),但調(diào)用這些函數(shù)時,必須在程序頭部包含頭文件。函數(shù)體函數(shù)體第1章程序的基本結(jié)構(gòu)201.2.2 輸入與輸出輸入與輸出lcin表示輸入流對象,其基本用法為:cinV1V2Vn;l在輸入時,應(yīng)注意用空格或tab鍵將所輸入的數(shù)據(jù)分隔開。l必須注意所輸入數(shù)據(jù)的類型應(yīng)與接受該數(shù)據(jù)之變量的類型相匹配,否則輸入操作將會失敗或者得到的將是一個錯誤的數(shù)據(jù)。lcout

10、表示輸出流對象,其基本用法是:cout E1 E2 Em;l在輸出時,要注意恰當(dāng)使用字符串和換行符endl,提高輸出信息的可讀性。 cout x + y = sum xy;cout This is my first program! ;顯示器顯示器圖圖1 1. .2 2 coutcout輸出流輸出流( (例例1 1- -1 1) )coutThis is my first program.第1章程序的基本結(jié)構(gòu)221.2.3 標(biāo)識符和關(guān)鍵字標(biāo)識符和關(guān)鍵字l是程序中變量、類型、函數(shù)和標(biāo)號的名稱。是程序中變量、類型、函數(shù)和標(biāo)號的名稱。l由字母、數(shù)字和下劃線由字母、數(shù)字和下劃線“_”組成,第一個字符不

11、能是數(shù)字。組成,第一個字符不能是數(shù)字。l“大小寫敏感大小寫敏感”。l各種各種+編譯器對在標(biāo)識符中最多可以使用多少個字符的規(guī)編譯器對在標(biāo)識符中最多可以使用多少個字符的規(guī)定各不相同,定各不相同,ANSI標(biāo)準(zhǔn)規(guī)定編譯器應(yīng)識別標(biāo)識符的前標(biāo)準(zhǔn)規(guī)定編譯器應(yīng)識別標(biāo)識符的前6個字個字符。符。l在標(biāo)識符中恰當(dāng)運用下劃線,大、小寫字母混用以及使用較在標(biāo)識符中恰當(dāng)運用下劃線,大、小寫字母混用以及使用較長的名字都有助于提高程序的可讀性。長的名字都有助于提高程序的可讀性。第1章程序的基本結(jié)構(gòu)23+的關(guān)鍵字-C+預(yù)定義的單詞break,case,catch,char,class,const,continue,defaul

12、t,delete,do,double,else,enum,except,float,for,friend,goto,if,inline,int,long,private,protected,public,return,short,while第1章程序的基本結(jié)構(gòu)24l+還有12個標(biāo)識符作為編譯預(yù)處理define,elif,else,endif,error,if,ifdef,ifndef,include,line,progma,undef lC+的標(biāo)點和特殊字符有! % & * ( ) + = | ; : ? , . / #第1章程序的基本結(jié)構(gòu)25擴(kuò)展閱讀擴(kuò)展閱讀1.3 C/C+背景1.3.1 程

13、序設(shè)計語言的發(fā)展1.3.2 從C到C+第1章程序的基本結(jié)構(gòu)26例1-4 計算下式的結(jié)果,其中x= -3 .5,y= 6.7yxyxcossin#include #include /包含標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)庫包含標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)庫using namespace std;int main() double x, y; /將角度單位轉(zhuǎn)換為庫函數(shù)所要求的弧度值將角度單位轉(zhuǎn)換為庫函數(shù)所要求的弧度值 x=-3.5/180*3.14159; y=6.7/180*3.14159;/計算三角函數(shù)并輸出計算三角函數(shù)并輸出 cout sin(fabs(x)+fabs(y)/sqrt(cos(fabs(x+y) endl; re

14、turn 0;弧 度第1章程序的基本結(jié)構(gòu)27例1-5計算保險經(jīng)紀(jì)人月薪每一名保險經(jīng)紀(jì)人的月工資都由三部分組成:底薪獎金業(yè)務(wù)提成底薪獎金業(yè)務(wù)提成l獎金頒發(fā)方法為:經(jīng)紀(jì)人在公司的工作年數(shù)*10;l業(yè)務(wù)提成:當(dāng)月銷售額的3。編程要求:當(dāng)用戶按照屏幕提示分別輸入經(jīng)紀(jì)人的底薪、工齡以及當(dāng)月銷售額后,程序計算并輸出經(jīng)紀(jì)人的月薪。第1章程序的基本結(jié)構(gòu)28算 法 分 析l輸入底薪 baseSalaryl輸入經(jīng)紀(jì)人在公司的工作年數(shù) serviceYearsl計算獎金 bonus = 10 * serviceYearsl輸入經(jīng)紀(jì)人當(dāng)月銷售額 totalSalel計算提成 additionalBonus = 0.0

15、3 * totalSalel計算經(jīng)紀(jì)人的月薪 Salary = baseSalary+bonus+additionalBonusl輸出結(jié)果#include using namespace std;int main()double baseSalary, bonus, totalSale, additionalBonus, Salary;int serviceYears;coutbaseSalary;coutserviceYears;bonus=10*serviceYears; /計算獎金bonuscouttotalSale;additionalBonus=0.03*totalSale; /計算

16、提成Salary = baseSalary+ bonus+ additionalBonus; /計算月薪cout該經(jīng)紀(jì)人的月薪為:Salaryendl;return 0;第1章程序的基本結(jié)構(gòu)30案例:重量單位換算重量單位換算l編寫一個重量單位換算程序,輸入用公斤表示的重量,然后程序能夠轉(zhuǎn)換并輸出用鎊和盎司表示的等效重量。請輸入重量請輸入重量(公斤公斤):23轉(zhuǎn)換為用磅表示的重量轉(zhuǎn)換為用磅表示的重量(磅磅):50.7055轉(zhuǎn)換為用盎司表示的重量轉(zhuǎn)換為用盎司表示的重量(盎司盎司):811.287 教學(xué)設(shè)問教學(xué)設(shè)問 如何設(shè)計變量及選擇相應(yīng)的數(shù)據(jù)類型?如何設(shè)計變量及選擇相應(yīng)的數(shù)據(jù)類型? 公斤、磅和盎司

17、的轉(zhuǎn)換公式是什么?公斤、磅和盎司的轉(zhuǎn)換公式是什么?第1章程序的基本結(jié)構(gòu)31問題分析問題分析l為保證程序能夠處理帶小數(shù)點的數(shù)值,變量的數(shù)據(jù)類型需選用可以對實數(shù)進(jìn)行操作的雙精度類型double。故變量列表為:ldouble kilogram, pound, ounce; /公斤、鎊、公斤、鎊、盎司盎司l公斤、磅和盎司的轉(zhuǎn)換公式:l 1磅磅=16盎司盎司=0.4536千克(公斤)千克(公斤)l算法如下:l1. 得到用公斤表示的重量得到用公斤表示的重量l2. 將重量轉(zhuǎn)化為磅:將重量轉(zhuǎn)化為磅:pound=kilogram/0.4536;l3. 將磅轉(zhuǎn)化為盎司:將磅轉(zhuǎn)化為盎司:ounce=pound*16

18、; l4. 輸出轉(zhuǎn)換后的重量輸出轉(zhuǎn)換后的重量/ 重量單位換算#include using namespace std;int main()double kilogram, pound, ounce; /公斤、鎊、盎司cout kilogram;pound=kilogram/0.4536;ounce=pound*16;cout轉(zhuǎn)換為用磅表示的重量(磅):poundendl;cout轉(zhuǎn)換為用盎司表示的重量(盎司):ounceendl;return 0;第1章程序的基本結(jié)構(gòu)33進(jìn)一步思考進(jìn)一步思考l如果要想從磅和盎司轉(zhuǎn)換成公斤,應(yīng)該怎么修改程序?l如果要想將本案例程序的輸出改成*磅*盎司(磅和盎司都省略小數(shù)點后的位數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論