




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第1章 程序設(shè)計ABC北京理工大學(xué)珠海學(xué)院廖愛紅 aihongliao126程序設(shè)計基礎(chǔ)第1頁,共98頁。導(dǎo)論第2頁,共98頁。導(dǎo)論課程性質(zhì):必修課,計算機語言開蒙課高等工科院校中計算機和非計算機專業(yè)的一門主干課程 學(xué)時:64學(xué)時實踐性課程目標(biāo):熟悉C語言的基本概念;熟悉VC+6.0的上機環(huán)境;會讀、會編、會調(diào)試C程序第3頁,共98頁。內(nèi)容安排第一章 程序設(shè)計ABC第二章 數(shù)據(jù)類型、運算符與表達(dá)式第三章 簡單的C程序設(shè)計第四章 程序的控制結(jié)構(gòu)第五章 函數(shù)第六章 數(shù)組第七章 指針第八章 結(jié)構(gòu)體與共用體第九章 文件操作第十章 C程序設(shè)計常見錯誤及解決方案第4頁,共98頁。導(dǎo)論學(xué)習(xí)方式:實踐、實踐、
2、再實踐第5頁,共98頁。導(dǎo)論考核方式:閉卷考試成績核算:考試70%實驗10%平時20%第6頁,共98頁。參考資料C語言大學(xué)實用教程 蘇小紅,陳惠鵬,孫志崗 電子工業(yè)出版社 2019C語言大學(xué)實用教程學(xué)習(xí)指導(dǎo)C語言教程 譚浩強 清華大學(xué)出版社哈工大精品課程網(wǎng)址北京理工大學(xué)精品課程網(wǎng)址教學(xué)資源請從網(wǎng)絡(luò)教學(xué)平臺下載第7頁,共98頁。提醒!多動手、多動腦、多參與用心收獲第8頁,共98頁。第一章 程序設(shè)計ABC1.1 計算機與人1.2 計算機與程序設(shè)計語言1.3 程序設(shè)計語言的故事1.4 C語言的故事1.5 程序設(shè)計語言的工作原理拓寬知識面第9頁,共98頁。人類歷史的發(fā)展生產(chǎn)力:漁獵社會農(nóng)業(yè)社會工業(yè)社會
3、信息社會生產(chǎn)關(guān)系分:原始社會奴隸社會封建社會資本主義社會社會主義社會共產(chǎn)主義社會第10頁,共98頁。對計算機你知道多少?第11頁,共98頁。What is a computer?A Computer is a device capable of performing computations and make logical decisions at speeds millions (even billions) of times faster than human beings can.目前的PC機可每秒執(zhí)行十億次加法人用計算器一生也完不成PC機1秒鐘完成的計算量第12頁,共98頁。人工智能
4、:主要利用計算機來模仿人的各種感知,如智能機器人、語音識別、機器翻譯等。計算機網(wǎng)絡(luò):主要利用網(wǎng)絡(luò)來實現(xiàn)資源共享,如網(wǎng)絡(luò)會議、瀏覽信息、發(fā)收電子郵件、網(wǎng)絡(luò)聊天等等。計算機的應(yīng)用科學(xué)計算實時控制數(shù)據(jù)處理計算機輔助文字處理和辦公自動化人工智能計算機網(wǎng)絡(luò)應(yīng)用科學(xué)計算:主要用于科學(xué)技術(shù)領(lǐng)域的數(shù)值計算,例如衛(wèi)星、導(dǎo)彈飛行軌跡的計算,大型工程的分析和仿真等。實時控制:主要用于對實施過程進(jìn)行實時監(jiān)控等,比如產(chǎn)品生產(chǎn),衛(wèi)星或者導(dǎo)彈發(fā)射等都要進(jìn)行實時監(jiān)控。數(shù)據(jù)處理:主要用于對大量數(shù)據(jù)進(jìn)行搜集、統(tǒng)計、排序等等各種操作。例如工資管理、生產(chǎn)庫存管理等。計算機輔助:利用計算機進(jìn)行輔助設(shè)計工作,如CADCAECAMCATC
5、AI等。文字處理和辦公自動化:主要用于畢業(yè)論文、學(xué)術(shù)論文撰寫等,如后面我們學(xué)OFFICE 2000就是一種功能強大的辦公自動化軟件。第13頁,共98頁。補充:計算機的誕生及發(fā)展第一臺計算機的誕生 計算機是一種能高速地、自動地進(jìn)行算術(shù)和邏輯運算的電子機器。 計算機的發(fā)展主要緣于“計算”的需要,飛機的設(shè)計、天氣預(yù)報、導(dǎo)彈的發(fā)射、某些工程計算等許多方面都需要高精度和高速度的計算。 1946年初,由美國賓夕法尼亞大學(xué)、穆爾工學(xué)院和美國陸軍火炮公司聯(lián)合研制而成研制出了世界上第一臺電子計算機ENIAC(Electronic Numerical Integrator And Computer 即電子數(shù)值積分
6、計算機)。 第14頁,共98頁。 ENIAC計算機體積龐大,占地約170平方米,總重量達(dá)30多噸,使用了188000個真空電子管,耗電174千瓦,每秒鐘可做5000次加減運算。ENIAC的誕生宣布了電子計算機時代的到來,具有劃時代的意義。第15頁,共98頁。第16頁,共98頁。1.第一階段:電子管計算機(19461957年)2.第二階段:晶體管計算機(19581965年)3.第三階段:中小規(guī)模集成電路計算機(19651979年)4.第四階段:大規(guī)模、超大規(guī)模集成電路計算機(1979年至今)電子計算機發(fā)展經(jīng)歷四個階段(四代):第17頁,共98頁。第18頁,共98頁。第19頁,共98頁。計算機行業(yè)
7、的夢想讓計算機(Computer)能像人一樣地思考,與人自然交流,人工智能(Artificial Intelligence)圖靈測試 計算機行業(yè)的夢想第20頁,共98頁。計算機與人工智能2019年,IBM公司研制的深藍(lán)超級計算機在一場“人機大戰(zhàn)”中打敗了國際象棋大師卡斯帕羅夫被譽為“人工智能的一大勝利” 2019年,IBM研制的“沃森”軟件系統(tǒng)戰(zhàn)勝知識競賽電視節(jié)目最高獎金得主深藍(lán)的主要研制者之一許峰雄博士:勝利靠的只是不知疲倦地高速運算,并不是什么智能。第21頁,共98頁。計算機行業(yè)的夢想AI的先驅(qū)者之一Carnegie Mellon大學(xué)(CMU)的Herbert Simon回憶說:最令他驚訝
8、的是做“難”的事情是多么的容易,而做“容易”的事情是多么的“難”至今仍無人造出可自動穿越擁擠的房間或理解兒童故事的機器來Comput + er 計算的機器第22頁,共98頁。未來的computer?新的計算機正在研究超導(dǎo)計算機納米計算機光計算機DNA計算機量子計算機但是,短期內(nèi),基于集成電路的計算機還不會退出歷史舞臺第23頁,共98頁。計算機與信息技術(shù)計算機技術(shù)與通信技術(shù)結(jié)合,構(gòu)成了信息技術(shù)(Information Technology),誕生了一個新詞:IT 嵌入式系統(tǒng)是IT未來的主要發(fā)展方向之一典型的嵌入式系統(tǒng)有:機器人、手機和智能家電等 第24頁,共98頁。第一章 程序設(shè)計ABC1.1
9、計算機與人1.2 計算機與程序設(shè)計語言1.3 程序設(shè)計語言的故事1.4 C語言的故事1.5 程序設(shè)計語言的工作原理第25頁,共98頁。補充1:計算機系統(tǒng)的組成計算機系統(tǒng)由硬件系統(tǒng)(hardware)和軟件系統(tǒng)(software)兩大部分組成第26頁,共98頁。裸機第27頁,共98頁。臺式機 PC機的硬件系統(tǒng) 主機箱鼠標(biāo)鍵盤音箱顯示器筆記本電腦 第28頁,共98頁。主機和主機箱 主機箱 電源主機板CPU硬盤光驅(qū)內(nèi)存條顯卡第29頁,共98頁。主板上的接口卡CPU插座內(nèi)存條插槽USB口LPT并口擴展槽鍵盤接口鼠標(biāo)接口網(wǎng)絡(luò)接口麥克風(fēng)/音箱口主機板 第30頁,共98頁。 CPU計算機系統(tǒng)的硬件組成 1中
10、央處理機(CPU)CPU運算器控制器運算器負(fù)責(zé)基本的算術(shù)運算和邏輯運算控制器負(fù)責(zé)計算機的各部件協(xié)調(diào)工作 CPU品質(zhì)的高低直接決定了一個計算機系統(tǒng)的檔次。CPU指標(biāo) :主頻 1.5G,2.0G,2.4G,3.2G,3.8GHZ 數(shù)據(jù)傳送的位數(shù) 16位機,32位機,64位機第31頁,共98頁。存儲器:存儲器是用來存儲程序和數(shù)據(jù)的部件。 存儲器又分為內(nèi)存儲器(主存儲器)和外存儲器(輔助存儲器)兩類。 內(nèi)存儲器簡稱內(nèi)存,用來存儲當(dāng)前要執(zhí)行的程序和數(shù)據(jù)以及中間結(jié)果和最終結(jié)果。 內(nèi)存儲器又分成隨機存儲器RAM(Random Access Memory) 、只讀存儲器ROM(Random Only Memo
11、ry)和高速緩沖存儲器Cache。 外存儲器簡稱外存,用來存儲大量暫時不參與運算的數(shù)據(jù)和程序以及運算結(jié)果。 內(nèi)存特點:存取速度快、存儲容量小??膳c各部件交換數(shù)據(jù)外存特點:存取速度慢、存儲容量大。只能與內(nèi)存交換數(shù)據(jù)第32頁,共98頁。常見的幾種內(nèi)存條用于臺式機內(nèi)存條用于筆記本電腦內(nèi)存條第33頁,共98頁。常見的外存設(shè)備硬 盤移動硬盤光 盤數(shù)碼伴侶(存儲卡)軟 盤U 盤第34頁,共98頁。 輸入設(shè)備:輸入設(shè)備是將用戶的程序、數(shù)據(jù)和命令輸入到計算機的內(nèi)存的設(shè)備。 最常用的輸入設(shè)備是鍵盤,常用的輸入設(shè)備還有鼠標(biāo)器、掃描儀、手寫板等。 輸出設(shè)備:輸出設(shè)備是顯示或硬拷貝計算機運算和處理結(jié)果的設(shè)備。 最常用
12、的輸出設(shè)備是顯示器和打印機,常用的輸出設(shè)備還有繪圖儀等。第35頁,共98頁。計算機與程序設(shè)計語言計算機是用來延伸人的能力的工具,需要人來駕馭我們的職責(zé)是讓非計算機專業(yè)的人更容易駕馭它完成這一目標(biāo)的主要手段之一就是“編程(Programming)”第36頁,共98頁。計算機基本工作過程整個過程的執(zhí)行者是硬件,但硬件是受軟件控制的編程,就是編寫軟件,使硬件按照人的意圖工作。第37頁,共98頁。馮諾依曼型計算機的基本結(jié)構(gòu) 1945年美籍匈牙利科學(xué)家馮諾依曼(Von Neumann)提出了一個“存儲程序”的計算機方案。此方案包含如下幾個要點: 計算機硬件由控制器、運算器、存儲器、輸入設(shè)備和輸出設(shè)備5大
13、部分組成。 采用二進(jìn)制數(shù)的形式表示數(shù)據(jù)和指令。 將指令和數(shù)據(jù)存放在存儲器中。 (4)自動、連續(xù)地執(zhí)行程序。(現(xiàn)代化的流水線) 補充2:計算機的工作原理第38頁,共98頁。其工作原理的核心是“存儲程序”+“程序控制”,就是通常所說的“順序存儲程序”概念。我們把按照這一原理設(shè)計的計算機稱為“馮諾依曼型計算機”被譽為“計算機之父”。馮諾依曼設(shè)計思想的特點計算機由五個部分組成二進(jìn)制存儲程序,逐條執(zhí)行第39頁,共98頁。輸入設(shè)備控制器運算器存儲器輸出設(shè)備2. 計算機的工作原理程序第40頁,共98頁。輸入設(shè)備控制器運算器存儲器輸出設(shè)備運算器:負(fù)責(zé)指令的執(zhí)行;(進(jìn)行簡單的四則運算或邏輯運算)控制器:協(xié)調(diào)并控
14、制計算機的各個部件按程序中排好的指令序列執(zhí)行指定的操作;(命令自己或外部設(shè)備做這做那)2. 計算機的工作原理程序結(jié)果第41頁,共98頁。計算機基本工作過程輸入/輸出設(shè)備存儲器運算器控制器源程序和輸入數(shù)據(jù)輸出結(jié)果取出數(shù)據(jù)存入數(shù)據(jù)操作命令存取命令取出程序指令輸入輸出命令計算結(jié)果CPU“馮諾依曼機”結(jié)構(gòu) 大腦記憶裝置眼睛和耳朵程序和數(shù)據(jù)硬盤CPU內(nèi)存執(zhí)行結(jié)果第42頁,共98頁。比如:十進(jìn)制方法:用09十個數(shù)字字符表示數(shù)的大小規(guī)則:逢十進(jìn)一,借一當(dāng)十1.數(shù)制:表示數(shù)的方法和規(guī)則。補充3:數(shù)制的基本概念種類符號數(shù)字字符基數(shù)權(quán)值規(guī)則主要用途十進(jìn)制D091010i逢十進(jìn)一計算機數(shù)據(jù)輸入。二進(jìn)制B0和122i
15、逢二進(jìn)一計算機內(nèi)部使用八進(jìn)制O0788i逢八進(jìn)一解決二進(jìn)制書寫不方便而采用,用在計算對地址和字符編碼。十六進(jìn)制H09、AF1616i逢十六進(jìn)一表1-1 數(shù)制種類二進(jìn)制書寫麻煩、容易出錯、很難記憶,十進(jìn)制與二進(jìn)制之間的轉(zhuǎn)換過程復(fù)雜,二進(jìn)制與八(十六)進(jìn)制之間轉(zhuǎn)換簡單。第43頁,共98頁。例如:有十進(jìn)制數(shù)如下222.22=200+20+2+0.2+0.02=2102+2101+2100+210-1+210-2=ai10ii=-22由此可知,任何一個十進(jìn)制數(shù)整數(shù)都可以表示為:N10=an10n+an-110n-1+a1101+a0100=ai10ii=0n權(quán)值基數(shù)其中:ai為數(shù)字字符09中的一個,1
16、0i為第i項的權(quán)值第44頁,共98頁。表1-2 十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制對照表十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制000000081000108100011191001119200102210101012A300113311101113B401004412110014C501015513110115D601106614111016E701117715111117F二、數(shù)制的種類第45頁,共98頁。二進(jìn)制與十進(jìn)制的轉(zhuǎn)換二進(jìn)制轉(zhuǎn)化為十進(jìn)制:例1:11001101B=?11001101=127+ 126 + 025 + 024 + 123 + 122 + 021 + 120=
17、 205第46頁,共98頁。二進(jìn)制與十進(jìn)制的轉(zhuǎn)換例2:十進(jìn)制轉(zhuǎn)化為二進(jìn)制 205=? 十進(jìn)制轉(zhuǎn)化為二進(jìn)制:除2取余,逆序排列第47頁,共98頁。20521021225121212602302510低位高位211201余數(shù)因此: 205=11001101第48頁,共98頁。第一章 程序設(shè)計ABC1.1 計算機與人1.2 計算機與程序設(shè)計語言1.3 程序設(shè)計語言的故事1.4 C語言的故事1.5 程序設(shè)計語言的工作原理第49頁,共98頁。程序設(shè)計語言的故事程序設(shè)計語言(Programming Language)是人與計算機進(jìn)行交流的語言計算機為什么用二進(jìn)制呢?為什么不用我們?nèi)粘J煜さ氖M(jìn)制呢?二進(jìn)制
18、在在電器元件中容易實現(xiàn) 計算機進(jìn)行二進(jìn)制運算比進(jìn)行十進(jìn)制運算簡單第50頁,共98頁。計算機能讀懂的語言機器語言(Machine Language),也叫機器代碼,一種純粹的二進(jìn)制語言由一系列二進(jìn)制0和1組成機器語言編寫的1+1程序低級語言101110000000000100000000000001010000000100000000像不像天書?程序設(shè)計語言的故事第51頁,共98頁。程序設(shè)計語言的故事匯編語言(Assemble Language)編寫的1+1程序MOV AX, 1ADD AX, 1第52頁,共98頁。PRINT 1+1結(jié)果顯示在屏幕上#include main()printf(%
19、dn, 1+1);BASIC語言編寫的1+1程序C語言編寫的1+1程序既不是英語,也非機器語言但更像英語高級語言比寫機器語言程序容易,但比使用英語難第53頁,共98頁。程序設(shè)計語言的故事程序設(shè)計語言是人與計算機進(jìn)行交流的語言有很多種,分別適合做不同的事情現(xiàn)在人還只能主動學(xué)計算機的語言做不到計算機學(xué)會人的語言當(dāng)計算機懂了人的自然語言,就幾乎不再需要編程,想讓計算機干什么,盡管對著它說好了,那時程序員可能也就失業(yè)了。第54頁,共98頁。流行的高級語言應(yīng)用編程語言機器語言匯編語言BasicPascalCC+JavaC#專項編程語言Lotus NotesPower BuilderWeb編程語言HTML
20、XMLPHPASPJSPJavaScriptVBScript其他perlpythonVBAlevenez/lang/搜集了大約50種極具代表性的語言的故事和資料被稱為“低級語言”第55頁,共98頁。高級語言的魅力易學(xué)、易用、易讀、易懂、強大、可移植百家爭鳴,據(jù)不完全統(tǒng)計2500種,絕大多數(shù)是高級語言/nkinners/LangList/Extras/langlist.htm可看到其列表和簡介 影響最大、壽命最長的是C語言程序設(shè)計語言數(shù)以千計,能廣為流傳的不過幾十種,能夠風(fēng)光20年的更是屈指可數(shù)第56頁,共98頁。有最好的編程語言嗎?能很好的解決問題的語言就是好語言。F
21、ortran已問世50年,仍然是科學(xué)計算首選C語言輝煌30年,至今老當(dāng)益壯C+已度過其20歲生日,相信屬于它的日子還很長很長在最恰當(dāng)?shù)牡胤?,最恰?dāng)?shù)臅r候,選擇最恰當(dāng)?shù)恼Z言,同時防止跌入語言自身的陷阱。第57頁,共98頁。第一章 程序設(shè)計ABC1.1 計算機與人1.2 計算機與程序設(shè)計語言1.3 程序設(shè)計語言的故事1.4 C語言的故事1.5 程序設(shè)計語言的工作原理第58頁,共98頁。1.5.1怎樣讓計算機讀懂高級語言?程序員按照該語言的語法編寫程序源代碼把自己的意圖寫入源代碼中編譯器讀入源代碼把程序員的意圖轉(zhuǎn)換成可執(zhí)行程序,供他人使用C語言可執(zhí)行程序編譯器第59頁,共98頁。軟件的形成軟件(So
22、ftware)的形成編譯器(Compiler)把源代碼轉(zhuǎn)換為可被計算機理解的機器代碼(Machine Code)并把機器代碼以可執(zhí)行文件(Executable File)的形式保存在磁盤上第60頁,共98頁。程序開發(fā)步驟What ?可執(zhí)行文件擴展名為.exe的文件 分析(Analysis)設(shè)計(Design)編碼(Write)編輯(Edit)編譯(Compile)鏈接(Link)運行 (Run)調(diào)試(Debug)How ?擴展名為.c的文件(對C而言) 擴展名為.obj的文件 第61頁,共98頁。軟件運行過程的簡單描述軟件的運行計算機把機器代碼讀入到內(nèi)存(Memory)由CPU運行這些代碼讀取
23、輸入(Input)產(chǎn)生輸出(Output)完成程序員預(yù)定的功能計算機專業(yè)后續(xù)課程計算機原理編譯原理操作系統(tǒng)第62頁,共98頁。1.5.2 內(nèi)存內(nèi)存是怎樣存儲程序和數(shù)據(jù)的呢?都是以二進(jìn)制形式存儲的,存儲單位是字節(jié)(Byte)。如何存?存哪里?由操作系統(tǒng)和編譯器打理。字節(jié)存儲單元(通常為一個字節(jié))地址(門牌號碼)第63頁,共98頁。b, B, KB, MB, GB, TBTerabyte(TB), 中文叫法:TGigabyte(GB), 中文叫法:GMegabyte(MB),中文叫法:兆Kilobyte(KB), 中文叫法: KByte, 中文叫法:字節(jié)bit, 中文叫法:位1 TB = 1,02
24、4 GB1 GB = 1,024 MB1 MB = 1,024 KB1 KB = 1,024 B1 B = 8 b第64頁,共98頁。b, B, KB, MB, GB, TB一個位有多大?只能是“0”或者“1”,這叫二進(jìn)制一個字節(jié)有多大?保存一個字符(英文字母、數(shù)字、符號)ASCII(美國標(biāo)準(zhǔn)信息交換碼)編碼兩個字節(jié)保存一個漢字GB編碼一個字節(jié)可以表示數(shù)字0255第65頁,共98頁。第一章 程序設(shè)計ABC1.1 計算機與人1.2 計算機與程序設(shè)計語言1.3 程序設(shè)計語言的故事1.4 C語言的故事1.5 程序設(shè)計語言的工作原理第66頁,共98頁。C程序設(shè)計語言20世紀(jì)60年代,貝爾實驗室,Ken
25、 Thompson開始開發(fā)一個叫做UNIX的操作系統(tǒng) 70年代, 將BCPL語言改造成更適合開發(fā)UNIX的B語言1971年,Dennis M. Ritchie開始和Thompson合作開發(fā)UNIX,將B語言改造成C語言第67頁,共98頁。C語言的設(shè)計者Dennis M. Ritchie-丹尼斯.里奇Ritchie漫畫像第68頁,共98頁。2019年和Unix的設(shè)計者Ken Thompson(肯湯普遜 )接受美國國家技術(shù)勛章第69頁,共98頁。C程序設(shè)計語言簡稱C語言BCPL語言進(jìn)化成B語言,B語言又進(jìn)化為C語言是一種高級語言高級語言并不是“高級”,只是相對低級語言,在一個高的級別上進(jìn)行編程歷史
26、悠久,戰(zhàn)勛卓著誕生于上世紀(jì)70年代初,成熟于80年代“ANSI C”標(biāo)準(zhǔn)的發(fā)布是C語言成熟的標(biāo)志很多重量級軟件都是用C寫的上天入地,無所不能幾乎沒有不能用C寫出來的軟件,沒有不支持C的系統(tǒng)第70頁,共98頁。從C到C+在C的基礎(chǔ)上,1983年又由貝爾實驗室的Bjarne Strou-strup推出了C+。 C+進(jìn)一步擴充和完善了語言,成為一種面向?qū)ο蟮某绦蛟O(shè)計語言。C+提出了一些更為深入的概念,它所支持的這些面向?qū)ο蟮母拍钊菀讓栴}空間直接地映射到程序空間,為程序員提供了一種與傳統(tǒng)結(jié)構(gòu)程序設(shè)計不同的思維方式和編程方法。因而也增加了整個語言的復(fù)雜性,掌握起來有一定難度。第71頁,共98頁。C程序
27、設(shè)計語言C語言被分類位高級語言,但實際上它是一種介于高級語言和低級語言之間的語言。很多流行語言、新生語言都借鑒了它的思想、語法從C+,到Java,再到C#正確地學(xué)好C語言,是學(xué)習(xí)這些流行語言的基礎(chǔ)。第72頁,共98頁。C程序設(shè)計語言硬件(Hardware)操作系統(tǒng)(OS)應(yīng)用程序(Application)應(yīng)用平臺基于平臺的應(yīng)用程序低級語言的地盤高級語言的地盤C語言的地盤第73頁,共98頁。C程序設(shè)計語言的地盤以往的擅長:與操作系統(tǒng)和基礎(chǔ)工具有關(guān)的編程任務(wù)操作系統(tǒng)核心,設(shè)備驅(qū)動程序,系統(tǒng)工具,網(wǎng)絡(luò)應(yīng)用,編輯器,字處理工具,編譯器,某些圖形和GUI應(yīng)用,以及數(shù)據(jù)庫應(yīng)用未來的發(fā)展:高性能、實時中間件
28、,嵌入式領(lǐng)域,并發(fā)程序設(shè)計等第74頁,共98頁。自然語言與C語言的比較信息交流(地位平等)有思維推理能力語法、句法規(guī)則靈活走,曬太陽去!去曬太陽,走!表達(dá)方式多樣人機對話(命令方式)無思維推理能力,有計算和邏輯判斷能力語法句法規(guī)則固定算法多樣第75頁,共98頁。C語言的特點1.語言簡潔、緊湊、靈活。(32個關(guān)鍵字,9種控制語句)2.運算符豐富(34種表達(dá)式)3.數(shù)據(jù)結(jié)構(gòu)豐富4.具有結(jié)構(gòu)化的控制語句5.目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高6.可移植性好7.兼有低級語言和高級語言的特點8.語法限制不太嚴(yán)格,程序設(shè)計自由度比較大第76頁,共98頁。C程序上機Turbo C 2.0的上機操作方法 Turbo
29、 C的兩種編輯、編譯、連接、運行C程序的方法1.集成開發(fā)環(huán)境:將四個步驟完整地組建在Turbo C系統(tǒng)內(nèi),用戶通過一個簡明的界面來訪問??焖?,高效,易學(xué)2.命令行編譯器VC+6.0其它C語言學(xué)習(xí)系統(tǒng)第77頁,共98頁。Turbo C常用命令F10:激活菜單Alt+F/C/R/O:使用相應(yīng)菜單ESC:退出菜單Alt+x:退出TCF2:源程序存盤Ctrl+F9:編譯連接運行程序Alt+F5:切換到輸出屏幕(查看結(jié)果)第78頁,共98頁。有不正確Ctrl+F9Alt+F5第79頁,共98頁。簡單的C語言程序介紹#include void main( ) printf (This is a C pro
30、gram.n); /*文件包含*/*主函數(shù) */*函數(shù)體開始*/*輸出語句*/*函數(shù)體結(jié)束*/ 說明: main-主函數(shù)名, void-函數(shù)類型每個C程序必須有一個主函數(shù)main 是函數(shù)開始和結(jié)束的標(biāo)志,不可省每個C語句以分號結(jié)束使用標(biāo)準(zhǔn)庫函數(shù)時應(yīng)在程序開頭一行寫: #include 說明: 本程序的作用是輸出一行信息:This is a C program.第80頁,共98頁。例1.2 求兩數(shù)之和#include void main( ) /*求兩數(shù)之和*/ int a,b,sum; /*聲明,定義變量為整型*/ /*以下3行為C語句 */ a=123; b=456; sum=a+b; pr
31、intf(sum is %dn,sum);說明: /*/表示注釋。注釋只是給人看的,對編譯和運行不起作用。所以可以用漢字或英文字符表示,可以出現(xiàn)在一行中的最右側(cè),也可以單獨成為一行。說明: 輸出一行信息:sum is 579第81頁,共98頁。C程序初識#include#includemain() int x,s; printf(“input a number(請輸入一個正數(shù)) :n); scanf(%d,&x); s=sqrt(x); printf(sqrt of %dis %dn,x,s); 第82頁,共98頁。例1.3 求3個數(shù)中較大者。#include void main( ) /*
32、主函數(shù)*/ int max(int x,int y); / 對被調(diào)用函數(shù)max的聲明 */ int a, b, c; /*定義變量a、b、c */ scanf(d,d,&a,&b); /*輸入變量a和b的值*/ c=max(a,b); /*調(diào)用max函數(shù),將得到的值賦給c */ printf(max=dn,c); /*輸出c的值*/程序運行情況如下:8,5 (輸入8和5賦給a和b)max=8 (輸出c的值)int max(int x, int y) int z; if (xy) z=x; else z=y; return (z); max(int x,int y); max(a,b); 說明:
33、本程序包括main和被調(diào)用函數(shù)max兩個函數(shù)。max函數(shù)的作用是將x和y中較大者的值賦給變量z。return語句將z的值返回給主調(diào)函數(shù)main。第83頁,共98頁。#include /*函數(shù)功能:計算兩個整數(shù)相加之和 入口參數(shù):整型數(shù)據(jù)a和b 返回值: 整型數(shù)a和b之和*/int Add(int a, int b)return (a + b);main() /*主函數(shù)*/int x, y, sum = 0;printf(Input two integers:);scanf(%d%d, &x, &y);/*輸入兩個整型數(shù)x和y*/sum = Add(x, y); /*調(diào)用函數(shù)Add計算x和y相加
34、之和*/printf(sum = %dn, sum);/*輸出x和y相加之和*/第84頁,共98頁。總結(jié)(1) C程序是由函數(shù)構(gòu)成的。 這使得程序容易實現(xiàn)模塊化。 (2) 一個函數(shù)由兩部分組成: 函數(shù)的首部:例1.3中的max函數(shù)首部 int max(int x,int y ) 函數(shù)體:花括號內(nèi)的部分。若一個函數(shù)有多個花括號,則最外層的一對花括號為函數(shù)體的范圍。 函數(shù)體包括兩部分 :聲明部分:int a,b,c; 可缺省執(zhí)行部分:由若干個語句組成??扇笔〉?5頁,共98頁??偨Y(jié)注意1:一個簡單的C程序的結(jié)構(gòu)框架如下:以#開始的編譯預(yù)處理命令行 main( ) 局部變量定義語句 可執(zhí)行語句序列 注意2:函數(shù)的聲明部分和執(zhí)行部分都可缺省,例如:void dump ( ) 這是一個空函數(shù),什么也不做,但是合法的函數(shù)。 第86頁,共98頁??偨Y(jié)(3) C程序總是從main函數(shù)開始執(zhí)行的,與main函數(shù)的位置無關(guān)。(4)根據(jù)需要用戶可以自定義多個函數(shù)(5)程序中可以調(diào)用系統(tǒng)提供的庫函數(shù),但必須將相應(yīng)的頭文件包含在本程序文件中(6)書寫格式與規(guī)則: C程序書寫格式自由,一行內(nèi)可以寫幾個語句, 一個語句可以分寫在多行上,C程序沒有行號。 每個語句和數(shù)據(jù)聲明的最后必須有一個分號
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 瀝青路面白改黑施工方案
- 日海智能:擬質(zhì)押日海通服服務(wù)有限公司股權(quán)涉及其股東全部權(quán)益價值項目資產(chǎn)評估報告
- 電動門干掛石材施工方案
- 巴中地下室防潮層施工方案
- 寧鄉(xiāng)鋼筋套筒施工方案
- 2025年安徽省阜陽市阜陽市重點中學(xué)中考一模歷史試題(原卷版+解析版)
- 【專精特新】激光雷達(dá)企業(yè)專精特新“小巨人”成長之路(智研咨詢)
- 高中語文學(xué)術(shù)性論著閱讀“四維三層”教學(xué)設(shè)計體系探究
- 中外美術(shù)32講知到課后答案智慧樹章節(jié)測試答案2025年春西安工業(yè)大學(xué)
- 三級人力資源管理師-《企業(yè)人力資源管理師(理論知識)》考前強化模擬卷8
- 全國運動員注冊協(xié)議書范本(2篇)
- 2024年03月浙江南潯銀行春季招考筆試歷年參考題庫附帶答案詳解
- 執(zhí)行立案申請書模版
- 《高點全景視頻監(jiān)控聯(lián)網(wǎng)技術(shù)要求》
- 智能建筑外掛電梯安裝方案
- 2024屆廣東省廣州市高三一??荚囉⒄Z試題講評課件
- 數(shù)字電子技術(shù)(廣東工業(yè)大學(xué))知到智慧樹章節(jié)測試課后答案2024年秋廣東工業(yè)大學(xué)
- 安徽省淮北一中2025屆高三沖刺模擬數(shù)學(xué)試卷含解析
- 白云山生態(tài)停車場工程施工組織設(shè)計施工方案
- 2022年CSCO軟組織肉瘤診療指南
- 【MOOC】Office高級應(yīng)用-成都信息工程大學(xué) 中國大學(xué)慕課MOOC答案
評論
0/150
提交評論