版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、程序設(shè)計(jì)(chn x sh j)基礎(chǔ) 信息科學(xué)(xn x k xu)與工程學(xué)院TEL-mail:許偉濤2022/8/41共五十四頁課程(kchng)安排總學(xué)時(shí): 72學(xué)時(shí),授課(shuk)48學(xué)時(shí),上機(jī)24學(xué)時(shí)考試方式: 考勤(10分)+實(shí)驗(yàn)(20分)+機(jī)試(70分)上機(jī)安排: 時(shí)間:第7-16周(星期一,下午7-8節(jié)) 第9周和第17周(星期三,上午3-4節(jié)) 地點(diǎn):第7-16周在6313,第17周在6316 考試時(shí)間:第18周2022/8/42共五十四頁教學(xué)要求 -掌握程序設(shè)計(jì)語言的基本知識(shí) -常用(chn yn)算法 -初步的程序設(shè)計(jì)能力學(xué)習(xí)方法 -自主學(xué)習(xí)(閱
2、讀、模仿、練習(xí)、提升) -重視上機(jī)實(shí)踐2022/8/43共五十四頁主要(zhyo)內(nèi)容一、引言(ynyn)二、用C語言編寫程序 -在屏幕上顯示“Hello World!”2022/8/44共五十四頁計(jì)算機(jī)已經(jīng)(y jing)成了社會(huì)的必需品Computersare everywhere!2022/8/45共五十四頁What is a Computer?專業(yè)(zhuny)人員(Professional) 非專業(yè)人員(Laypeople)對(duì)于從事洗衣機(jī)的研究、發(fā)展、設(shè)計(jì)和制造的人(專業(yè)人員,Professionals)來說,他們更需要要懂得洗衣機(jī)的工作原理。對(duì)于所有使用洗衣機(jī)的人(用戶,Users
3、)來說,他們沒有必要懂得洗衣機(jī)的原理,只需要了解使用知識(shí)。2022/8/46共五十四頁計(jì)算機(jī)科學(xué)的研究(ynji)領(lǐng)域算法與數(shù)據(jù)結(jié)構(gòu)(Algorithms and Data Structures)程序設(shè)計(jì)語言(yyn)(Programming Languages)體系結(jié)構(gòu)(Architecture)操作系統(tǒng)(Operating Systems)軟件方法學(xué)和工程學(xué)(Software Methodology and Engineering)人機(jī)交互(Human-Computer Communication)2022/8/47共五十四頁計(jì)算機(jī)科學(xué)的研究(ynji)領(lǐng)域數(shù)值和符號(hào)計(jì)算(Numerica
4、l and Symbolic Computation)數(shù)據(jù)庫(kù)和信息檢索(Databases and Information Retrieval)人工智能(rn n zh nn)和機(jī)器人技術(shù)(Artificial Intelligence and Robotics)圖形學(xué)(Graphics)組織信息學(xué)(Organizational Informatics)生物信息學(xué)(Bioinformatics)2022/8/48共五十四頁計(jì)算機(jī)系統(tǒng)的組成(z chn) 計(jì)算機(jī)系統(tǒng)硬件系統(tǒng)軟件系統(tǒng)主機(jī)外部設(shè)備中央處理器內(nèi)存儲(chǔ)器運(yùn)算器控制器輸入設(shè)備輸出設(shè)備外存儲(chǔ)器系統(tǒng)軟件應(yīng)用軟件工具軟件語言處理軟件操作系統(tǒng)202
5、2/8/49共五十四頁為什么選擇(xunz)C語言?C對(duì)于信息類專業(yè)后續(xù)課程學(xué)習(xí)十分重要(zhngyo)面向?qū)ο蟪绦蛟O(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)操作系統(tǒng)通信協(xié)議單片機(jī)、ARM編程2022/8/410共五十四頁相比較其他高級(jí)語言(C+、J),語言更低級(jí)。設(shè)備驅(qū)動(dòng)程序和操作系統(tǒng)只能用編寫。微控制程序都是編寫的。實(shí)現(xiàn)相同的功能,代碼行數(shù)最少,效率最高。很多其他語言都是以為基礎(chǔ)的。發(fā)展(fzhn)很多年,有很多現(xiàn)成的代碼可用。2022/8/411共五十四頁如何盡快學(xué)會(huì)(xuhu)用C語言進(jìn)行程序設(shè)計(jì)了解程序設(shè)計(jì)語言(C語言)模仿、改寫、編寫通過不斷的編程實(shí)踐,逐步領(lǐng)會(huì)和掌握(zhngw)程序設(shè)計(jì)的基本思想和方法。20
6、22/8/412共五十四頁教材: 何欽銘,顏暉. C語言程序設(shè)計(jì). 高等教育出版社,2008參考(cnko):譚浩強(qiáng). C程序設(shè)計(jì)(第三版). 清華大學(xué)出版社,2005錢能. C+程序設(shè)計(jì)教程. 清華大學(xué)出版社,1999百度貼吧:C語言吧網(wǎng)絡(luò)資源2022/8/413共五十四頁1 引 言一個(gè)C語言程序(chngx)程序與程序設(shè)計(jì)語言C語言的發(fā)展歷史與特點(diǎn)實(shí)現(xiàn)問題求解的過程2022/8/414共五十四頁本章(bn zhn)要點(diǎn)什么是程序?程序設(shè)計(jì)語言包含哪些功能?程序設(shè)計(jì)語言在語法上包含哪些內(nèi)容?結(jié)構(gòu)化程序設(shè)計(jì)有哪些基本的控制結(jié)構(gòu)?C語言有哪些特點(diǎn)?C語言程序的基本框架如何?形成一個(gè)可運(yùn)行的C語言
7、程序需要經(jīng)過(jnggu)哪些步驟?如何用流程圖描述簡(jiǎn)單的算法?2022/8/415共五十四頁1.1 一個(gè)(y )C語言程序例1-1 求階乘(ji chn)問題。輸入一個(gè)正整數(shù)n,輸出n!。問題分析:階乘即給定一個(gè)數(shù)n,計(jì)算從1n的連乘的乘積需要考慮:如何通知計(jì)算機(jī)要計(jì)算階乘的這個(gè)數(shù)是多少? 計(jì)算的結(jié)果怎么反饋出來?計(jì)算機(jī)是如何進(jìn)行計(jì)算的?輸入!scanf( )輸出!printf( )編程!自定義函數(shù)2022/8/416共五十四頁1.1 一個(gè)(y )C語言程序#include /* 編譯預(yù)處理命令 */int main(void) /* 主函數(shù) */int n; /* 變量定義 */int f
8、actorial(int n); /* 函數(shù)聲明 */scanf(%d, &n); /* 輸入一個(gè)整數(shù) */printf(“%dn”, factorial(n); /* 調(diào)用函數(shù)計(jì)算(j sun)階乘 */ return 0; int factorial(int n) /* 定義計(jì)算 n! 的函數(shù) */int i, fact = 1;for(i = 1; i (大于)、=、=(等于)、=(賦值)、? : 等2022/8/432共五十四頁 C語言的主要語法單位表達(dá)式: 2 +a * 4 a=b+3 i+變量定義(dngy):int i;char ch1, ch2;float f;語句: 表達(dá)式語
9、句:a=b+3;i+;控制語句:if () elsefor ( ; ; )復(fù)合語句:x=x+1; x+函數(shù)定義域調(diào)用:系統(tǒng)函數(shù):printf(), scanf(), abs(), sqrt()自定義函數(shù):factorial()1.2.3 程序(chngx)與程序(chngx)設(shè)計(jì)語言2022/8/433共五十四頁2022/8/434其中,語句(yj):表達(dá)式語句:表達(dá)式加分號(hào)“;” 分支語句:實(shí)現(xiàn)分支控制過程 if (a b) x = a;else x = b;循環(huán)語句:實(shí)現(xiàn)循環(huán)控制的過程 sum = 0; /* 初始化sum和i */i = 1; while (i = 100) /* whi
10、le循環(huán)語句 */ sum = sum + i; i = i + 1;復(fù)合語句:用一對(duì)“ ”,將若干語句順序組合在一起就形成了一個(gè)程序段。共五十四頁其中,函數(shù)定義與調(diào)用 函數(shù)是完成特定任務(wù)的獨(dú)立模塊,函數(shù)的使用(shyng)最主要涉及函數(shù)的定義與調(diào)用。輸入輸出: C語言沒有輸入輸出語句,用庫(kù)函數(shù)printf、scanf等實(shí)現(xiàn)。2022/8/435共五十四頁程序的編譯(biny)與編程環(huán)境 程序的編譯 編譯器(Compiler) 程序計(jì)算機(jī)直接能理解的指令序列編譯器:對(duì)源程序進(jìn)行(jnxng)詞法分析、語法與語義 分析,生成可執(zhí)行的代碼。編程環(huán)境寫一個(gè)程序,包括編輯程序(Edit)、編譯(Com
11、pile)、調(diào)試(Debug)等過程。2022/8/436共五十四頁可執(zhí)行(zhxng)代碼源程序C 語言(yyn)上機(jī)過程編譯連接 運(yùn)行2022/8/437test.cpp test.objtest.exe共五十四頁1.3 C語言的發(fā)展歷史(lsh)與特點(diǎn) 發(fā)展 歷史:1972年:貝爾實(shí)驗(yàn)室的Dennis Ritchie在B語言(yyn)的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了C語言(yyn)。1978年:B.W.Kernighan和D.Ritchie(簡(jiǎn)稱K & R)合著的The C Programming Language是各種C語言版本的基礎(chǔ),稱之為舊標(biāo)準(zhǔn)C語言。1983年:美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)
12、制定了新的C語言標(biāo)準(zhǔn),稱ANSI C。2022/8/438共五十四頁主要特點(diǎn) 1C語言是一種結(jié)構(gòu)化語言; 2C語言語句簡(jiǎn)潔、緊湊,使用方便、靈活; 32個(gè)關(guān)鍵字,9種控制語句,程序(chngx)書寫形式自由。3C語言程序易于移植; C語言將與硬件有關(guān)的因素從語言主體中分離出來,通過庫(kù)函數(shù)或其他實(shí)用程序?qū)崿F(xiàn)它們。2022/8/439共五十四頁4C語言有強(qiáng)大(qingd)的處理能力;5生成的目標(biāo)代碼質(zhì)量高,運(yùn)行效率高;6數(shù)據(jù)類型檢查不嚴(yán)格,表達(dá)式出現(xiàn)二義性, 不具備數(shù)據(jù)越界自動(dòng)檢查功能,運(yùn)算符的優(yōu)先級(jí)與結(jié)合性對(duì)初學(xué)者難于掌握。2022/8/440共五十四頁1.4 實(shí)現(xiàn)問題求解(qi ji)的過程
13、問題(wnt):求1100間所有偶數(shù)的和。1. 問題分析與算法設(shè)計(jì) 求在一定范圍內(nèi)(1100)、滿足一定條件(偶數(shù))的若干整數(shù)的和,即累加和。 2022/8/441共五十四頁2022/8/442思路:設(shè)置一個(gè)變量(sum),其初值為0,然后(rnhu)在1100的數(shù)(變量i)中尋找偶數(shù),將它們一個(gè)一個(gè)累加到sum中。一步累加:sum = sum + i; 重復(fù)累加,用循環(huán)語句實(shí)現(xiàn),在循環(huán)過程中:(1) 判別 i 是不是偶數(shù):用分支控制語句來實(shí)現(xiàn)。 (2) 對(duì)循環(huán)次數(shù)進(jìn)行控制:通過 i 值的變化共五十四頁確定算法:算法:一組明確的解決問題的步驟,它產(chǎn)生結(jié)果并可在有限的時(shí)間內(nèi)終止。算法的描述:自然
14、語言偽代碼(di m)流程圖:算法的圖形表示法 2022/8/443共五十四頁2022/8/444共五十四頁編輯程序 生成(shn chn)程序的源文件,C語言源文件的后綴為.c 或 .cpp。2022/8/445#include int main(void)int i, sum = 0; for(i = 1; i = 100; i+) if (i%2 = 0) sum = sum + i; printf(%d, sum); return 0; 共五十四頁3. 程序編譯連接 編輯程序后,用該語言的編譯程序?qū)ζ溥M(jìn)行編譯,以生成二進(jìn)制代碼表示的目標(biāo)程序(.obj),與編程環(huán)境提供的庫(kù)函數(shù)進(jìn)行連接(
15、Link)形成可執(zhí)行的程序(.exe)。編譯程序指出語法錯(cuò)誤 。語法錯(cuò)誤VS邏輯(lu j)錯(cuò)誤2022/8/446共五十四頁實(shí)現(xiàn)(shxin)問題求解的過程4. 運(yùn)行與調(diào)試 經(jīng)過編輯、編譯、連接,生成執(zhí)行文件后,就可以在編程環(huán)境或操作系統(tǒng)環(huán)境中運(yùn)行該程序。 如果程序運(yùn)行所產(chǎn)生的結(jié)果不是你想要的結(jié)果,這是程序的語義錯(cuò)誤(邏輯錯(cuò)誤)。調(diào)試:在程序中查找錯(cuò)誤并修改錯(cuò)誤的過程(guchng)。調(diào)試的方法:設(shè)置斷點(diǎn)單步跟蹤2022/8/447共五十四頁開始結(jié)果語法錯(cuò)誤源程序.c / .cpp目標(biāo)程序.obj可執(zhí)行程序.exe編輯編譯連接運(yùn)行連接錯(cuò)誤運(yùn)行錯(cuò)誤C語言程序(chngx)的調(diào)試、運(yùn)行步驟202
16、2/8/448共五十四頁第一個(gè)程序(chngx)#include int main(void) printf(“Hello World!n”); return 0; 2022/8/449/* 顯示(xinsh)“Hello World!” */* 編譯預(yù)處理命令 */* 定義主函數(shù)main() */* 調(diào)用printf()函數(shù)輸出文字*/* 返回一個(gè)整數(shù)0 */共五十四頁編寫程序2022/8/4501. 安裝VC+ 6.02. 打開運(yùn)行VC+ 6.0共五十四頁2022/8/4513. 新建一個(gè)(y )C文件共五十四頁2022/8/4524. 編輯、保存(bocn)程序 5. 編譯程序(bin y chn x) 6. 運(yùn)行程序 共五十四頁作業(yè):認(rèn)真閱讀教材1-15頁認(rèn)真閱讀實(shí)驗(yàn)指導(dǎo)書1-14頁,掌握如何編寫(binxi)、運(yùn)行C程序預(yù)習(xí)第二章,試著模仿編寫C程序2022/8/453共五十四頁內(nèi)容摘要程序設(shè)計(jì)基礎(chǔ)。第9周和第17周(星期三,上午3-4節(jié))。地點(diǎn):第7-16周在6313,第17周在631
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年授權(quán)代理商協(xié)議范本
- 代理進(jìn)口協(xié)議合同模板
- 2024年技術(shù)工人崗位協(xié)議
- 2024年戈壁料產(chǎn)品研發(fā)與技術(shù)轉(zhuǎn)讓合同
- 2024年建筑水電安裝承包協(xié)議
- 2024年快遞服務(wù)合作協(xié)議
- 2024年新修訂:企業(yè)合作合同條款
- 2024年攝影作品版權(quán)購(gòu)買合同
- 2024年房產(chǎn)購(gòu)置詳盡合同
- 2024年房屋交易協(xié)議書(個(gè)人專用)
- 中職幼兒保育職業(yè)規(guī)劃書
- 教科版(新)科學(xué)五年級(jí)上冊(cè)第一單元測(cè)試題試卷(含答案)
- 第14課 明清時(shí)期的經(jīng)濟(jì)、科技與文化
- 鋼結(jié)構(gòu)水平安全網(wǎng)施工方案
- 機(jī)械設(shè)計(jì)基礎(chǔ)-螺紋連接的強(qiáng)度計(jì)算
- 《正確人生觀》課件
- 《臨床試驗(yàn)項(xiàng)目管理》課件
- 第12課+明朝的興亡-【中職專用】《中國(guó)歷史》(高教版2023基礎(chǔ)模塊)
- 魯濱遜漂流記讀書分享課件
- 北京開放大學(xué)互聯(lián)網(wǎng)營(yíng)銷方案策劃寫作在線測(cè)驗(yàn)5-1:本周測(cè)一測(cè)
- 高中生知識(shí)搶答競(jìng)賽題
評(píng)論
0/150
提交評(píng)論