第01章 計算機(jī)與程序設(shè)計_第1頁
第01章 計算機(jī)與程序設(shè)計_第2頁
第01章 計算機(jī)與程序設(shè)計_第3頁
第01章 計算機(jī)與程序設(shè)計_第4頁
第01章 計算機(jī)與程序設(shè)計_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

四川農(nóng)業(yè)大學(xué)

廳口

?:?學(xué)習(xí)本課程的目的:

1、應(yīng)試

2、應(yīng)用

?:?本課程的特點:

1、理論知識較少,實際操作較多

2、需要掌握一定的英文單詞

3、有大量的實例

?:?本課程的學(xué)習(xí)要求:

理論課:

1、將重要概念勾畫在書上

2、記憶典型的實例的編程方法

上機(jī)操作課:

1、所有程序名以自己名字拼音字母加題目編

號取名,以章節(jié)為單位存放在以自己姓名學(xué)號建的

文件夾中。

如學(xué)號為20082037的張三同學(xué)第4章第三題:

程序名應(yīng)取為zhangshan4_3.c或zhangshan4_3.cpp,

并存在“zhangshan20082037第四章”文件夾中。

2、當(dāng)堂完成上機(jī)任務(wù)后,將作業(yè)拷貝給學(xué)習(xí)

組長,然后由組長課后即時統(tǒng)一交給老師。

。本課程的考核方法:

必修:平時成績占30分,期末卷面成績占70分。

選修:平時成績占40分,期末卷面成績占60分。

曠課在三次及三次以上記不合格。

理論課,上機(jī)課遲到四次及四次以上記不合格。

理論課,上機(jī)課無故提前下課以曠課記。

作業(yè)兩次及兩次以上未交記不合格。

?時間安邦E:

課表上全為理論課時間,上機(jī)時間另行安排

推薦參考書:

書名作者出版社

1、C語言程序設(shè)計(第2版)譚浩強(qiáng)清華大學(xué)出版社

2、C程序設(shè)計試題匯編(第二版)譚浩強(qiáng)清華大學(xué)出版社

3、C++程序設(shè)計教程(第二版)錢能清華大學(xué)出版社

4、C++程序設(shè)計教程(第2版)李春葆清華大學(xué)出版社

5、C心++程序設(shè)計教程鄭秋生電子工業(yè)出版社

6、C/C++程序設(shè)計教程(第2版)》孫淑霞等電子工業(yè)出版社

第1章

計算機(jī)與程序設(shè)計

講授內(nèi)容

■計算機(jī)系統(tǒng)的基本組成、工作原理

■程序設(shè)計的基本過程和方法

■程序設(shè)計語言基本概念及其發(fā)展歷史

■結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計方法

■典型的C++編程環(huán)境、開發(fā)過程和程序結(jié)構(gòu)

■程序設(shè)計風(fēng)格

1.1計算機(jī)系統(tǒng)概述

■計算機(jī)系統(tǒng)

GS機(jī)器系統(tǒng)

8能接收和存儲信息

8能對數(shù)據(jù)進(jìn)行處理和計算

8能輸出結(jié)果

■計算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成

8硬件系統(tǒng)包括CPU、顯示器、內(nèi)存、硬盤、鍵盤等

8軟件系統(tǒng)包括各種程序和文檔

■計算機(jī)硬件一是軟件實現(xiàn)的基礎(chǔ)

3運算器一對數(shù)據(jù)進(jìn)行算術(shù)運算和邏輯運算

8主存儲器一存儲二進(jìn)制信息,與運算器、控制器

等直接交換信息

8控制器一按著第的要求,控制計算機(jī)各功能部件

協(xié)調(diào)一致地動作

■控制器+運算器=中央處理器

■中央處理器+主存儲器=處理機(jī)

8輸入設(shè)備一將用戶信息(數(shù)據(jù)、程序等)變換

為計算機(jī)能識別和處理的信息形式

儂輸出設(shè)備一將計算機(jī)中二進(jìn)制信息變換為用戶

所需要并能識別的信息形式

③輔助存儲器一存儲主存儲器難以容納、又為程

