版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計(jì)語言程序設(shè)計(jì)浙江大學(xué)C語言程序設(shè)計(jì)語言程序設(shè)計(jì)l教學(xué)要求掌握程序設(shè)計(jì)語言的基本知識常用算法初步的程序設(shè)計(jì)能力l學(xué)習(xí)方法自主學(xué)習(xí)重視上機(jī)實(shí)踐l如何盡快學(xué)會用C語言進(jìn)行程序設(shè)計(jì) 了解程序設(shè)計(jì)語言(C語言)模仿、改寫、編寫通過不斷的編程實(shí)踐,逐步領(lǐng)會和掌握程序設(shè)計(jì)的基本思想和方法。l教材和參考書C語言程序設(shè)計(jì),何欽銘、顏暉主編,浙江科技出版社,2004The C Programming Languagem, Second Edition, Brian W.Kernighan & Dennis M.Ritchie, 清華大學(xué)出版社,Prentice-Hall Internatio
2、nal, Inc. ,1997C程序設(shè)計(jì)(第二版),潭浩強(qiáng)等,清華大學(xué)出版社,1999Chap 1 引引 言言l一個(gè)C語言程序l程序與程序設(shè)計(jì)語言lC語言的發(fā)展歷史與特點(diǎn)l實(shí)現(xiàn)問題求解的過程本章要點(diǎn)本章要點(diǎn)l什么是程序?程序設(shè)計(jì)語言包含哪些功能?l程序設(shè)計(jì)語言在語法上包含哪些內(nèi)容?l結(jié)構(gòu)化程序設(shè)計(jì)有哪些基本的控制結(jié)構(gòu)?lC語言有哪些特點(diǎn)?lC語言程序的基本框架如何?l形成一個(gè)可運(yùn)行的C語言程序需要經(jīng)過哪些步驟?l如何用流程圖描述簡單的算法?例1-1求階乘問題。輸入一個(gè)正整數(shù)n,輸出n!。 #include /* 編譯預(yù)處理命令 */void main() /* 主函數(shù) */int n; /*
3、變量定義 */int factorial(int n); /* 函數(shù)聲明 */ scanf(%d, &n); /* 輸入一個(gè)整數(shù) */printf(%dn, factorial(n); /* 調(diào)用函數(shù)計(jì)算階乘 */ int factorial(int n) /* 定義計(jì)算 n! 的函數(shù) */int i, fact = 1; for(i = 1; i (大于)程序設(shè)計(jì)語言的語法l C語言的主要語法單位(1)表達(dá)式: 運(yùn)算符與運(yùn)算對象組合就形成了表達(dá)試。如,2 + 3 * 4(2)變量定義: 變量也有數(shù)據(jù)類型,所以在定義變量時(shí)要說明相應(yīng)變量的類型。如: int i;(3)語句: 語句是程序
4、最基本的執(zhí)行單位,程序的功能就是通過對一系列語句的執(zhí)行來實(shí)現(xiàn)的。(4)函數(shù)定義與調(diào)用 程序設(shè)計(jì)語言的語法其中,(3)語句:表達(dá)式語句:表達(dá)式加分號“;” 分支語句:實(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) /* while循環(huán)語句 */ sum = sum + i; i = i + 1;復(fù)合語句:用一對“ ”,將若干語句順序組合在一起就形成了一個(gè)程序段。程序設(shè)計(jì)語言的語法其中,(4)函數(shù)定義與調(diào)用 函數(shù)是完成特定任務(wù)的獨(dú)立模塊,函數(shù)的使用最主要涉
5、及到函數(shù)的定義與調(diào)用。輸入輸出:C語言沒有輸入輸出語句,用庫函數(shù)printf()、scanf()等實(shí)現(xiàn)。程序的編譯與編程環(huán)境 l 程序的編譯 編譯器 程序 計(jì)算機(jī)直接能理解的指令序列編譯器:對源程序進(jìn)行詞法分析、語法與語義分析,生成可執(zhí)行的代碼。直接指出程序中的語法錯(cuò)誤l 編程環(huán)境包括編輯程序(Edit)、編譯(Compile)、調(diào)試(Debug)等過程。掌握程序設(shè)計(jì)語言:根據(jù)語言的語法,用語言表達(dá)數(shù)據(jù)、實(shí)現(xiàn)程序的控制,并會使用編程環(huán)境。C 語言上機(jī)過程語言上機(jī)過程源程序 test.c test.obj 可執(zhí)行代碼 test.exe編譯連接 運(yùn)行1.3 C語言的發(fā)展歷史與特點(diǎn)語言的發(fā)展歷史與特
6、點(diǎn) l 歷史 1972年:貝爾實(shí)驗(yàn)室的Dennis Ritchie在B語言的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了C語言。1978年:B.W.Kernighan和D.Ritchie(簡稱K & R)合著的The C Programming Language是各種C語言版本的基礎(chǔ),稱之為舊標(biāo)準(zhǔn)C語言。1983年:美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI)制定了新的C語言標(biāo)準(zhǔn),稱ANSI C。C語言的特點(diǎn)語言的特點(diǎn) 1C語言是一種結(jié)構(gòu)化語言2C語言語句簡潔、緊湊,使用方便、靈活32個(gè)關(guān)鍵字,9種控制語句,程序書寫形式自由。3C語言程序易于移植C語言將與硬件有關(guān)的因素從語言主體中分離出來,通過庫函數(shù)或其他實(shí)用程序?qū)崿F(xiàn)它們。
7、 4C語言有強(qiáng)大的處理能力5生成的目標(biāo)代碼質(zhì)量高,運(yùn)行效率高C語言的特點(diǎn)語言的特點(diǎn) 6數(shù)據(jù)類型檢查不嚴(yán)格,表達(dá)式出現(xiàn)二義性,不具備數(shù)據(jù)越界自動檢查功能,運(yùn)算符的優(yōu)先級與結(jié)合性對初學(xué)者難于掌握。C 語言中大小寫字母代表不同含義1.4 實(shí)現(xiàn)問題求解的過程實(shí)現(xiàn)問題求解的過程 l 問題:求1100間所有偶數(shù)的和。1問題分析與算法設(shè)計(jì) 求在一定范圍內(nèi)(1100)、滿足一定條件(偶數(shù))的若干整數(shù)的和,求累加和。 思路:設(shè)置一個(gè)變量(sum),其初值為0,然后在1100的數(shù)中(i)尋找偶數(shù),將它們一個(gè)一個(gè)累加到sum中。l一步累加:sum = sum + i; l重復(fù)累加,用循環(huán)語句實(shí)現(xiàn),在循環(huán)過程中:(1
8、) 判別 i 是不是偶數(shù):用分支控制語句來實(shí)現(xiàn)。(2) 對循環(huán)次數(shù)進(jìn)行控制:通過 i 值的變化問題分析與算法設(shè)計(jì)問題分析與算法設(shè)計(jì) 思路 確定算法算法:一組明確的解決問題的步驟,它產(chǎn)生結(jié)果并可在有限的時(shí)間內(nèi)終止。算法的描述:l自然語言l偽代碼l流程圖:算法的圖形表示法 sum = 0i = 1i = 100i 是偶數(shù)?sum=sum+ii=i+1輸出sum真真假假實(shí)現(xiàn)問題求解的過程實(shí)現(xiàn)問題求解的過程2編輯程序生成程序的源文件,C語言源文件的后綴為.c/.cpp#include void main( )int i, sum = 0; for(i = 1; i = 100; i+) if (i%2 = 0) sum = sum + i; printf(%d, sum); 實(shí)現(xiàn)問題求解的過程實(shí)現(xiàn)問題求解的過程3程序編譯連接編輯程序后,用該語言的編譯程序?qū)ζ溥M(jìn)行編譯,以生成二進(jìn)制代碼表示的目標(biāo)程序(.obj),與編程環(huán)境提供的庫函數(shù)進(jìn)行連接(Link)形成可執(zhí)行的程序(.exe)。編譯程序指出語法錯(cuò)誤 實(shí)現(xiàn)問題求解的過程實(shí)現(xiàn)問題求解的過程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)試:在
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2182-2024農(nóng)灌機(jī)井取水量計(jì)量監(jiān)測方法
- JJF 2165-2024實(shí)驗(yàn)室振動式液體密度儀校準(zhǔn)規(guī)范
- 2024年度網(wǎng)絡(luò)游戲虛擬物品交易合同
- 2024年度建筑工程施工承包合同標(biāo)的明細(xì)
- 2024城市地下綜合管廊建設(shè)項(xiàng)目融資合同
- 2024年度放心簽建材銷售合同模板
- 2024年工程質(zhì)量檢測與環(huán)保評估合同
- 2024年度廣告發(fā)布合同標(biāo)的廣告內(nèi)容與投放時(shí)間
- 2024小產(chǎn)權(quán)房買賣合同糾紛
- 地理教學(xué)課件教學(xué)課件
- 2024年入團(tuán)知識考試題庫及答案
- 腫瘤化療導(dǎo)致的中性粒細(xì)胞減少診治中國專家共識(2023版)解讀
- 《新能源汽車概論》課件-6新能源汽車空調(diào)系統(tǒng)結(jié)構(gòu)及工作原理
- 2024年共青團(tuán)入團(tuán)考試題庫(附答案)
- 田徑運(yùn)動會各種記錄表格
- 產(chǎn)科新生兒疫苗接種課件
- 企業(yè)信息管理概述課件
- 室外健身器材投標(biāo)方案(技術(shù)方案)
- 足浴店店長聘用合同范本
- tubeless胸科手術(shù)麻醉
- 電商免責(zé)聲明范本
評論
0/150
提交評論