chap 1-3-1大節(jié)課-從C到 C++-數(shù)技_第1頁
chap 1-3-1大節(jié)課-從C到 C++-數(shù)技_第2頁
chap 1-3-1大節(jié)課-從C到 C++-數(shù)技_第3頁
chap 1-3-1大節(jié)課-從C到 C++-數(shù)技_第4頁
chap 1-3-1大節(jié)課-從C到 C++-數(shù)技_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序設(shè)計語言A袁小hyuan@1計算機(jī)程序的用途1)信息管理學(xué)生學(xué)籍管理系統(tǒng)2)業(yè)務(wù)處理學(xué)生選課系統(tǒng),電子商務(wù),網(wǎng)上購物3)科學(xué)計算氣象預(yù)報,分子計算…2運用計算機(jī)解決問題的步驟

(1)分析問題:問題是什么---專業(yè)知識,數(shù)學(xué)、物理、生物(2)問題建模:模塊的輸入、輸出、功能---軟件工程(3)數(shù)據(jù)結(jié)構(gòu)與算法:數(shù)據(jù)結(jié)構(gòu)設(shè)計、算法設(shè)計—數(shù)據(jù)結(jié)構(gòu)(4)編程實現(xiàn):計算機(jī)語言,編程方法---程序語言C++1)C++主要用于開發(fā)大型工具軟件開發(fā)平臺NokiaQt,VisualStudio和VC++;桌面工具Office,Photoshop,K3DSurf和Matlab;數(shù)據(jù)庫系統(tǒng)SqlServer;網(wǎng)絡(luò)軟件IE和Google搜索引擎;C++小游戲GDI動畫行業(yè)應(yīng)用軟件“臨港城市風(fēng)暴潮災(zāi)害3維展示系統(tǒng)”3為什么學(xué)習(xí)C++海水入侵的3維可視化展示臨港新城風(fēng)暴潮三維水淹分析

(1)程序設(shè)計語言A(C++)C++語法面向?qū)ο蟮某绦蛟O(shè)計方法(2)數(shù)據(jù)結(jié)構(gòu)(3)算法分析與設(shè)計2)為后續(xù)計算機(jī)課程建立編程基礎(chǔ)目的:編程工具編程能力3為什么學(xué)習(xí)C++4C++學(xué)習(xí)以學(xué)習(xí)C++語法為基礎(chǔ)以學(xué)習(xí)面向?qū)ο蟮某绦蛟O(shè)計方法為目的在其中:培養(yǎng)基本的面向?qū)ο缶幊棠芰閿?shù)據(jù)結(jié)構(gòu)、算法分析與設(shè)計等后續(xù)課程建立語言與編程基礎(chǔ)1)任務(wù)2)教材和參考書教材:

劉懷亮

.C++語言程序設(shè)計

,研究出版社,參考書:錢能,C++程序設(shè)計教程

,清華大學(xué)出版社,2005年第2版朱振元,朱承.C++程序設(shè)計與應(yīng)用開發(fā).清華大學(xué)出版社,2005年2月鄭莉.C++語言程序設(shè)計.清華大學(xué)出版社,2005年6月(第3版)鄭莉.C++語言程序設(shè)計案例教程.清華大學(xué)出版社,2005年7月3)教學(xué)方式課堂教學(xué)

共24次左右大課上機(jī)實習(xí)

16次,

A2054)考核方式期末閉卷考試:60%平??记冢?4%平常作業(yè):10%上機(jī)實習(xí):16%5)教學(xué)內(nèi)容第1-5章

C++語言基礎(chǔ)第6-9,11章

面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)第10和12章

C++語言擴(kuò)展—自學(xué)6)學(xué)習(xí)方法—重要牢記:在寫程序中學(xué)習(xí)編程Programmingislearnedbywritingprograms.必須要讀、寫大量的程序,否則學(xué)不會編程序.內(nèi)容計算機(jī)程序的基本概念程序設(shè)計方法簡介C++程序的結(jié)構(gòu)C++編程工具介紹

第1章從C到C++1)計算機(jī)語言,程序設(shè)計語言

(1)是人與計算機(jī)進(jìn)行信息交流使用的語言;是具有語法、詞法規(guī)則的一套系統(tǒng)。

(2)相比于人類自然語言,計算機(jī)語言更加要求規(guī)則和嚴(yán)密。

(3)由計算機(jī)專家研制,主要由編程人員使用。

因用于編寫程序,又叫程序設(shè)計語言。

1

計算機(jī)程序的基本概念

類似操作規(guī)程,電話機(jī)故障排除說明2)計算機(jī)程序

采用計算機(jī)語言編寫的,能連續(xù)執(zhí)行的一條條指令的集合,稱為計算機(jī)的程序。清楚地告訴計算機(jī):該作什么,該怎么做3)計算機(jī)語言介紹機(jī)器語言匯編語言面向過程語言類面向?qū)ο笳Z言類低級語言高級語言面向方面語言類是計算機(jī)語言的發(fā)展,

推動了計算機(jī)科學(xué)的發(fā)展

