第二章程序設(shè)計概念_第1頁
第二章程序設(shè)計概念_第2頁
第二章程序設(shè)計概念_第3頁
第二章程序設(shè)計概念_第4頁
第二章程序設(shè)計概念_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章程序設(shè)計概念解決問題的一般概念日常生活問題的解決A.明確問題B.理解問題C.尋找備選方案D.從備選方案列表中找出最好的解決方案E.列出所選擇的解決方案的指令F.評價解決方案計算機(jī)中的問題計算機(jī)并不能解決人類所面臨所有問題1算法問題:主要執(zhí)行非常困難和耗時的數(shù)據(jù)計算,如微分問題,地球軌跡,10000名字排序2啟發(fā)式問題:人工智能領(lǐng)域,下象棋,打牌1算法方案:可以通過一系列明確的動作來解決.2啟發(fā)式方案:需具有相應(yīng)的知識和經(jīng)驗,經(jīng)過不斷的嘗試和失敗才能達(dá)到最終目標(biāo)。1計算型如數(shù)學(xué)計算過程,大多數(shù)學(xué)問題都是計算型2

邏輯型如包含關(guān)系或邏輯處理的問題3反復(fù)型反復(fù)執(zhí)行一組數(shù)學(xué)型或邏輯型指令的問題,大多啟發(fā)式問題都屬于反復(fù)型。計算機(jī)解決問題的類型計算機(jī)解決問題的基本過程:

分析問題設(shè)計算法調(diào)試程序編寫程序檢測結(jié)果解決問題的難點:

人計算機(jī)編寫指令算法計算機(jī)解決的任何問題都可以通過按特定順序執(zhí)行一系列操作來完成,對操作的描述就是算法(Algorithm)。算法包括了執(zhí)行的操作和執(zhí)行操作的順序。李開復(fù):算法的力量

算法是計算機(jī)科學(xué)領(lǐng)域最重要的基石之一,但卻受到了國內(nèi)一些程序員的冷落。許多學(xué)生看到一些公司在招聘時要求的編程語言五花八門就產(chǎn)生了一種誤解,認(rèn)為學(xué)計算機(jī)就是學(xué)各種編程語言,或者認(rèn)為,學(xué)習(xí)最新的語言、技術(shù)、標(biāo)準(zhǔn)就是最好的鋪路方法。其實大家都被這些公司誤導(dǎo)了。編程語言雖然該學(xué),但是學(xué)習(xí)計算機(jī)算法和理論更重要,因為計算機(jī)語言和開發(fā)平臺日新月異,但萬變不離其宗的是那些算法和理論,例如數(shù)據(jù)結(jié)構(gòu)、算法、編譯原理、計算機(jī)體系結(jié)構(gòu)、關(guān)系型數(shù)據(jù)庫原理等等。整天趕時髦的人最后只懂得招式,沒有功力,是不可能成為高手的。用流程圖表示求解下列問題的算法。

求1~100的積YN開始結(jié)束1=>i1=>productProduct*i=>producti+1=>ii<=100輸出product開始結(jié)束1=>i0=>sumsum+i=>sumi+1=>ii<=100YN輸出sum計算機(jī)中表示的算法:一個逐步的指令序列,用來描述怎樣執(zhí)行操作以產(chǎn)生期望的結(jié)果。算法體現(xiàn)了解決問題的步驟,一旦選定算法,就要用計算機(jī)語言編寫程序(生成代碼)。

把算法翻譯成計算機(jī)認(rèn)識的命令程序程序是為完成一項特定任務(wù)而用計算機(jī)語言編寫的一組指令序列。編寫程序就是指示計算機(jī)完成特定的任務(wù)或解決特定的問題。程序就是計算機(jī)的駕駛員操作碼

操作數(shù)

數(shù)據(jù)傳送指令數(shù)據(jù)處理指令程序控制指令輸入輸出指令

其它指令

IfGoto……+-×÷AndOr……CPU內(nèi)存I/O設(shè)備主機(jī)對計算機(jī)的硬件進(jìn)行管理等指令

