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

下載本文檔

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

文檔簡(jiǎn)介

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

廳口

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

1、應(yīng)試

2、應(yīng)用

?:?本課程的特點(diǎn):

1、理論知識(shí)較少,實(shí)際操作較多

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

3、有大量的實(shí)例

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

理論課:

1、將重要概念勾畫(huà)在書(shū)上

2、記憶典型的實(shí)例的編程方法

上機(jī)操作課:

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

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

文件夾中。

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

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

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

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

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

。本課程的考核方法:

必修:平時(shí)成績(jī)占30分,期末卷面成績(jī)占70分。

選修:平時(shí)成績(jī)占40分,期末卷面成績(jī)占60分。

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

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

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

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

?時(shí)間安邦E:

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

推薦參考書(shū):

書(shū)名作者出版社

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

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

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

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

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

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

第1章

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

講授內(nèi)容

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

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

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

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

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

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

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

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

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

8能接收和存儲(chǔ)信息

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

8能輸出結(jié)果

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

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

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

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

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

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

等直接交換信息

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

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

■控制器+運(yùn)算器=中央處理器

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

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

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

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

所需要并能識(shí)別的信息形式

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

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

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

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

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

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

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

■上述分類(lèi)是交叉和變化的

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

中是支撐軟件

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

軟件

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

■問(wèn)題求解過(guò)程步驟

g問(wèn)題定義一明確要解決的問(wèn)題

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

步驟

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

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

■算法與程序

8算法一由有限個(gè)步驟組成的求解問(wèn)題的方法

8算法的特點(diǎn)

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

■確定性:每一個(gè)步驟必須是無(wú)二義的

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

■輸入:一般有輸入信息

■輸出:一般有一個(gè)或多個(gè)輸出信息

■算法的描述方式

文字描述

■自然語(yǔ)言例:P5

e圖形描述

■流程圖、盒圖,PAD圖等

■流程圖的符號(hào):

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

處理框L/

過(guò)程—判斷框<

連接點(diǎn)流程線(xiàn)一

例:圖1?2P6

-程序語(yǔ)言描述

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

例:P7

■程序的組成

8數(shù)據(jù)

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

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

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

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

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

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

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

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

由語(yǔ)法、語(yǔ)義和語(yǔ)用3個(gè)方面組成:

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

.語(yǔ)義:各個(gè)記號(hào)的特定含義

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

a機(jī)器語(yǔ)言P8

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

GS匯編語(yǔ)言

■使用一組助記符編碼,需要匯編才能運(yùn)行

網(wǎng)高級(jí)語(yǔ)言

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

能運(yùn)行

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

1.3程序設(shè)計(jì)方法

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

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

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

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

3自頂向下,逐步求精

■描述問(wèn)題,分析問(wèn)題,分解問(wèn)題成相對(duì)獨(dú)立的子問(wèn)題

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

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

3模塊化原則

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

③缺點(diǎn)(對(duì)于大型軟件開(kāi)發(fā))

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

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

8面向問(wèn)題

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

■問(wèn)題由哪些對(duì)象組成?對(duì)象之間如何相互作用?

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

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

8找出問(wèn)題中的對(duì)象和類(lèi)

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

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

8用程序代碼實(shí)現(xiàn)這些對(duì)象和類(lèi)

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

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

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

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

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

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

完成功能。

1.4C與C++

?c語(yǔ)言的歷史

e起源于Algol60

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

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

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

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

e1972年左右,DennisRitchie和KenThompson在貝爾實(shí)驗(yàn)

室設(shè)計(jì)UNIX系統(tǒng)時(shí),開(kāi)發(fā)出了C語(yǔ)言

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

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

ANSIC

■C語(yǔ)言的特點(diǎn)

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

8運(yùn)算符豐富,共34個(gè)運(yùn)算符

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

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

語(yǔ)言的實(shí)用性

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

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

統(tǒng)

■C++語(yǔ)言

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

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

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

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

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

1.5C++編程簡(jiǎn)介

步驟一:

1

或2

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

單擊“文件”9單擊“新建”少單擊“文件”選項(xiàng)卡今單擊

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

新建

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

陽(yáng)ActiveServerPage廠A添加工程;

司BinaryFile

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

PlC/C++Header

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

/CursorFile文件/

JOHTMLPageII

XXX.c

?)lconFile

I:MacroFile

用ResourceScript£目錄:

號(hào)ResourceTemplate2d

國(guó)SQLScriptFile

[=lTextFile

3、選擇文件存放目錄

4、單擊確定

后,就可以編

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

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

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

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

文件纏輯查看插入工程編譯工具窗口費(fèi)助

??A|嗎同它聃二1?

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

j*

啕Workspace'mm':1pre

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

j^l^purceFiles

L_jHea

口Resource

1±18、單擊+,展開(kāi)

iSFileWewp

■3ClassV...

X

7、單擊FileView

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

Ready

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

文件纏輯查看插入工程編譯工具窗口費(fèi)助

留心口博|以電電|土—厄國(guó)甘聃

卜Globals)[AllglobalmembersH|[Nomembers-CrealeNewClass.

上■:.囪??離!凰-

X

帽Workspace'mm':1pre

巳國(guó)mmfiles

_JSourceFiles

LJHeaderFiles^

AddFilestoFolder,,,

口ResourceFil10、選擇AddFilesto

Settings...

沸AddtoSourceControl...

11Folder

vDockingView

TCIassV…圄FileVhMe

*1甯Properties

Jl

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

/

InsertFilesintoProject?|2<J

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

口Debug:

11、輸入文件名

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

文件類(lèi)型夏):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國(guó)mmfiles

>SourceFiles

因UJI)團(tuán)

_hHeaderFiles

_|ResourceFiles15、雙擊要編輯的源

\I2J

■jClassV...ilTKiieView程序文件名

ifiK中文VC++

ProjectfileE:\mm\ml.cppdoesnotexist.

Doyouwanttocreateanewfile?

14、單擊十號(hào),展開(kāi)

單擊

Ready/

.mm-fil天中5CVC++編譯連接運(yùn)行

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

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

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

X

啕Workspace'mm':1pre

白-國(guó)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ù)沒(méi)有返回值

一—條語(yǔ)句的

花cout?^helloWorldAn^;

以鹿臉善控制符

號(hào)

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;

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

Pleaseinputtwonumbers:換行符

10050J

Resultis201

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

出,,HELLO,…

//exl_2.cpp

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論