




已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1,程序設(shè)計基礎(chǔ),2,C程序的上機步驟,C語言發(fā)展歷史,C語言的特點,簡單的C程序介紹,第一章 C語言概述,3,計算機唯一能識別和處理的語言,由0、1序列構(gòu)成的指令代碼,用10000000表示“+”,用助記符號描述的指令系統(tǒng) 用 ADD A, B 表示“ A+B ”,面向機器的語言,用 sum=a+b;來實現(xiàn)求和,面向過程、面向?qū)ο蟮恼Z言,程序設(shè)計語言的發(fā)展,C語言出現(xiàn)的歷史背景,4,產(chǎn)生過程 時間:19721973 地點:美國貝爾實驗室 目的:UNIX操作系統(tǒng) 設(shè)計人: Ken.Thompson和D.M.Ritchie,C語言發(fā)展過程,5,C標準 標準C: K&R合著The C Programming Language ANSI C: 1983年 87 ANSI C: 1987年(通過ISO認證) C版本 Microsoft C 或稱 MS-C Turbo C 或稱 TC,C語言發(fā)展過程,6,C兼有高級語言和 低級語言的特點,語言簡潔、緊湊、靈活 運算符和數(shù)據(jù)類型豐富 程序設(shè)計結(jié)構(gòu)化、模塊化 語法限制不太嚴格 允許直接訪問物理地址 生成目標代碼質(zhì)量高 可移植性好,C語言特點,7,32個關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while,ANSI C一共只有32個關(guān)鍵字,見365頁 附錄B,在C語言中關(guān)鍵字都是小寫的!,C語言簡潔、緊湊,使用方便、靈活,8,34種運算符: 算術(shù)運算符:+ - * / % + - 關(guān)系運算符: = != 邏輯運算符:! & | 位運算符 : | & 賦值運算符:= 及其擴展 條件運算符:?: 逗號運算符:, 指針運算符:* & 求字節(jié)數(shù) :sizeof 強制類型轉(zhuǎn)換:(類型) 分量運算符:. - 下標運算符: 其它 :( ) -,C語言運算符豐富,9,C語言數(shù)據(jù)結(jié)構(gòu)豐富,10,9種控制語句: if( )else for( ) while( ) dowhile( ) continue break switch goto return,C語言有 9 種控制語句,程序書寫形式自由,主要用小寫字母表示,壓縮了一切不必要的成分。,11,12,常用的高級語言,BASIC語言 Beginners All-purpose Symbolic Instruction Code FORTRAN語言 FORmula TRANslator Cobol語言 COmmon Business Oriented Language Pascal語言 C語言 Java,13,1.例1.1 第一個程序Hello,World!,/* example1.1 The first C Program*/ main() printf(“Hello,World! n”); ,Hello,World!,輸出:,printf語句中的“n”是換行符,簡單的C程序介紹,14,例1.2 兩數(shù)求和運算,main() int a,b,sum; /*定義變量*/ a=123; b=456; sum=a+b; printf(“sum is %d n”,sum); ,sum is 579,輸出:,main() int a,b,sum; /*定義變量*/ a=123; b=456; sum=a+b; printf(“sum is %d n”,sum); ,如何計算123456的積?,printf語句中的“ %d ”是表示“十進制整數(shù)類型”,15,例1.3 從鍵盤輸入兩個整數(shù),輸出其中較大的數(shù),main() int a,b,c; scanf(“%d,%d”, ,main() int a,b,c; scanf(“%d,%d”, ,scanf語句中“&a”的含義是“取地址”,16,例: /*This is the main /* of example1.1*/ */,C語言結(jié)構(gòu)特點,函數(shù)與主函數(shù) C程序是由函數(shù)構(gòu)成的 一個程序中有且只能有一個主函數(shù)main() 程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。 程序語句 C程序書寫格式自由,一行可有多個語句 用“;”作為語句終止符 注釋 /* */為注釋,不能嵌套 不產(chǎn)生編譯代碼,17,main( ) . . . . ,main( ) int i , sum; sum=0; for(i=1; i100;i+) sum+=i;/*求和*/ printf(“%dn”,sum); ,優(yōu)秀程序員的素質(zhì)之一: 使用TAB縮進 對齊 有足夠的注釋 有合適的空行,習慣用小寫字母,大小寫敏感 不使用行號,無程序行概念 可使用空行和空格 常用鋸齒形書寫格式,格式特點,18,程序代碼的錄入, 生成源程序 *.c,語法分析查錯,翻譯 生成目標程序 *.obj,與其它目標程序或庫 鏈接裝配,生成可執(zhí)行 程序 *.exe,軟件用戶得到的僅僅是可執(zhí)行程序!,C程序執(zhí)行步驟,C程序的上機步驟,19,第二章 程序的靈魂算法,(Algorithm),20,Nikiklaus Wirth提出:,教材認為:,程序,=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計方法+語言工具和環(huán)境,靈魂,加工對象,VC或者Java,程序的要素,結(jié)構(gòu)化程序設(shè)計,21,算法的概念,算法,為解決一個問題而采取的方法和步驟,在有限步驟內(nèi)求解某一問題所使用的 一組定義明確的規(guī)則,22,【例2.1】求12345。 最原始方法: 步驟1:先求12,得到結(jié)果2。 步驟2:將步驟1得到的乘積2乘以3,得到結(jié)果6。 步驟3:將6再乘以4,得24。 步驟4:將24再乘以5,得120。 這樣的算法雖然正確,但太繁。 改進的算法: S1: 使t=1 S2: 使i=2 S3: 使ti, 乘積仍然放在在變量t中,可表示為tit S4: 使i的值+1,即i+1i S5: 如果i5, 返回重新執(zhí)行步驟S3以及其后的S4和S5;否則,算法結(jié)束。,23,24,【例2.3】判定2000 2500年中的每一年是否閏年,將結(jié)果輸出。 潤年的條件: 能被4整除,但不能被100整除的年份; 能被100整除,又能被400整除的年份; 設(shè)y為被檢測的年份,則算法可表示如下: S1: 2000y S2:若y不能被4整除,則輸出y“不是閏年”,然后轉(zhuǎn)到S6 S3:若y能被4整除,不能被100整除,則輸出y“是閏年”,然后轉(zhuǎn)到S6 S4:若y能被100整除,又能被400整除,輸出y“是閏年” 否則輸出y“不是閏年”,然后轉(zhuǎn)到S6 S5:輸出y“不是閏年”。 S6:y+1y S7:當y2500時, 返回S2繼續(xù)執(zhí)行,否則,結(jié)束。,25,26,27,算法的特征,確定性,有零個或多個輸入,有效性,有一個或多個輸出,有窮性,28,自然語言表示 流程圖表示 N-S流程圖表示 偽代碼表示 計算機語言表示,順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu),怎樣表示一個算法,29,流程圖要素,30,結(jié)構(gòu)化程序設(shè)計 基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無條件轉(zhuǎn)移語句(goto) 結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)反復嵌套構(gòu)成的程序 優(yōu)點:結(jié)構(gòu)清晰,易讀,提高程序設(shè)計質(zhì)量和效率,程序的三種基本結(jié)構(gòu),31,順序結(jié)構(gòu),32,二分支選擇結(jié)構(gòu),多分支選擇結(jié)構(gòu),選擇結(jié)構(gòu),33,當型循環(huán)結(jié)構(gòu),直到型循環(huán)結(jié)構(gòu),注:A,B,A1.An
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江長征職業(yè)技術(shù)學院《事故調(diào)查處理與事故分析》2023-2024學年第二學期期末試卷
- 黃山職業(yè)技術(shù)學院《動畫表演與運動規(guī)律》2023-2024學年第二學期期末試卷
- 阜陽幼兒師范高等??茖W?!豆こ探?jīng)濟與可行性分析》2023-2024學年第二學期期末試卷
- 漳州科技職業(yè)學院《高級會計》2023-2024學年第二學期期末試卷
- XX橫向課題研究與成果轉(zhuǎn)化
- 新疆司法警官職業(yè)學院《智能時代下的創(chuàng)新創(chuàng)業(yè)實踐》2023-2024學年第二學期期末試卷
- 邯鄲應(yīng)用技術(shù)職業(yè)學院《兒童文學選》2023-2024學年第二學期期末試卷
- 廣東工商職業(yè)技術(shù)大學《地理學與生活》2023-2024學年第二學期期末試卷
- 自我介紹大班課件
- 西寧城市職業(yè)技術(shù)學院《中醫(yī)經(jīng)典金匱要略》2023-2024學年第二學期期末試卷
- 景區(qū)保潔服務(wù)方案
- JJF 2109-2024標準物質(zhì)定值技術(shù)要求有機同位素稀釋質(zhì)譜法
- 強基計劃個人陳述范文南京大學
- 國家講解員培訓課件
- 滴滴出行營銷策略分析報告總結(jié)
- 死因監(jiān)測工作規(guī)范
- 國際貿(mào)易風險管理與進出口業(yè)務(wù)培訓資料
- 數(shù)獨4宮練習題(全)
- 14000t級散貨船船體生產(chǎn)設(shè)計報告書船舶
- 【基于價值鏈的企業(yè)成本管理分析國內(nèi)外文獻綜述4100字】
- 我問你答問題100個三年級
評論
0/150
提交評論