結(jié)構(gòu)分類指令:用來規(guī)定計算機(jī)的一個基本操作的二進(jìn)制代碼。#include<iostream>usingnamespacestd;intmain(){inti=1,sum=0;do{sum=sum+i;i=i+1;}while(i<=100);cout<<sum<<endl;return0;}C語言編寫的程序開始結(jié)束1=>i0=>sumsum+i=>sumi+1=>ii<=100YN算法的流程圖#include<iostream>usingnamespacestd;intmain(){inti=1,product=1;do{product=product*i;i=i+1;}while(i<=100);cout<<product<<endl;return0;}#include<iostream>usingnamespacestd;intmain(){inti=1,sum=0;do{sum=sum+i;i=i+1;}while(i<=100);cout<<sum<<endl;return0;}求積求和不是所有的算法都能編寫成計算機(jī)可執(zhí)行的程序。計算機(jī)算法特征:有窮性、確定性、有零個或多個輸入、有一個或多個輸出、有效性。計算機(jī)不能容忍算法的多義性。程序員的難點?廣大的學(xué)生上網(wǎng)成癮如患絕癥。編寫程序的前期工作1、分析問題a.確定期望的輸出b.確定輸入項目c.列出相關(guān)輸入和輸出的公式d.執(zhí)行手工計算2.選擇一個全面解決問題的算法3.編寫程序4.測試?yán)纾簣A的周長C可由公式C=2πr確定,其中π值3.1415,r是圓的半徑。利用這個公式,計算半徑是65.0m的圓的周長。a.確定期望的輸出:圓的周長b.確定輸入項目:半徑c.列出相關(guān)輸入和輸出的公式:C=2πrd.執(zhí)行手工計算:給一個半徑,用該公式計算開始結(jié)束設(shè)置半徑r值為2周長C=2πr

輸出周長#include<iostream>usingnamespacestd;intmain(){floatr,C;//聲明輸入和輸出項目r=65.0;//設(shè)置半徑的值

C=2*3.1415*r;//計算周長(輸出)

cout<<“圓的周長:”<<C<<endl;return0;}編寫程序好的程序設(shè)計方法才能寫出優(yōu)秀的代碼。把選擇好的算法翻譯成C語言的過程稱為程序設(shè)計。程序設(shè)計方法

一、結(jié)構(gòu)化程序設(shè)計方法二、面向?qū)ο蟮姆椒ńY(jié)構(gòu)化程序設(shè)計方法程序的目的:用于數(shù)學(xué)計算主要工作:設(shè)計求解問題的過程缺點:對于龐大、復(fù)雜的程序難以開發(fā)和維護(hù)設(shè)計思路自頂向下、逐步求精。采用模塊分解與功能抽象,自頂向下、分而治之。程序結(jié)構(gòu):按功能劃分為若干個基本模塊,形成一個樹狀結(jié)構(gòu)。各模塊間的關(guān)系盡可能簡單,功能上相對獨立;每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成。其模塊化實現(xiàn)的具體方法是使用子程序。優(yōu)點:有效地將一個較復(fù)雜的程序系統(tǒng)設(shè)計任務(wù)分解成許多易于控制和處理的子任務(wù),便于開發(fā)和維護(hù)。缺點:可重用性差、數(shù)據(jù)安全性差、難以開發(fā)大型軟件和圖形界面的應(yīng)用軟件把數(shù)據(jù)和處理數(shù)據(jù)的過程分離為相互獨立的實體。當(dāng)數(shù)據(jù)結(jié)構(gòu)改變時,所有相關(guān)的處理過程都要進(jìn)行相應(yīng)的修改。每一種相對于老問題的新方法都要帶來額外的開銷。圖形用戶界面的應(yīng)用程序,很難用過程來描述和實現(xiàn),開發(fā)和維護(hù)也都很困難。面向?qū)ο蟮姆椒▽?shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一起,作為一個相互依存、不可分離的整體——對象。對同類型對象抽象出其共性,形成類。類通過一個簡單的外部接口,與外界發(fā)生關(guān)系。對象與對象之間通過消息進(jìn)行通訊。優(yōu)點:程序模塊間的關(guān)系更為簡單,程序模塊的獨立性、數(shù)據(jù)的安全性就有了良好的保障。通過繼承與多態(tài)性,可以大大提高程序的可重用性,使得軟件的開發(fā)和維護(hù)都更為方便。根據(jù)程序設(shè)計方法選擇合適的程序設(shè)計語言

