程式设计简介课件.ppt

上传人(卖家):晟晟文业 文档编号:5207599 上传时间:2023-02-17 格式:PPT 页数:44 大小:223.29KB
下载 相关 举报
程式设计简介课件.ppt_第1页
第1页 / 共44页
程式设计简介课件.ppt_第2页
第2页 / 共44页
程式设计简介课件.ppt_第3页
第3页 / 共44页
程式设计简介课件.ppt_第4页
第4页 / 共44页
程式设计简介课件.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、程式設計簡介程式設計簡介李俊宏李俊宏2006/11/032002何謂程式與程式設計何謂程式與程式設計程式程式控制電腦如何做動作的指令集合控制電腦如何做動作的指令集合程式設計程式設計設計一組指令集合控制電腦做動作設計一組指令集合控制電腦做動作2002何謂電腦系統以及為何要作程式設計何謂電腦系統以及為何要作程式設計作業系統作業系統使用者使用者使用者使用者使用者使用者程式設計師程式設計師程式編譯軟體程式編譯軟體組合語言編譯軟體組合語言編譯軟體文字編輯軟體文字編輯軟體資料庫系統資料庫系統軟體軟體電腦硬體電腦硬體電腦軟體電腦軟體Office 軟體軟體黃易群俠傳遊戲軟體黃易群俠傳遊戲軟體系統軟體系統軟體2

2、002由硬體觀點看程式設計由硬體觀點看程式設計計算邏輯單元控制單元暫存器主記憶體輸入輸出硬碟控制器外接硬體界面CPU電腦程式2002程式語言程式語言,程式程式,c+之間的關係為何之間的關係為何程式程式控制電腦如何做動作的指令集合控制電腦如何做動作的指令集合程式語言程式語言寫指令集合時須符合的格式寫指令集合時須符合的格式C+語言語言一種程式語言一種程式語言2002機器語言機器語言,組合語言組合語言,與高階語言與高階語言n三種程式語言三種程式語言(依與硬體相關性分類依與硬體相關性分類)n機器語言機器語言 n控制機器的特定數字字串控制機器的特定數字字串-人類很難看懂人類很難看懂n例子例子:n+130

3、0042774n+1400593419n+1200274027n組合語言組合語言n比較像文字的控制機器的指令比較像文字的控制機器的指令n須組譯器轉成機器可以看懂的機器語言須組譯器轉成機器可以看懂的機器語言n例子例子:nLOAD BASEPAYnADD OVERPAYnSTORE GROSSPAYn高階語言高階語言n更像文字更像文字(英文英文)的控制機器的指令的控制機器的指令n用數學符號來表示運算式用數學符號來表示運算式n例子例子ngrossPay=basePay+overTimePay1/*Fig.2.1:fig02_01.c2 A first program in C*/3#include

4、45int main()67 printf(Welcome to C!n);89 return 0;10 2002基礎的程式發展環境基礎的程式發展環境基礎的程式發展步驟基礎的程式發展步驟1.編輯編輯2.前置處理前置處理3.編譯編譯4.連結連結5.載入載入6.執行執行 編輯程式編輯程式處理程式的前置碼處理程式的前置碼載入主記憶體載入主記憶體CPU按順序一個一個執按順序一個一個執行被轉成機器語言的程行被轉成機器語言的程式碼式碼編譯程式轉成機器語言編譯程式轉成機器語言並存到儲存裝置並存到儲存裝置連結外部的函式庫連結外部的函式庫(別人別人寫好的寫好的)載入器載入器主記憶體編譯器編譯器編輯器編輯器前置處

5、理器前置處理器連結器連結器主記憶體.DiskDisk磁碟磁碟CPUDiskDiskIDE(整合開發環境整合開發環境)2002程式的整體觀點程式的整體觀點電腦系統使用者使用者其他系統其他系統ControlInterfaceData硬體觀點硬體觀點輸出入裝置CPU儲存裝置視窗畫面程式執行的控制資料結構軟體觀點軟體觀點2002程式例子程式例子1/*Fig.2.1:fig02_01.c2 A first program in C+*/3#include 44using std:cout;5 int main()6 7 cout“我是李俊宏我是李俊宏”;89 return 0;10 2002三大程式基本

6、要素三大程式基本要素#include int main()int row=10,column;while(row=1)column=1;while(column=10)printf(%s,row%2?);+column;-row;printf(n);return 0;資料資料控制流程控制流程動作動作2002資料資料:Variable(變變 數數)#include main()int a,b;a=1;b=a+2;printf(The value of 1+2 is%i.,b);031ab?0000 0000 0000 00010000 0000 0000 0011The value of 1+2

