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),請進行舉報或認領

文檔簡介

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

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

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

劉懷亮

.C++語言程序設計

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

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

共24次左右大課上機實習

16次,

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

C++語言基礎第6-9,11章

面向?qū)ο蟪绦蛟O計基礎第10和12章

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

第1章從C到C++1)計算機語言,程序設計語言

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

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

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

因用于編寫程序,又叫程序設計語言。

1

計算機程序的基本概念

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

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

推動了計算機科學的發(fā)展

A

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

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

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

不足:

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

操作碼

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

用助記符號,表達機器指令。比如:

加:ADD

減:SUB

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

使用依舊復雜

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

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

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

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

容易編寫代碼。

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

特點:

完全符號化:

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

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

包括:

C++,C#,Java

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

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

Assembler

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

b編譯器,Compiler

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

c解釋器,Interpreter

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

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

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

如:計算器中的輸入;

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

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

優(yōu)點:

過程清晰明了

不足:

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

操作遺漏或重復;

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

不足:

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

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

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

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

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

Java適合大型網(wǎng)絡開發(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擴展的示例//第4頁上的部分定義了一個CircleArea類//第5頁上定義了主函數(shù)/*這是版本0.1*程序文件結(jié)構(gòu)介紹,功能介紹…**作者:公司*/#include<iostream.h>voidmain()

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

//在顯示器上輸出字符串Hello!}【例1-4】C++程序文件的例子版本聲明部分預處理部分函數(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ū)②

預處理與全局說明③函數(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ù))①注釋部分②預處理部分③函數(shù)定義區(qū)/*這是版本0.1*頭文件結(jié)構(gòu)介紹,功能介紹…**作者:學生1*/#include<iostream.h>classStudent

//定義類{Private:char*stu_name;intStu_number;Public:Student(char*snm,intsnum);//構(gòu)造函數(shù)};【例1-0】頭文件例子版本聲明部分預處理部分函數(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論