序執(zhí)行所需要的大量文件信息

■計算機(jī)軟件一計算機(jī)系統(tǒng)中的指揮者

8系統(tǒng)軟件一最靠近硬件,如編譯程序和操作系統(tǒng)等

8支撐軟件一支撐其它軟件的開發(fā)和維護(hù),如各種數(shù)據(jù)庫

管理系統(tǒng)、接口軟件和工具組

8應(yīng)用軟件一用于特定應(yīng)用領(lǐng)域,如財務(wù)管理系統(tǒng)

■上述分類是交叉和變化的

8一個軟件可以在一個系統(tǒng)中是系統(tǒng)軟件,在另一個系統(tǒng)

中是支撐軟件

8在同一系統(tǒng)中,一個軟件可以既是系統(tǒng)軟件,也是支撐

軟件

1.2程序設(shè)計基本概念

■問題求解過程步驟

g問題定義一明確要解決的問題

e算法設(shè)計一把要求解的問題轉(zhuǎn)化為計算機(jī)的解題

步驟

8程序編碼一對設(shè)計出來的算法進(jìn)行代碼的編寫

8測試?yán){(diào)試一發(fā)現(xiàn)利糾正程序中的錯誤

■算法與程序

8算法一由有限個步驟組成的求解問題的方法

8算法的特點

■有窮性:執(zhí)行有窮個步驟后必須終止

■確定性:每一個步驟必須是無二義的

■能行性:每一個步驟都可以在有限時間內(nèi)做完

■輸入:一般有輸入信息

■輸出:一般有一個或多個輸出信息

■算法的描述方式

文字描述

■自然語言例:P5

e圖形描述

■流程圖、盒圖,PAD圖等

■流程圖的符號:

起止框(―二輸入/輸出框

處理框L/

過程—判斷框<

連接點流程線一

例:圖1?2P6

-程序語言描述

■計算機(jī)程序,如C++

例:P7

■程序的組成

8數(shù)據(jù)

■數(shù)據(jù)結(jié)構(gòu),程序處理的對象

■處理規(guī)則,處理數(shù)據(jù)的操作步驟,即算法

程序=數(shù)據(jù)結(jié)構(gòu)+算法

■程序設(shè)計和程序編碼

3先設(shè)計,后編碼

3設(shè)計是基礎(chǔ),是編碼的依據(jù)

3設(shè)計的好壞影響代碼的質(zhì)量

■程序設(shè)計語言:描述數(shù)據(jù)和對數(shù)據(jù)的操作

由語法、語義和語用3個方面組成:

?語法:構(gòu)成語言的各個記號之間的組合規(guī)律

.語義:各個記號的特定含義

.語用:程序與使用者的關(guān)系

a機(jī)器語言P8

■用機(jī)器基本指令編碼,二進(jìn)制形式

GS匯編語言

■使用一組助記符編碼,需要匯編才能運行

網(wǎng)高級語言

■表示方法更接近于待解問題的表示方法,需要編譯才

能運行

■源程序玲目標(biāo)程序

1.3程序設(shè)計方法

■結(jié)構(gòu)化程序設(shè)計

g任何程序邏輯都可以用順序、選擇和循環(huán)三種基

本結(jié)構(gòu)表示

■結(jié)構(gòu)化程序設(shè)計

3自頂向下,逐步求精

■描述問題,分析問題,分解問題成相對獨立的子問題

(反復(fù)進(jìn)行,逐步分解)

■描述子問題的數(shù)據(jù)和操作

3模塊化原則

■盡量采用典型基本控制結(jié)構(gòu):順序、選擇、循環(huán)

③缺點(對于大型軟件開發(fā))

■穩(wěn)定性低、可修改性和可重用性差

■面向?qū)ο蟪绦蛟O(shè)計

8面向問題

■現(xiàn)實世界是由對象組成的

■問題由哪些對象組成?對象之間如何相互作用?

8易于擴(kuò)展、可維護(hù)性好

■面向?qū)ο蠓治龊驮O(shè)計步驟

8找出問題中的對象和類