計算機(jī)語言的發(fā)展第一臺可編程的計算機(jī)是1822年由英國物理學(xué)家和數(shù)學(xué)家CharlesBabbage(查爾斯.巴比奇)發(fā)明的,AdaByron(艾達(dá).拜倫)為這臺機(jī)器開發(fā)過一組指令??上В@臺機(jī)器沒有完成。但可編程的機(jī)器的概念誕生了。Ada

Auausta伯爵夫人,(詩人拜倫之女)第一位計算機(jī)程序員巴貝奇,CharlesBabbage(1792~1871)

英國數(shù)學(xué)家。1792年12月26日生于英國德文郡,1871年10月18日卒于倫敦。巴貝奇于1810年入劍橋大學(xué)學(xué)習(xí),后為該校數(shù)學(xué)教授。1816年被選為英國皇家學(xué)會會員。1812年巴貝奇開始研究差分機(jī),1822年制成一臺可以運轉(zhuǎn)的小型樣機(jī)。它是一臺專用的加法機(jī),在計算過程中不用人干預(yù)便可自動進(jìn)行計算。巴貝奇在1832年提出了分析機(jī)的設(shè)想,把程序控制引入計算機(jī)。但是由于當(dāng)時技術(shù)和經(jīng)費等原因未能研制成功。

1834年,Charles

Babbage發(fā)明解析機(jī)(Analytical

Engine),首度提出近似現(xiàn)代電腦組織的觀念。雖因機(jī)器結(jié)構(gòu)太復(fù)雜,非當(dāng)時技術(shù)所能制造。但解析機(jī)的設(shè)計理念和Babbage的程式構(gòu)想,卻開啟了近代計算機(jī)的先河。

1937年,美國科學(xué)家制造了一臺機(jī)器(稱為ABC),但需要人配合才能執(zhí)行指令。1939年,賓夕法尼亞大學(xué)的約翰.馬茨里(JohnW.Mauchly)博士開始研制一種稱為電子數(shù)字積分計算機(jī)ENIIAC(ElectricalNumericalIntegratorandComputer),直到1946年才完成。

第一臺電子計算機(jī)

(ENIAC,ElectronicNumericalIntegratorAndCalculator)5000次加法/秒重量28噸占地170m218800只電子管1500個繼電器功率150KW計算機(jī)語言的分類計算機(jī)語言機(jī)器語言低級語言高級語言匯編語言C,C++,DELPHI已知基本工資(basepay)和加班工資(overpay),計算總工資(pays)。我們的算法:basepay+overpay=>pays機(jī)器編碼:11000000000000000000010000000000101111000000000000000010000000000011匯編(不同機(jī)器類型,編碼不同):LOADbasepayADDoverpaySTOREpays高級語言編碼(C語言源代碼)pays=basepay+overpay;機(jī)器語言由計算機(jī)硬件系統(tǒng)可以識別的二進(jìn)制指令組成的語言稱為機(jī)器語言。匯編語言將機(jī)器指令映射為一些可以被人讀懂的助記符,如ADD、SUB等。機(jī)器語言由計算機(jī)硬件系統(tǒng)可以識別的二進(jìn)制指令組成的語言稱為機(jī)器語言。匯編語言將機(jī)器指令映射為一些可以被人讀懂的助記符,如ADD、SUB等。計算機(jī)發(fā)展的初期,軟件工程師們只能用機(jī)器語言來編寫程序。這一階段,在人類的自然語言和計算機(jī)編程語言之間存在著巨大的鴻溝。機(jī)器語言由計算機(jī)硬件系統(tǒng)可以識別的二進(jìn)制指令組成的語言稱為機(jī)器語言。匯編語言將機(jī)器指令映射為一些可以被人讀懂的助記符,如ADD、SUB等。計算機(jī)發(fā)展的初期,軟件工程師們只能用機(jī)器語言來編寫程序。這一階段,在人類的自然語言和計算機(jī)編程語言之間存在著巨大的鴻溝。此時編程語言與人類自然語言間的鴻溝略有縮小,但仍與人類的思維相差甚遠(yuǎn)。因為它的抽象層次太低,程序員需要考慮大量的機(jī)器細(xì)節(jié)。高級語言屏蔽了機(jī)器的細(xì)節(jié),提高了語言的抽象層次,程序中可以采用具有一定涵義的數(shù)據(jù)命名和容易理解的執(zhí)行語句。這使得在書寫程序時可以聯(lián)系到程序所描述的具體事物。IBMForTranPascalAdaCC++Jave高級語言屏蔽了機(jī)器的細(xì)節(jié),提高了語言的抽象層次,程序中可以采用具有一定涵義的數(shù)據(jù)命名和容易理解的執(zhí)行語句。這使得在書寫程序時可以聯(lián)系到程序所描述的具體事物。C是面向過程的高級語言C++是面向?qū)ο蟮母呒壵Z言