7、 is 3.電腦記憶體 RAM2002資料資料nInteger(整數整數 int)nFloating point(浮點數浮點數 float)nCharacter (字元字元 char)2002Integer數制數制前置符號前置符號例子例子printf 字元字元 進進 制制 無無123%i 或或 者者%d 進進 制制 00247%o 進進 制制0 x 或或 者者 0X0 x12EF%x2002An examplemain()int negative=-12;printf(negative=%in,negative);int decimal=59;printf(59 DEC=%x HEXn,dec

8、imal);printf(59 DEC=%o OCTn,decimal);int hexadecimal=0 x12EF;printf(0 x12EF HEX=%i DECn,hexadecimal);printf(0 x12EF HEX=%o OCTn,hexadecimal);int octal=0247;printf(0247 OCT=%i DECn,octal);printf(0247 OCT=%x HEXn,octal);2002Resultnegative=-1259 DEC=3b HEX59 DEC=73 OCT0 x12EF HEX=4847 DEC0 x12EF HEX=11

9、357 OCT0247 OCT=167 DEC0247 OCT=a7 HEX2002float、double main()float a=9765625;float b=331.79;double c=1.2345e-11;printf(a=%fnb=%fnc=%enc=%gn,a,b,c,c);a=9765625.000000b=331.790009c=1.234500e-011c=1.2345e-011%f 正常%e 科學記數法%g 如果科學記數法的指數是小於-4 或大於 5,就用%e 的方式,否則用%f。Why2002Characternchar char_variable=A;/用用

10、單單 引引 號號 來來 括括 著著 nchar char_variable=65;/用用 字字 元元 的的 ASCII 碼碼main()char a=A,b=65,newline=n;printf(a is%c.n,a);printf(b is%c.n,b);printf(Line1.%cLine2.n,newline);a is A.b is A.Line1.Line2.2002特殊字元特殊字元表示式表示式 說明說明n 換 行(Newline)t 縮 排(Tab)斜 線(Backslash)雙 引 號(Double quote)單 引 號(Single quote)nnn 用 ASCII 碼

11、 來 表 示,nnn 為 進 制 數 字 xhh 用 ASCII 碼 來 表 示,hh 為 進 制 數 字 2002Escape Sequence:examplemain()printf(tThis line begins with tab.n);printf(Its a C Tutorial.n);printf(This is backslash:.n);printf(101 is 101.n);printf(x41 is x41.n);This line begins with tab.Its a C Tutorial.This is backslash:.101 is A.x41 is

12、A.2002修修 飾詞飾詞n修修 飾飾 資資 料料 型型 態態n符符 號號n長長 短短n符符 號號 是是 指指 正正 或或 負負 號號,例例 如如 整整 數數 型型 態態 int,可可 以以 表表 示示 正正 數數 或或 負負 數數 的的,如如 果果 它它 是是 佔佔 位位 元元 的的 話話,那那 麼麼 它它 可可 以以 表表 示示:n由由 -(215)至至 215-1 的的 整整 數數,總總 共共 232 個個 整整 數數 nunsigned int variable;n由由 0 至至 232-1 的的 整整 數數,也也 是是 總總 共共 232 個個 整整 數數2002無號數飾詞無號數飾詞

13、main()int a=2147483647;unsigned int b=4294967295u;printf(a=%in,a);printf(b=%unn,b);a=a-4294967295;b=b-4294967295;printf(After subtracted by 4294967295:n);printf(a=%in,a);printf(b=%un,b);2002Resulta=2147483647b=4294967295After subtracted by 4294967295:a=-2147483648b=02002long&shortnshort int variable

14、;/Short integernlong int variable;/Long integernunsigned short int variable;/Unsigned short integernunsigned long int variable;/Unsigned long integernunsigned variable;nshort variable;nlong variable;nunsigned short variable;nunsigned long variable;省省 略略 int 2002Qualifier:long&short examplemain()shor

15、t int a=32767;long int b=2147483647;printf(a=%hin,a);a=a-65535;printf(After subtracted by 65535,a=%hin,a);printf(b=%lin,b);b=b-4294967295;printf(After subtracted by 4294967295,b=%lin,b);a=32767After subtracted by 65535,a=-32768b=2147483647After subtracted by 4294967295,b=-21474836482002控制流程控制流程n控制流程

16、介紹控制流程介紹nif 選擇結構選擇結構nif/else 選擇結構選擇結構nWhile 重覆結構重覆結構nFor 重覆結構重覆結構nSwitch 選擇結構選擇結構ndo/while 重覆結構重覆結構2002Introduction to control structuresn循序式的執行循序式的執行 n控制順序的轉變控制順序的轉變n當被執行的指令不是下一個指令時當被執行的指令不是下一個指令時nBohm and Jacopinin所有的控制指令只有下列三種所有的控制指令只有下列三種n循序式循序式(預設的預設的)n選擇選擇:C+has three types:if,if/else,and swit

17、chn重覆重覆:C+has three types:while,do/while and for2002The if Selection StructurenPseudocode statement in C:if(grade=60)printf(Passedn);truefalsegrade=60print“Passed”2002The if/else Selection StructurenC code:if(grade=60)printf(Passedn);else printf(Failedn);truefalseprint“Failed”print“Passed”grade=6020

