版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言(yyn)程序設(shè)計第一章 C語言(yyn)與程序設(shè)計李振福主編C語言程序設(shè)計西安電子科技大學出版社共五十頁本課程的配套教材為:李振福主編.C語言(yyn)程序設(shè)計西安電子科技大學出版社 2013本課程的學時安排為: 理論學時48 實踐學時16共五十頁學習(xux)目標Hi, Mr. computer.Im human being. 計算機語言是人與計算機交流的工具。所以(suy)要學好C語言,就是要做到讓人與計算機相互理解對方。共五十頁怎樣(znyng)成為一名優(yōu)秀的程序員熱情,熱情,還是(hi shi)熱情具備獨立設(shè)計的能力運用計算機語言的能力具備創(chuàng)造力(從模仿他人開始,但不能養(yǎng)成惰性
2、,要學會獨立思考,獨立解決問題)嚴謹踏實的作風(編程序最耗費時間的地方是調(diào)試與查錯,嚴謹可以確保我們少犯錯誤,犯了錯誤容易改正)共五十頁具體步驟Step1:掌握數(shù)據(jù)類型、控制結(jié)構(gòu)、語法(yf)規(guī)則。 (識字、造句,授課為主) Step2:掌握程序分析(fnx)、算法、編程。 (體裁、布局。多看多練) Step3:循序漸進,先模仿,后分析。 Step4:重視上機,有效利用寶貴的上機時間, 切實掌握調(diào)試手段。共五十頁第一章 概述(i sh)1.1 計算機語言及其發(fā)展1.2 算法及其表示1.3 程序設(shè)計方法(fngf)1.4 C的特點1.5 C程序?qū)嵗?.6 C程序上機步驟1.7 小結(jié)共五十頁1.1
3、計算機語言(yyn)及其發(fā)展算法為解決(jiju)某一應(yīng)用問題而采用的解題步驟。對一個一元二次方程,若求其實數(shù)解,算法應(yīng)為:計算方程的判別式;如判別式小于零,則輸出方程沒有實根的信息;否則,計算方程的實根,并輸出計算結(jié)果。計算機能理解上述自然語言描述的算法么?共五十頁計算機語言的發(fā)展(fzhn)經(jīng)歷了三個階段:機器語言機器指令(由0 和 1組成),可直接執(zhí)行 難學、難記依賴機器的類型匯編語言用助記符代替機器指令,用變量代替各類地址。克服記憶的難點其他與機器語言類似高級語言類似數(shù)學語言、接近自然語言、具有通用性和可移植性,不依賴具體的計算機類型。共五十頁0 0 1 0 0 0 1 11 1 1
4、0 1 1 0 10 1 1 0 0 0 0 10 1 1 1 0 1 1 0 機器語言(j q y yn)程序MOV AX, 300HADD BX, AXMOV 2100H, BX HLT匯編語言源程序main( ) int a, b, c; a=300; b=18; c=a+b; printf(“ a+b= %dn”, c);高級語言源程序(C)共五十頁1.2 算法(sun f)與流程程序設(shè)計的靈魂是算法,而語言只是形式。可以說計算機語言只是一種工具,用來描述處理問題的方法和步驟。但是只要(zhyo)有正確的算法,可以利用任何一種語言編寫程序,使計算機進行工作,得出正確的結(jié)果。所謂“算法”
5、,指為解決一個問題而采取的方法和步驟,或者說是解題步驟的精確描述。算法應(yīng)具備有窮性、確定性、有效性、有零個或多個輸入(即:可以沒有輸入,也可以有輸入)、有一個或多個輸出(即算法必須得到結(jié)果)的特性。1.2.1 算法的概念共五十頁1.2.2 算法的表示(biosh)形式常用的算法(sun f)表示方法有自然語言、傳統(tǒng)流程圖、結(jié)構(gòu)化流程圖(N-S流程圖)、偽代碼、計算機語言等。(1)傳統(tǒng)流程圖常用的流程圖符號共五十頁【例1.1 】求5! 算法分析:實際上是在做12345的運算。 算法步驟可以分為:步驟1:設(shè)變量p,被乘數(shù),p=1;步驟2:設(shè)變量i,代表乘數(shù),i=2;步驟3:使pi,乘積(chngj
6、)放在被乘數(shù)變量p中,可表示為:pip;步驟4:使i的值加1,即i+1i;步驟5:如果i不大于5,返回重新執(zhí)行步驟3以及其后的步驟4、步驟5;否則,算法結(jié)束。最后得到的p就是5!的值。 繪制流程圖開始p=1i=2pipi+1i結(jié)束i5真假共五十頁(2) N-S流程圖 基本結(jié)構(gòu)的順序組合可以表示任何復(fù)雜的算法結(jié)構(gòu),于是基本結(jié)構(gòu)之間的流程線就屬于多余的了,于是美國(mi u)學者I.Nasii和B.shneiderman 于1973年提出了一種新的流程圖形式:將全部算法寫在一個矩形框內(nèi),完全去掉了帶箭頭的流程線。這種流程圖稱為N-S結(jié)構(gòu)化流程圖,也稱盒圖。共五十頁例1.2 求5!的算法(sun f
7、)用N-S圖表示N-S圖不能表示非結(jié)構(gòu)化算法,而且當問題(wnt)很復(fù)雜時,N-S圖可能很大。共五十頁1.3 程序設(shè)計(chn x sh j)方法結(jié)構(gòu)化程序設(shè)計方法(SPStructured Programming) 是由E. Dijkstra等人于1972年提出來的,它建立在Bohm、Jacopini證明的結(jié)構(gòu)定理的基礎(chǔ)上。結(jié)構(gòu)定理指出:任何程序邏輯都可以用順序、選擇和循環(huán)三種基本結(jié)構(gòu)來表示。在結(jié)構(gòu)定理的基礎(chǔ)上,Dijkstra主張避免使用goto語句(goto語句會破壞這三種結(jié)構(gòu)形式),而僅僅用上述三種基本結(jié)構(gòu)反復(fù)嵌套來構(gòu)造程序。在這一思想指導(zhdo)下,進行程序設(shè)計時,可以用所謂“自
8、頂向下,逐步求精”的方式,對問題進行分解。 1.3.1 結(jié)構(gòu)化的程序設(shè)計方法 共五十頁一個結(jié)構(gòu)化程序應(yīng)符合以下標準:(1)程序僅由順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu)組成,基本結(jié)構(gòu)可以嵌套。(2)每種基本結(jié)構(gòu)都只有一個入口和一個出口,即一端進,一端出。這樣的結(jié)構(gòu)置于其他結(jié)構(gòu)之間時,程序的執(zhí)行順序必然是從前一結(jié)構(gòu)的出口到本結(jié)構(gòu)的入口,經(jīng)本結(jié)構(gòu)內(nèi)部的操作,到達(dod)本結(jié)構(gòu)的唯一出口,體現(xiàn)出流水化特點。(3)程序中沒有死循環(huán)(不能結(jié)束的循環(huán))和死語句(程序中永遠執(zhí)行不到的語句)。 AB(a)PPA(b)(c)成立不成立成立不成立AB共五十頁結(jié)構(gòu)化程序設(shè)計方法遵循的原則自頂向下,逐步求精。 模
9、塊化設(shè)計。 程序結(jié)構(gòu)化。結(jié)構(gòu)化程序設(shè)計過程 分析問題(wnt)(Question)設(shè)計算法(Algorithm)編寫程序(Program)簡稱QAP方法。共五十頁1.3.2 面向?qū)ο蟮某绦蛟O(shè)計(chn x sh j)方法 在結(jié)構(gòu)化的程序設(shè)計中,解決某一個問題,就是要確定這個問題能夠分解為哪些函數(shù),數(shù)據(jù)(shj)能夠分解為哪些基本的類型,如int、double等。也就是說,思考方式是面向機器結(jié)構(gòu)的,而不是面向問題結(jié)構(gòu)的,需要在問題結(jié)構(gòu)和機器結(jié)構(gòu)之間建立聯(lián)系。面向?qū)ο蟮某绦蛟O(shè)計方法的思考方式是面向問題的結(jié)構(gòu),它認為現(xiàn)實世界是由一個個對象組成的。面向?qū)ο蟮某绦蛟O(shè)計方法解決某個問題時,要確定這個問題是
10、由哪些對象組成的。 共五十頁對象由數(shù)據(jù)和操作構(gòu)成消息由三個部分組成:接受消息的對象;要執(zhí)行的函數(shù)的名字;函數(shù)需要(xyo)的參數(shù)。面向?qū)ο蟮闹饕匦裕悍庋b繼承多態(tài)對象數(shù)據(jù)操作共五十頁面向?qū)ο蟪绦蛟O(shè)計(chn x sh j)過程 (1)面向?qū)ο蟮姆治觯∣OA)。 (2)面向?qū)ο蟮脑O(shè)計(shj)(OOD)。(3)面向?qū)ο蟮膶崿F(xiàn)(OOI)。 共五十頁結(jié)構(gòu)化程序設(shè)計(shj)與面向?qū)ο蟪绦蛟O(shè)計(shj)的比較ProgramFunctionFunctionFunctionProgramOperationsDataOperationsData共五十頁1.4 C的特點(tdin)1. C語言(yyn)的特點
11、語言結(jié)構(gòu)化語言簡潔功能強大數(shù)據(jù)結(jié)構(gòu)豐富運算符豐富生成的代碼質(zhì)量高可移植性好共五十頁2. C+的特點(tdin)與C語言兼容,既支持面向?qū)ο蟮某绦蛟O(shè)計,也支持結(jié)構(gòu)化的程序設(shè)計。修補了C語言中的一些漏洞,提供更好的類型(lixng)檢查和編譯時的分析功能。生成目標程序質(zhì)量高,程序執(zhí)行效率高。提供了異常處理機制,簡化了程序的出錯處理。函數(shù)可以重載及可以使用缺省參數(shù)。提供了模板機制。共五十頁1.5 C程序(chngx)實例例1.3簡單的C語言程序(chngx)。#include /*預(yù)處理命令*/main( ) /*主函數(shù)*/ printf(My first C program!n); /*輸出雙引號
12、中的內(nèi)容*/1.5.1 C語言程序?qū)嵗参迨摗纠?.4 】求兩個(lin )整數(shù)之和#include main() /*主函數(shù)*/int a,b,sum; /*設(shè)置變量(binling)的數(shù)據(jù)類型*/a=1; /*給變量賦初值*/b=2;sum=a+b; /*加法運算*/printf(sum=%dn,sum);共五十頁重點(zhngdin)C程序的基本(jbn)結(jié)構(gòu)是函數(shù),函數(shù)是完成某個整體功能的最小單位。C函數(shù)從左花括號開始,到對應(yīng)的右花括號結(jié)束。main()可以在程序的任何位置上,但C程序執(zhí)行時,總是從main()函數(shù)開始。共五十頁1.5.2 C+程序(chngx)實例例1.5簡單(ji
13、ndn)的C+程序。#include void main()coutHello! My first C+ program!n;共五十頁例題(lt)解析 1.一 個C程序由若干個C函數(shù)組成各個函數(shù)在文件中的書寫(shxi)位置為。 A) 任意 B) 第一個函數(shù)必須是主函數(shù)其他函數(shù)任意 C) 必需完全按調(diào)用的順序排列 D)其他函數(shù)必須在前,主函數(shù)必須在最后 你能回答下面問題嗎?共五十頁2. 在一個C程序中。 A) main函數(shù)必須出現(xiàn)在所有(suyu)函數(shù)之前 B) main函數(shù)必須出現(xiàn)在所有函數(shù)之后 C) main函數(shù)可以在任何地方出現(xiàn) D) main函數(shù)必須出現(xiàn)在固定位置上共五十頁3. 以下敘
14、述中正確的是。 A) C程序中注釋部分可以處現(xiàn)在程序中任何合適的地方 B) 花括號“”和“”只能作為函數(shù)體的定界符 C) 構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶(yngh)命名 D) 分號是C語句之間的分隔符,不是語句的一部分共五十頁4.以下敘述中正確的是。 A) C語言的源程序不必通過編譯就可以直接(zhji)運行 B) C語言中的函數(shù)不可以進行單獨編譯 C) C源程序經(jīng)編譯形成的二進制代碼可以直接運行 D) C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令共五十頁5.以下(yxi)說法中正確的是。 A) C語言程序總是從第一個定義的函數(shù)開始執(zhí)行 B) C語言程序總是從m
15、ain()函數(shù)開始執(zhí)行 C) C語言程序中的main()函數(shù)必須放在程序的開始部分 D) 一個C函數(shù)中只允許一對花括號共五十頁1.6 C程序(chngx)上機步驟一般情況下,開發(fā)一個C應(yīng)用程序可以按照(nzho)如下步驟來進行:創(chuàng)建一個項目;編輯項目中的源代碼;編譯項目中的文件;糾正編譯中出現(xiàn)的錯誤;運行可執(zhí)行的文件。共五十頁1.6.1 Microsoft Visual C+6.0 集成(j chn)環(huán)境簡介Visual C+ 6.0提供了一個支持可視化編程的集成開發(fā)環(huán)境:Visual Studio(又名Developer Studio)。Developer Studio是一個通用的應(yīng)用程序集
16、成開發(fā)環(huán)境,它不僅支持Visual C+,還支持Visual Basic,Visual J+,Visual InterDev等Microsoft系列開發(fā)工具。Developer Studio采用標準的多窗口Windows用戶界面,包含項目工作區(qū)、ClassWizard、AppWizard、WizardBar、Component Gallery等。Developer Studio提供了許多工具,包含一個文本編輯器、資源編輯器、工程編譯(biny)工具、一個增量連接器、源代碼瀏覽器、集成調(diào)試工具,以及一套聯(lián)機文檔。使用Developer Studio,可以完成創(chuàng)建、調(diào)試、修改應(yīng)用程序等各種操作。共
17、五十頁1.6.2 C程序(chngx)上機步驟(1) 啟動Visual C+6.0進入Developer Studio編譯(biny)環(huán)境共五十頁(2) 單擊主窗口(chungku)菜單欄中的“File”(文件)菜單項,單擊下拉式菜單中的選項“New”(新建),彈出新建對話框。(3) 在“New”(新建)對話框上選擇“Projects”(工程)選項卡,選擇“Win32 Console Application”(Win32控制臺應(yīng)用程序)共五十頁共五十頁(4)在“Project Name”(工程名稱)文本框內(nèi)輸入工程名稱為exam1。工程文件存放的位置可點擊按鈕 ,選擇路徑,點擊確定(qudng
18、)按鈕。(5)在彈出的對話框(如下圖所示)中,選擇一個建立一個空項目的單選按鈕,再點擊“Finish”(完成)按鈕。共五十頁共五十頁(6)在彈出的對話框中,給出了新建工程的一些信息,點擊(din j)“OK”(確定)按鈕。共五十頁(7)再單擊“File”菜單(ci dn)中的“New”命令,選擇“Files”選項卡,選擇“Text File”,注意“Add to project”應(yīng)勾選。共五十頁(8)在“File”文本框內(nèi)輸入文件名稱“1.c”,點擊“OK”按鈕。(9)逐行輸入源程序直至完畢,如下圖所示。然后點擊“File”菜單(ci dn)的“Save”(保存)命令。#include stdio.hmain()printf(My first C program!n);共五十頁共五十頁(10)單擊工具欄上的紅色嘆號或按“CtrlF5”執(zhí)行程序,出現(xiàn)如圖所示對話框,此時顯示(xinsh)程序運行結(jié)果。共五十頁1.5.2 C+程序(chngx)上機步驟 (1)按照C程序上機步驟(1)(6)操作,建立(jinl)一個工程exam2,再單擊“File”菜單中的“New”命令,選擇“Files”選項卡,選擇“C+ Source File”,如下圖所示。注意“Add to project”應(yīng)勾選。共五十頁(2)在“File”文本框內(nèi)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版零食代理批發(fā)采購合同2篇
- 2024版房屋抵押的借款合同
- 2024版外匯合同范文
- 2024年白酒行業(yè)標準合同范本3篇
- 2024年生物制藥技術(shù)開發(fā)許可合同
- 2024年版離婚雙方贈與財產(chǎn)合同版B版
- 二零二五年度廣告拍攝化妝師聘用合同3篇
- 二零二五年度房地產(chǎn)項目代建合同范本3篇
- 2025年度石灰粉綠色生產(chǎn)與銷售戰(zhàn)略合作合同3篇
- 2024碼頭船舶燃料供應(yīng)及結(jié)算合同范本3篇
- 血細胞分析報告規(guī)范化指南2020
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導材料之7:“5領(lǐng)導作用-5.1領(lǐng)導作用和承諾”(雷澤佳編制-2025B0)
- 2024年快速消費品物流配送合同6篇
- 廣東省茂名市2024屆高三上學期第一次綜合測試(一模)歷史 含解析
- 神經(jīng)重癥氣管切開患者氣道功能康復(fù)與管理學習與臨床應(yīng)用
- 第5章 一元一次方程大單元整體設(shè)計 北師大版(2024)數(shù)學七年級上冊教學課件
- 人教版高一地理必修一期末試卷
- 遼寧省錦州市(2024年-2025年小學六年級語文)部編版期末考試(上學期)試卷及答案
- GB/T 29498-2024木門窗通用技術(shù)要求
- 《職業(yè)院校與本科高校對口貫通分段培養(yǎng)協(xié)議書》
- 機電傳動單向數(shù)控平臺-礦大-機械電子-有圖
評論
0/150
提交評論