計算機(jī)同人類解決問題一樣,必須了解問題域,找出問題中相關(guān)的數(shù)據(jù)、未組織要素、已組織要素、信息,這些信息和數(shù)據(jù)是計算機(jī)解決問題的工具,是處理過程中用到的數(shù)據(jù)。在解決問題時,計算機(jī)首先要把問題中所需要的數(shù)據(jù)和要執(zhí)行的程序存儲到計算機(jī)的內(nèi)存(主存儲器)中。

存儲器的種類存儲器是計算機(jī)的記憶部件,負(fù)責(zé)存儲程序和數(shù)據(jù)。存儲器分兩大類:主存儲器(內(nèi)存)和輔助存儲器(外存)。主存儲器采用的是半導(dǎo)體存儲器,其特點是:存取數(shù)據(jù)速度快,可隨機(jī)存取,體積小,功耗低。內(nèi)存容量有限。主存儲器(內(nèi)存)又分為隨機(jī)存儲器RAM和只讀存儲器ROM。ROM(ReadOnlyMemory)主要用來存放固定不變的程序、數(shù)據(jù)系統(tǒng)軟件,如BIOS程序。這種存儲器中的信息只能讀出而不能隨意寫入。斷電后所存數(shù)據(jù)不會改變(具有非易失性)。RAM(RandomAccessMemory)是一種隨機(jī)訪問的可讀寫存儲器。在計算機(jī)斷電后RAM中的信息會丟失(具有易失性)。RAM存儲器分為:靜態(tài)RAM和動態(tài)RAM。程序執(zhí)行時,程序和數(shù)據(jù)都存儲在RAM中。CPUCPU內(nèi)部結(jié)構(gòu)Cache計算機(jī)的存儲程序工作原理