A

機(jī)器語言(MachineLanguage)第1代語言二進(jìn)制數(shù)來表達(dá)計算機(jī)操作指令。

比如“加”動作的表示要用:00101000“減”動作的表示要用:10011000優(yōu)點:

特定型號計算機(jī);占用內(nèi)存少;運算效率高。

不足:

編寫和修改困難;同一程序,在另外的機(jī)器上運行,需重新編程。

操作碼

操作數(shù)(地址碼)(1)低級語言B匯編語言,AssembleLanguag,第2代語言

用助記符號,表達(dá)機(jī)器指令。比如:

加:ADD

減:SUB

傳數(shù)據(jù):MOV特點:效率高;

使用依舊復(fù)雜

是一類獨立于機(jī)器的語言,表達(dá)式接近于自然語言和數(shù)學(xué)表達(dá)式,

具有一定的語法規(guī)則。

特點:占內(nèi)存多;

執(zhí)行比低級語言慢;

容易編寫代碼。

(2)高級語言(2)高級語言面向過程的語言,第3代

特點:

完全符號化:

完全是對處理過程和計算過程的描述。包括:

BASIC、FORTRAN、COBOL、C、Pascal面向?qū)ο蟮恼Z言,第4代特點:將數(shù)據(jù)和處理數(shù)據(jù)的過程封裝為類,用類的實例對象解決具體問題。

包括:

C++,C#,Java

4)關(guān)于計算機(jī)程序類型(1)源程序,sourceprogram匯編語言和高級語言編寫的程序。(2)目標(biāo)代碼,objectprogram計算機(jī)能直接理解和執(zhí)行的程序翻譯(3)翻譯程序,Trasnslator

將源程序翻譯成目標(biāo)代碼的工具。包括3種:a匯編程序,

Assembler

將匯編語言的源程序翻譯成目標(biāo)代碼(.bin,.exe)

b編譯器,Compiler

將高級語言的源程序翻譯成目標(biāo)代碼(.bin,.exe)

c解釋器,Interpreter

,Java虛擬機(jī)將源程序翻譯成機(jī)器指令,邊翻譯邊執(zhí)行,無目標(biāo)代碼。5)對一般計算機(jī)使用人員使用程序

2)編寫程序問題背景(專業(yè)知識,數(shù)學(xué),物理,工程…)學(xué)會當(dāng)前通用的語言(C,C++,Java,C#)和程序設(shè)計方法設(shè)計算法(C,C++,數(shù)據(jù)結(jié)構(gòu),算法分析與設(shè)計)編寫源程序使用翻譯程序…程序設(shè)計方法

--對數(shù)據(jù)與操作的處理方法程序處理的對象,是輸入給計算機(jī)程序的信息,以及程序處理后輸出的結(jié)果.

如:計算器中的輸入;

…Google中的輸入操作是對數(shù)據(jù)的處理和運算1)程序設(shè)計方法程序設(shè)計時所遵循的原理和方法2)程序設(shè)計方法種類及演變公式翻譯,邏輯式,函數(shù)式的程序設(shè)計:不用面向過程的程序設(shè)計:C,Basic,Forturn,還有在用面向?qū)ο蟮某绦蛟O(shè)計:C++,C#,Java,普遍面向方面的程序設(shè)計…正在研究中木材鋼材水泥木工機(jī)械金屬加工機(jī)床攪拌機(jī)械組合和分類前的建筑工地

(3)面向過程的程序設(shè)計數(shù)據(jù)1操作1數(shù)據(jù)2操作2數(shù)據(jù)操作數(shù)據(jù)3數(shù)據(jù)n……操作3……操作n類似,面向過程程序設(shè)計中,數(shù)據(jù)與操作分離程序=數(shù)據(jù)+操作面向過程的程序設(shè)計的優(yōu)缺點

優(yōu)點:

過程清晰明了

不足:

數(shù)據(jù)遺漏或多余;

操作遺漏或重復(fù);

可能產(chǎn)生對數(shù)據(jù)的不安全操作組合和分類后的建筑工地木材鋼材水泥木工機(jī)械金屬加工機(jī)床攪拌機(jī)械木工車間金工車間瓦工車間(4)面向?qū)ο蟮某绦蛟O(shè)計數(shù)據(jù)1操作1數(shù)據(jù)2操作2數(shù)據(jù)3數(shù)據(jù)n……操作3操作n對象1對象2對象3對象n組合后的程序=對象1+對象2+,…,+對象n定義類面向?qū)ο蟮某绦蛟O(shè)計優(yōu)點:抽象和封裝,使數(shù)據(jù)安全了;繼承,多態(tài),節(jié)約了代碼編寫,并靈活處理

不足:

在代碼中存在多重貫穿性,