8確定每個對象應(yīng)具備的屬性和功能

8確定類、對象之間關(guān)系,相互作用的方式

8用程序代碼實現(xiàn)這些對象和類

結(jié)構(gòu)化程序設(shè)計:將問題分解,程序由許多功能不

同的函數(shù)組成,數(shù)據(jù)與函數(shù)分離,程序通過函數(shù)

之間的相互調(diào)用來完成功能。

面向?qū)ο蟪绦蛟O(shè)計:將問題抽象成若干類,將數(shù)據(jù)

與數(shù)據(jù)操作封裝在一起,程序由對象組成,通過

對象之間相互傳遞消息,進(jìn)行消息響應(yīng)和處理來

完成功能。

1.4C與C++

?c語言的歷史

e起源于Algol60

e在Algol60的基礎(chǔ)上發(fā)展出CPL語言

81967年發(fā)展為BCPL,用于編寫操作系統(tǒng)和編譯器

81970年貝爾實驗室將BCPL改良成B,并用B語言實現(xiàn)了

第一個UNIX操作系統(tǒng)

e1972年左右,DennisRitchie和KenThompson在貝爾實驗

室設(shè)計UNIX系統(tǒng)時,開發(fā)出了C語言

e之后,C語言發(fā)展出很多版本

a1988年,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI)制定了C的標(biāo)準(zhǔn)—

ANSIC

■C語言的特點

8數(shù)據(jù)類型豐富

8運算符豐富,共34個運算符

e支持結(jié)構(gòu)化程序設(shè)計

8方便、靈活,結(jié)合了高級語言的基本結(jié)構(gòu)、語句和低級

語言的實用性

e程序生成代碼質(zhì)量高、程序執(zhí)行效率高

e可移植性好,可用于UNIX、AIX、WINDOWS等操作系

統(tǒng)

■C++語言

8在C語言中引入了面向?qū)ο蟮乃枷?/p>

8歲一種混合型的語言,同時支持結(jié)構(gòu)化程序設(shè)計

和面向?qū)ο蟪绦蛟O(shè)計方法

儂兼容C語言,可不加修改地使用C語言代碼

8允許數(shù)據(jù)抽象,支持封裝、繼承和多態(tài)等特征

1.5C++編程簡介

步驟一:

1

、

或2

步驟二:直接建立源程序文件

單擊“文件”9單擊“新建”少單擊“文件”選項卡今單擊

“C++SourceFile”,進(jìn)入以下畫面:

新建

文件|工程|工作區(qū)|其它文檔|

陽ActiveServerPage廠A添加工程;

司BinaryFile

留BitmapFile1、建立C的源程序文件

PlC/C++Header

l?lC++SourceFi2、輸入源程序文件名

/CursorFile文件/

JOHTMLPageII

XXX.c

?)lconFile

I:MacroFile

用ResourceScript£目錄:

號ResourceTemplate2d

國SQLScriptFile

[=lTextFile

3、選擇文件存放目錄

4、單擊確定

后,就可以編

輯源程序。[確定結(jié)束

步驟二:先建立工程,再建立源程序文件

單擊“文件”今單擊“新建”9單擊“文件”今單擊“工程”

Z.mm-創(chuàng)天中文VC++,1□1x|

文件纏輯查看插入工程編譯工具窗口費助

??A|嗎同它聃二1?

l[Globals)▼網(wǎng)globalmembers可例。members-CrealeNewClass...)儀▼者窗昌!胤叫

j*

啕Workspace'mm':1pre

-files9、右擊SourceFiles,彈出快捷菜單

j^l^purceFiles

L_jHea

口Resource

1±18、單擊+,展開

iSFileWewp

■3ClassV...

X

7、單擊FileView

m\編譯(調(diào)試入查找文件1,2人結(jié)果/RvlJ

Ready

Z.mm-創(chuàng)天中文VU++,!□?x|

文件纏輯查看插入工程編譯工具窗口費助

留心口博|以電電|土—厄國甘聃

卜Globals)[AllglobalmembersH|[Nomembers-CrealeNewClass.

上■:.囪??離!凰-

X

帽Workspace'mm':1pre

巳國mmfiles

_JSourceFiles

LJHeaderFiles^

AddFilestoFolder,,,

口ResourceFil10、選擇AddFilesto

Settings...

沸AddtoSourceControl...

11Folder

vDockingView

TCIassV…圄FileVhMe

*1甯Properties

Jl

:2》結(jié)果/IH」

/

InsertFilesintoProject?|2<J

查找范圍(X):|m]4-向洞國▼

口Debug:

11、輸入文件名

文件名@):|mlcpp7確定12、單擊

文件類型夏):C++Files(.c;.cpp;.cxx;.tli;.h;.tlh,▼]取消“確定”