計算機(jī)利用主存儲器(主存)存放需執(zhí)行的程序,中央處理器依次從主存中取出每一條指令,并經(jīng)過分析后加以執(zhí)行,直到全部指令執(zhí)行完成。不論指令還是數(shù)據(jù),若想存入計算機(jī)中,都必須采用二進(jìn)制編碼形式,在二進(jìn)制系統(tǒng)中只有兩個數(shù)0和1,即便是多媒體信息(聲音、圖形等)也必須轉(zhuǎn)換成二進(jìn)制的形式,才能存入計算機(jī).二進(jìn)制概念128瓦32瓦64瓦16瓦8瓦4瓦1瓦2瓦11111000二進(jìn)制數(shù)制,由18世紀(jì)德國數(shù)理哲學(xué)大師萊布尼茲發(fā)現(xiàn)。二進(jìn)制具有以下優(yōu)勢:1.易于物理實現(xiàn):因為具有二種穩(wěn)定狀態(tài)的物理器件是很多的,如門電路的導(dǎo)通與截止,電壓的高與低,而它們恰好對應(yīng)表示1和0兩個符號。假如采用十進(jìn)制,要制造具有十種穩(wěn)定狀態(tài)的物理電路,那是非常困難的。2.二進(jìn)制數(shù)運算簡單:數(shù)學(xué)推導(dǎo)證明,對R進(jìn)制的算術(shù)求和、求積規(guī)則各有R(R+1)/2種。如采用十進(jìn)制,就有55種求和與求積的運算規(guī)則;而二進(jìn)制僅各有三種,因而簡化了運算器等物理器件的設(shè)計。3.機(jī)器可靠性高:由于電壓的高低,電流的有無等都是一種質(zhì)的變化,兩種狀態(tài)分明,所以基2碼的傳遞抗干擾能力強(qiáng),鑒別信息的可靠性高。4.通用性強(qiáng):基2碼不僅成功地運用于數(shù)值信息編碼(二進(jìn)制),而且適用于各種非數(shù)值信息的數(shù)字化編碼。特別是僅有的二個符號0和1正好與邏輯命題的兩個值“真”與“假”相對應(yīng),從而為計算機(jī)實現(xiàn)邏輯運算和邏輯判斷提供了方便。十進(jìn)制 R=10,數(shù)字集0,1,2,3,4,5,6,7,8,9二進(jìn)制 R=2,數(shù)字集0,1八進(jìn)制 R=8,數(shù)字集0,1,2,3,4,5,6,7十六進(jìn)制R=16,數(shù)字集0,…,9,A,B,C,D,E,F其他進(jìn)制日常生活中我們最熟悉十進(jìn)制數(shù)據(jù),但在與計算機(jī)打交道時,會接觸到二進(jìn)制、八進(jìn)制、十六進(jìn)制系統(tǒng),但無論哪種數(shù)制,其共同之處都是進(jìn)位記數(shù)制。

內(nèi)部存儲器的作用是存放執(zhí)行的程序和程序中需要使用的數(shù)據(jù),是整個數(shù)據(jù)存儲和變換的樞紐。存儲器由一個個大小相同的存儲單元組成,每個存儲單元由8位二進(jìn)制位組成。為了區(qū)分和訪問不同的存儲單元,系統(tǒng)為每一個存儲單元分配了惟一的編號,稱為存儲單元的地址。存儲單元內(nèi)存放的是數(shù)據(jù)。CPU對存儲器可以讀(?。┮部梢詫懀ù妫?shù)據(jù).……0110101010110110存放內(nèi)容地址0001000200030004……FFFEFFFF存儲器的邏輯結(jié)構(gòu)存儲器的容量

存儲器的每個存儲單元可以存放8位二進(jìn)制,稱為一個字節(jié)(Byte),字節(jié)是訪問內(nèi)存的最小單位。字節(jié)是存儲的基本單元,二進(jìn)制位則是計算機(jī)對數(shù)據(jù)操作的最小單位。位與字節(jié)的關(guān)系?從物理上看,一個位(bit)就是一個既能開又能關(guān)的開關(guān),開用0表示,關(guān)用1表示。單一的bit限制了其可用性,因此,所有的計算機(jī)都把bit組合起來形成一個更大的單元,即字節(jié)(Byte)。存儲單位位(Bit):度量數(shù)據(jù)的最小單位字節(jié)(Byte):最常用的基本單位K字節(jié) 1K=1024byteM(兆)字節(jié) 1M=1024KG(吉)字節(jié) 1G=1024MT(太)字節(jié) 1T=1024Gb7b6b5b4b3b2b1b0計算機(jī)如何存儲數(shù)據(jù)計算機(jī)將數(shù)據(jù)存儲在內(nèi)存的存儲單元(字節(jié))中。不同類型的數(shù)據(jù)占用的存儲單元數(shù)不同。