18、02The while Repetition StructurenExample:int product=2;while(product=1000)product=2*product;product=1000product=2*producttruefalse2002The for Repetition Structuren格式格式nfor(初值初值;狀況測試狀況測試;增加增加)要重覆的內容要重覆的內容 nExample:nfor(int counter=1;counter=10;counter+)n printf(%dn,counter);n印出整數印出整數 1-10Nosemicolon(

19、;)afterlastexpressioncounter=10printf(%dn,counter)truefalseint counter=12002The switch Multiple-Selection Structuren格式格式switch(value)case 1:動作break;case 2:動作break;default:動作break;nbreak;離開的點離開的點2002switch 多重選擇結構多重選擇結構nFlowchart of the switch structuretruefalse.case acase a action(s)breakcase bcase b

20、 action(s)breakfalsefalsecase zcase z action(s)breaktruetruedefault action(s)2002do/while 重覆結構重覆結構nExample(counter=1):do printf(%d ,counter);while(+counter=10);nPrints the integers from 1 to 10truefalse動作動作(s)條件條件2002動作動作n功能函數功能函數n結構化程式設計結構化程式設計2002結構化程式設計介紹結構化程式設計介紹.Rule 2Rule 2Rule 2規則1由最簡單的流程圖開始規

21、則2任意一個程序方塊可以被分解成二個連續的小程序方塊2002結構化程式設計介紹結構化程式設計介紹Rule 3Rule 3Rule 3規則規則 3 將任意一個程序方塊用控制結構來取代將任意一個程序方塊用控制結構來取代2002結構化程式設計的目標結構化程式設計的目標n分解並各個擊破分解並各個擊破 n由小程序方塊或元件開始建構一個程式由小程序方塊或元件開始建構一個程式n這些小程序方塊叫作程式模組這些小程序方塊叫作程式模組n程式模組比單一的程式更好管理程式模組比單一的程式更好管理2002在在 C 語言中的程式模組語言中的程式模組nFunctionsnModules in CnPrograms comb

22、ine user-defined functions with library functionsnC standard library has a wide variety of functionsnFunction callsnInvoking functionsnProvide function name and arguments(data)nFunction performs operations or manipulationsnFunction returns resultsnFunction call analogy:nBoss asks worker to complete

23、tasknWorker gets information,does task,returns resultnInformation hiding:boss does not know details2002Math Library FunctionsnMath library functions nperform common mathematical calculationsn#include nFormat for calling functionsnFunctionName(argument);nIf multiple arguments,use comma-separated list

24、nprintf(%.2f,sqrt(900.0);nCalls function sqrt,which returns the square root of its argumentnAll math functions return data type doublenArguments may be constants,variables,or expressionsnSome math library function examplesnfabs(x)absolute value of x fabs(-5.0)is 5.0npow(x,y)power pow(2,7)is 128nrefe

25、r to p.146 fig.5.2.nMore information20021/*Fig.5.4:fig05_04.c2 Finding the maximum of three integers*/3#include 45int maximum(int,int,int);/*function prototype*/67int main()89 int a,b,c;1011 printf(Enter three integers:);12 scanf(%d%d%d,&a,&b,&c);13 printf(Maximum is:%dn,maximum(a,b,c);1415 return 0

26、;16 1718/*Function maximum definition*/19 int maximum(int x,int y,int z)20 21 int max=x;2223 if(y max)24 max=y;2526 if(z max)27 max=z;2829 return max;30 1.Function prototype(3 parameters)2.Input values2.1 Call function3.Function definition2002FunctionsnFunctionsnModularize a programnAll variables de

27、clared inside functions are local variablesnKnown only in function definednParametersnCommunicate information between functionsnLocal variablesnBenefits of functionsnDivide and conquernManageable program developmentnSoftware reusabilitynUse existing functions as building blocks for new programsnAbst

28、raction-hide internal details(library functions)nAvoid code repetition2002Function DefinitionsnFunction definition format(continued)return-value-type function-name(parameter-list)declarations and statements nDeclarations and statements:function body(block)nVariables can be declared inside blocks(can

29、 be nested)nFunctions can not be defined inside other functionsnReturning controlnIf nothing returned nreturn;nor,until reaches right bracenIf something returned nreturn expression;2002Function PrototypesnFunction prototype nFunction namenParameters what the function takes innReturn type data type f

30、unction returns(default int)nUsed to validate functionsnPrototype only needed if function definition comes after use in programnThe function with the prototypeint maximum(int,int,int);nTakes in 3 intsnReturns an intnPromotion rules and conversionsnConverting to lower types can lead to errors2002Header FilesnHeader filesnContain function prototypes for library functionsn,etcnLoad with#include#include nCustom header filesnCreate file with functions nSave as filename.hnLoad in other files with#include filename.hnReuse functions

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(程式设计简介课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|