容易產(chǎn)生代碼交織和代碼散落代表語言:C++Java,C#,…軟件工程程序設(shè)計是構(gòu)件(單文件或聯(lián)編文件)的設(shè)計軟件工程構(gòu)件層次和調(diào)用關(guān)系;數(shù)據(jù)庫設(shè)計硬件選型和布局。程序設(shè)計是軟件工程實現(xiàn)的基礎(chǔ)3)C++語言簡介(1)以C為基礎(chǔ),在C基礎(chǔ)上有兩個擴(kuò)展1972年,貝爾實驗室寫出C語言.C的優(yōu)點C語言比低級語言好用,編寫代碼的效率高;C語言能直接訪址,執(zhí)行效率其他高級語言快.成功的例子:1973年貝爾實驗室用C編寫了Unix.C的不足:類型檢查機(jī)制弱;--C++用異常處理解決不支持代碼重用,不適合編寫大型軟件—C++用類解決C++與C比較,優(yōu)勢在于

(1)更好編寫(開發(fā)效率高)--類的重用;(2)更好維護(hù)—可處理異常。Bjarne

Stroustrup(1950~)(2)C++與Java和C#的比較優(yōu)點:源于C,更接近于底層,執(zhí)行效率最高;適合開發(fā)大型軟件不足:相對復(fù)雜。(3)C#和Java

C#適合與圖形界面開發(fā),小型網(wǎng)絡(luò)開發(fā);

Java適合大型網(wǎng)絡(luò)開發(fā)(跨平臺,安全)每個C++/c程序通常分為2個文件:頭文件,后綴為.h;不包含主函數(shù)用于各種函數(shù)和類型的聲明與定義定義文件,后綴為.c,.cpp,.cc,.cxx用于定義可執(zhí)行程序指令;同一項目中,僅有一個定義文件能包含主函數(shù)

4)C++程序的組成與結(jié)構(gòu)簡單C++例子//問題:使用面向過程的C++語言。//源程序

1_2.cpp#include<iostream.h>intmain(){

cout<<"WelcometotheC++languageworld"<<endl; return0;}//問題:使用面向過程的C++語言。//源程序1_2.cpp#include<iostream>usingnamespacestd;intmain(){cout<<"WelcometoC++languageworld!";return0;}//示例1-3,C++是C擴(kuò)展的示例//第4頁上的部分定義了一個CircleArea類//第5頁上定義了主函數(shù)/*這是版本0.1*程序文件結(jié)構(gòu)介紹,功能介紹…**作者:公司*/#include<iostream.h>voidmain()

//包含主函數(shù){cout<<″Hello!″;

//在顯示器上輸出字符串Hello!}【例1-4】C++程序文件的例子版本聲明部分預(yù)處理部分函數(shù)定義C++程序的結(jié)構(gòu)/*這是我們的第n個C++程序*,輸入任意三個整數(shù)輸出其中的最大值*/#include"stdafx.h"#include<iostream>usingnamespacestd;intmax(inta,intb,intc){inttemp;

temp=a;

if(temp<b)temp=b;

if(temp<c)temp=c;

returntemp;}intmain(){inta,b,c;

cin>>a>>b>>c;

cout<<"max="<<max(a,b,c)<<endl;}①注釋區(qū)②

預(yù)處理與全局說明③函數(shù)定義區(qū)④主函數(shù)區(qū)C++程序的結(jié)構(gòu)/*這是版本0.1*頭文件結(jié)構(gòu)介紹,功能介紹…**作者:公司*///模塊1和3有待完善#include<iostream.h>…聲明變量;聲明結(jié)構(gòu),枚舉,聯(lián)合;聲明類和類的成員函數(shù);函數(shù)定義1(){;;;}函數(shù)定義2(){;;;}頭文件(不包括主函數(shù))①注釋部分②預(yù)處理部分③函數(shù)定義區(qū)/*這是版本0.1*頭文件結(jié)構(gòu)介紹,功能介紹…**作者:學(xué)生1*/#include<iostream.h>classStudent

//定義類{Private:char*stu_name;intStu_number;Public:Student(char*snm,intsnum);//構(gòu)造函數(shù)};【例1-0】頭文件例子版本聲明部分預(yù)處理部分函數(shù)和類結(jié)構(gòu)聲明部分頭文件(不包括主函數(shù))5)基本的I/Oiostream.h

定義了兩個重要的對象cout,輸出流對象,輸出到屏幕舉例:

cout<<“hello,everybody”<<endl;cin,輸入流對象,從鍵盤讀一次輸入舉例:

intage;

cin>>age;

cout<<age;cerr,輸出錯誤信息舉例:

cerr<<“payattentionplease,thereiswrong”<<endl;//示例1_4#inlcude<iostream.h>intmain(){char*warnig;warning=newchar[100];

cout<<“pleaseinputawaring”<<endl;

cin>>varning;

cerr<<“thewarningyouinpuis:”<<warning<<endl;

retrun0;}6)C++的程序開發(fā)工具

集成開發(fā)環(huán)境(IDE)包括編輯、編譯、連接、調(diào)試和管理等多個功能。TC3,BorlandCbuilder,GNUC/C++,VC++

,MicrosoftVisualStudio.Net

選擇使用.net:與微軟操作系統(tǒng)更好地連接

溫馨提示

  • 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

提交評論