一個位能表現(xiàn)什么值?一個字節(jié)能夠表示多少個不同的位模式?字長:字長是指計算機(jī)能直接處理的二進(jìn)制信息的位數(shù)。字長是由CPU內(nèi)部的寄存器、加法器和數(shù)據(jù)總線的位數(shù)決定的。字長越長,精度越高,速度越快,但價格也越高。當(dāng)前微機(jī)字長有16位,32位,高檔微機(jī)的字長是64位。主頻:指時鐘脈沖發(fā)生器在單位時間(s)內(nèi)發(fā)出的脈沖數(shù)。頻率越高,計算機(jī)的處理信息的速度也越快。主頻的單位是兆赫茲(MHz,GHz)。存儲容量:(1)內(nèi)存容量。指內(nèi)存儲器能夠存儲信息的總字節(jié)數(shù)。容量越大,運行速度越快。內(nèi)存儲器容量大小,受限于CPU的地址總線。(2)外存容量。指外存儲器所能容納的總字節(jié)數(shù)。數(shù)據(jù)以二進(jìn)制形式存儲

漢字編碼GB國標(biāo)碼:中文內(nèi)碼之一,代表中文簡化字,在中國大陸廣泛使用,影響所及,使用量漸見普及。國標(biāo)碼是指國家標(biāo)準(zhǔn)信息交換用漢字編碼(GB2312-80標(biāo)準(zhǔn))。國標(biāo)碼是指1980年中國制定的用于不同的具有漢字處理功能的計算機(jī)系統(tǒng)間交換漢字信息時使用的編碼。國際碼是二字節(jié)碼,用兩個七位二進(jìn)制數(shù)編碼表示一個漢字。目前國標(biāo)碼收入6763個漢字,其中一級漢字(最常用)3755個,二級漢字3008個,另外還包括682個西文字符、圖符。音頻、視頻、圖形、圖像數(shù)值數(shù)據(jù)整型數(shù)據(jù):二進(jìn)制編碼原碼:商除2取余,逆序排列,最高位是符號位,整數(shù)是0,負(fù)數(shù)是1.反碼:原碼的各個位取反,符號位除外補(bǔ)碼:反碼最末位加11+1=01+0=10+1=10+0=0整數(shù)以補(bǔ)碼形式存儲。正整數(shù):原碼,反碼,補(bǔ)碼一樣.例如:+15(用一個字節(jié)表示)原碼:00001111符號位數(shù)值位+15(用一個字節(jié)表示)原碼:00001111反碼:00001111補(bǔ)碼:00001111正整數(shù)的原碼、反碼、補(bǔ)碼一樣負(fù)整數(shù):例如-15(一個字節(jié)表示)原碼:10001111反碼:11110000補(bǔ)碼:11110001以補(bǔ)碼形式存儲二進(jìn)制轉(zhuǎn)換為十進(jìn)制00010101=24+22+20=+21必須是原碼才能轉(zhuǎn)為真值.1110000=2-1+2-2+2-3=0.87511001100,計算出對應(yīng)的十進(jìn)制數(shù)求出原碼:對補(bǔ)碼除符號位外各個位求反,最末位加111001100對應(yīng)的原碼是:10110100真值:-52浮點數(shù)的存儲浮點數(shù)轉(zhuǎn)換為二進(jìn)制一、整數(shù)部分:商除2取余,商為0結(jié)束,余數(shù)逆序排列;二、小數(shù)部分:乘2取整,積為0結(jié)束,整數(shù)部分順序排列。例如:單精度浮點數(shù)120.5的二進(jìn)制原碼表示:

1111000.1浮點數(shù)120.5用二進(jìn)制表示為:1111000.1用二進(jìn)制的科學(xué)計數(shù)法表示為1.1110001*26任何一個數(shù)的科學(xué)計數(shù)法表示都為1.xxx*2n

尾數(shù)部分就可以表示為xxxx,不保存小數(shù)點前面的1,所以23位的尾數(shù)部分,可以表示的精度卻變成了24位。

對于指數(shù)部分,因為指數(shù)可正可負(fù),8位的指數(shù)位能表示的指數(shù)范圍就應(yīng)該為:-127~128,指數(shù)部分的存儲采用移位存儲,即存儲的數(shù)據(jù)為元數(shù)據(jù)加上127,8位指數(shù)位全是數(shù)值位,數(shù)值范圍:0~255如指數(shù)是6,實際存儲的是133的二進(jìn)制.