IFileswillbeinsertedintofoldertitled'SourceFiles'inproject'

_、'哭

13、單擊“是”

%,mm-創(chuàng)天中文VC++.|□!X|

j]文件編輯查看插入工程編譯工具窗口辨助

▼(Allglobalmembers▼||(Nomembers-CreateNewClass。.J▼]7▼拳阿后!?l

露Workspace'mm':1pre

E國mmfiles

>SourceFiles

因UJI)團(tuán)

_hHeaderFiles

_|ResourceFiles15、雙擊要編輯的源

\I2J

■jClassV...ilTKiieView程序文件名

ifiK中文VC++

ProjectfileE:\mm\ml.cppdoesnotexist.

Doyouwanttocreateanewfile?

14、單擊十號,展開

單擊

Ready/

.mm-fil天中5CVC++編譯連接運行

文件編輯插入工程瀛譯工具置口辨助

窗|百口博|濃電地|「||七因官聃

j(Globals)(Allglobalmembers71||(Nomembers-CreateNewClass..E]弋▼I除圜恚!旦四

X

啕Workspace'mm':1pre

白-國mmfiles

日一日SourceFiles

因ml.cpp

Q|HeaderFiles

1ResourceFiles

±12J

B3ClassV...|g]FileViewT

2£1

J

編譯信息窗口

丁K編譯TC調(diào)試>查找文件查找文件?VJILdJ

ReadyLn1,Col1-|REC|C0L|0VR|READ,

A,

???mm-創(chuàng)天中文VC++-1□Ix|

文件媼輯查看插入工程編降工具窗口期助

窗R0序口電能]二:▼□回君|聃[二IM

|(Globals)fl[Allglobalmembers川.main二|包▼怎囪后!?1、

Bimlxpp

蠡Workspace'mm':1pre//圣釜*****左頭釜*或圣**共英***M

B摩Immfiles//箸箸關(guān)關(guān)*關(guān)關(guān)ch1.1.cpp*********

B4SourceFiles//??*?■******釜*********關(guān)W*

圖ml.cpl#include<iostrean.h>

uoidnain()

1HeaderFiles

lResourceFilescout<<"helloWorld.\n";|

>

J2J

■iCIassV...g]FileView|

x|ConFigur

JCompiling...

ml.cpp

ml.obj-0error(s),0warni

rn\編譯.(調(diào)試入查找文件i入查找文件2)結(jié)果/iijj一爹?澎儂法篥

Ln7,Col34inEF|COL|OVRIRIAD/(

二.最小樣板程序

例:

〃************************

〃*******ch]]cpp*********注釋

〃************************

#include<iostream.h>頭文件

V0壯施回墻瓢文件到程序中

數(shù)

體表示該函數(shù)沒有返回值

一—條語句的

花cout?^helloWorldAn^;

以鹿臉善控制符

helloWorld.

例:

chl_2.cpp

#include<iostream.h>

voidmain()

intresult;變量定義

cout?“Pleaseinputtwonumbers:\n^;

cin?a?b;軸入

result=3*a-2*b+l;

coutvv“Resultis99?result?endl;

運行結(jié)果為:C:>chl_2J

Pleaseinputtwonumbers:換行符

10050J

Resultis201

例1?2:C++程序:輸入一個人的姓名,然后輸

出,,HELLO,…

//exl_2.cpp

溫馨提示

  • 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

提交評論