單精度浮點數(shù)120.5的存儲方式如下所示:01000010111100001000000000000符號位指數(shù)位尾數(shù)位12.651.原碼:1100.101001100110011001102.科學(xué)計數(shù):1.10010100110011001100110*233.尾數(shù)用補(bǔ)碼表示:100101001100110011001104.指數(shù):3+127=130,130的原碼:100000101內(nèi)存中:010000010110010100110011001100110符號位指數(shù)位:指數(shù)沒有符號位尾數(shù)位-0.0121.原碼:0.000000110001002.科學(xué)計數(shù):1.1000100*2-73.尾數(shù):10001004.指數(shù):-7+127=120,120的原碼:01111000內(nèi)存中:1011110001000100符號位指數(shù)位:指數(shù)沒有符號位尾數(shù)位如果給出內(nèi)存中一段單精度存儲的數(shù)據(jù),如何知道該數(shù)據(jù)的十進(jìn)制數(shù)值呢?如給出如下內(nèi)存數(shù)據(jù):0100001011101101000000000000首先分段:01000010111011010000000000000000根據(jù)我們的計算方式,可以計算出,這樣一組數(shù)據(jù)表示為:1.1101101*26=1110110.1=120.5符號位指數(shù)位尾數(shù)位給出以下數(shù)的二進(jìn)制存儲形式:25-3018.7-18.7給出以下整數(shù)的十進(jìn)制存儲形式:00111110001110101011111000111010給出以下浮點數(shù)的十進(jìn)制存儲形式:0111001000001110001110001100110011110010000011100011100011001100在程序中如何表示數(shù)據(jù)呢?#include<iostream>usingnamespacestd;intmain(){floatr,C;//聲明輸入和輸出項目r=65.0;//設(shè)置半徑的值

C=2*3.1415*r;//計算周長(輸出)

cout<<“圓的周長:”<<C<<endl;return0;}floatr,C;//r,C就表示數(shù)據(jù)r,C在程序中稱為變量。程序中用變量和常量來表示數(shù)據(jù)。程序員必須給使用的每個變量命名。變量變量名、變量值、變量標(biāo)識的內(nèi)存單元:

sudent_score

注:一些在問題中值經(jīng)常變動的數(shù)據(jù)可以定義成變量,如商品的價格,賬戶上的余額.89內(nèi)存單元變量名(不能變)變量值(可變,在程序運行時)變量名和變量值的區(qū)別:變量名是一個標(biāo)簽,計算機(jī)根據(jù)變量名找到相應(yīng)的內(nèi)存地址,然后把這個地址中存放的內(nèi)容---變量值取出來進(jìn)行處理.因計算機(jī)只用名訪址,所以必須保證變量名的一致性。在程序中,通過變量名來訪問數(shù)據(jù),每個變量名都與一個特定的內(nèi)存單元聯(lián)系起來,每個內(nèi)存單元一次只能存放一個數(shù)值。

對于程序員來說,變量最關(guān)鍵的作用是什么?存儲單元和內(nèi)存單元的區(qū)別?變量所標(biāo)識的內(nèi)存單元可以被刷新。刷新的含義是什么?常量常量:常量是一種固定的字符或數(shù)值,在整個指令運行過程中都不能改變,在編程語言中,可以給常量命名,這時,常量就有了內(nèi)存地址和名字,在程序執(zhí)行過程中,常量會被賦值,且該值不能再改變,可通過名字訪問它.常數(shù)是常量的一種表示,直接使用,如89,8.7

3.1415926

PI

常量名(不能變)常量值(不能變)內(nèi)存單元注:一些在問題中值不變的數(shù)據(jù)可以定義成常量,如,圓周率的值,一個公司薪水系統(tǒng)中公司的名字.計算機(jī)中的常量和變量常量變量規(guī)則:不能改變例子:值值常量命名

溫馨提示

  • 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

提交評論