南京郵電大學(xué)C語言課件第1章.ppt
《南京郵電大學(xué)C語言課件第1章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《南京郵電大學(xué)C語言課件第1章.ppt(28頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
,,,,,C程序設(shè)計(jì),C程序設(shè)計(jì),,,,,,,,,,,,,第1章引言,第2章C語言的基本數(shù)據(jù)類型,第3章順序結(jié)構(gòu)程序設(shè)計(jì),第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì),第6章函數(shù),第7章編譯預(yù)處理命令,第8章數(shù)組,第4章選擇結(jié)構(gòu)程序設(shè)計(jì),●,課程概述,第9章指針,第10章字符串及其操作,第11章結(jié)構(gòu)體與共同體,第12章文件處理,引言,1.1程序設(shè)計(jì)語言1.2程序設(shè)計(jì)的基本過程1.3流程圖1.3.1傳統(tǒng)流程圖1.3.2結(jié)構(gòu)化流程圖1.4簡(jiǎn)單的C語言程序1.5C語言程序的上機(jī)步驟1.6習(xí)題1.7實(shí)驗(yàn),,第1章,,,,計(jì)算機(jī)是由人來指揮的,人們?yōu)榱擞糜?jì)算機(jī)來解決實(shí)際問題,一般總是要編制程序。,Language,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,程序設(shè)計(jì)語言,1.1,1.1.1,機(jī)器語言,,,對(duì)于計(jì)算機(jī)來說,一組機(jī)器指令就稱為機(jī)器語言程序。機(jī)器語言是最底層的計(jì)算機(jī)語言。計(jì)算機(jī)硬件可以直接識(shí)別用機(jī)器語言編寫的程序。在用機(jī)器語言編寫的程序中,每一條機(jī)器指令都是二進(jìn)制形式的指令代碼。,Language,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,,1.1.2,匯編語言,●為了便于理解與記憶,人們采用能幫助記憶的英文縮寫符號(hào)(稱為指令助記符)來代替機(jī)器語言指令代碼中的操作碼,用地址符號(hào)來代替地址碼。用指令助記符及地址符號(hào)書寫的指令稱為匯編指令(也稱符號(hào)指令),而用匯編指令編寫的程序稱為匯編語言源程序。匯編語言又稱符號(hào)語言。,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,1.1.3,高級(jí)語言,●機(jī)器語言和匯編語言都是面向機(jī)器的語言,稱為低級(jí)語言。,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,低級(jí)語言,高級(jí)語言,●從20世紀(jì)50年代中期開始逐步發(fā)展了面向問題的程序設(shè)計(jì)語言,稱為高級(jí)語言。,1.2,程序設(shè)計(jì)的基本過程,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,●問題的分析?!窠Y(jié)構(gòu)特性的設(shè)計(jì)?!袼惴ǖ脑O(shè)計(jì)。●流程的描述?!裾{(diào)試與運(yùn)行。,問題的分析,1.2.1,,●問題的分析,根據(jù)所要解決的問題性質(zhì)與類型,最基本的分析內(nèi)容主要有以下幾個(gè)方面:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,程序設(shè)計(jì)的基礎(chǔ),結(jié)構(gòu)特性的設(shè)計(jì),1.2.2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,●結(jié)構(gòu)特性的設(shè)計(jì),控制結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu),一個(gè)程序的功能不僅取決于所選用的操作,而且還取決于各操作之間的執(zhí)行順序,即程序的控制結(jié)構(gòu)。程序的控制結(jié)構(gòu)實(shí)際給出了程序的框架,決定了程序中各操作的執(zhí)行順序。在程序設(shè)計(jì)過程中,通常用流程圖形象地表示程序的控制結(jié)構(gòu)。,一般來說,在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),數(shù)據(jù)的不同組織形式,其處理的效率是不同的。,,結(jié)構(gòu)特性的設(shè)計(jì),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,,結(jié)構(gòu)特性的設(shè)計(jì),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,將成績(jī)?cè)?0分以上(包括90分)、80~89分、70~79分、60~69分之間的學(xué)生情況分別登記在四個(gè)獨(dú)立的表中。,,結(jié)構(gòu)特性的設(shè)計(jì),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,由這個(gè)例子可以看出,在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),可以根據(jù)所需要作的運(yùn)算不同,而將數(shù)據(jù)組織成便于運(yùn)算的形式,以便提高數(shù)據(jù)處理的效率。,,算法的設(shè)計(jì),1.2.3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,●算法的設(shè)計(jì),●在進(jìn)行問題分析時(shí),要建立數(shù)學(xué)模型或?qū)ΤS玫姆椒ㄟM(jìn)行分析比較,這就是算法設(shè)計(jì)。,●算法在執(zhí)行過程中往往要受到計(jì)算工具的限制,使執(zhí)行結(jié)果產(chǎn)生偏差。,1.2.4,流程的描述,,●流程圖,●編程,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,,描述工具,,1.2.4,流程的描述,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,●流程圖,調(diào)試與運(yùn)行,1.2.5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,●調(diào)試與運(yùn)行,測(cè)試與調(diào)試往往是交替進(jìn)行的,通過測(cè)試發(fā)現(xiàn)程序中的錯(cuò)誤,通過調(diào)試進(jìn)一步找出錯(cuò)誤的位置并改正錯(cuò)誤。這個(gè)過程需要重復(fù)多次。,傳統(tǒng)流程圖,1.3.1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,1.3,流程圖,,,任何復(fù)雜的程序都可以用順序、選擇和循環(huán)三種基本結(jié)構(gòu)組合而成。,1966年,Bohm和Jacopini,●順序結(jié)構(gòu)反映了若干個(gè)模塊之間連續(xù)執(zhí)行的順序。●選擇結(jié)構(gòu)中,由某個(gè)條件P的取值來決定執(zhí)行兩個(gè)模塊之間的哪一個(gè)?!裨诋?dāng)型循環(huán)結(jié)構(gòu)中,只有當(dāng)某個(gè)條件成立時(shí)才重復(fù)執(zhí)行特定的模塊(稱為循環(huán)體)?!裨谥钡叫脱h(huán)結(jié)構(gòu)中,重復(fù)執(zhí)行一個(gè)特定的模塊,直到某個(gè)條件成立時(shí)才退出該模塊的重復(fù)執(zhí)行?!裨诙嗲闆r選擇結(jié)構(gòu)中,根據(jù)某控制變量的取值來決定選擇多個(gè)模塊中的哪一個(gè)。,一般的和多情況選擇結(jié)構(gòu),當(dāng)型循環(huán)和直到型循環(huán),傳統(tǒng)流程圖,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,,傳統(tǒng)流程圖,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,,傳統(tǒng)流程圖有以下幾個(gè)主要缺點(diǎn):●傳統(tǒng)流程圖本質(zhì)上不是逐步求精的好工具,它會(huì)使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu)?!駛鹘y(tǒng)流程圖不易表示層次結(jié)構(gòu)?!駛鹘y(tǒng)流程圖不易表示數(shù)據(jù)結(jié)構(gòu)和模塊調(diào)用關(guān)系等重要信息?!駛鹘y(tǒng)流程圖中用箭頭代表控制流,因此,程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計(jì)的思想,隨意進(jìn)行轉(zhuǎn)移控制。,,結(jié)構(gòu)化流程圖,1.3.2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,結(jié)構(gòu)化程序設(shè)計(jì)要求把程序的結(jié)構(gòu)限制為順序、選擇和循環(huán)三種基本結(jié)構(gòu),以便提高程序的可讀性。這種結(jié)構(gòu)化程序具有以下兩個(gè)特點(diǎn):●以控制結(jié)構(gòu)為單位,只有一個(gè)入口和一個(gè)出口,使各單位之間的接口比較簡(jiǎn)單,每個(gè)單位也容易被人們所理解。●縮小了程序的靜態(tài)結(jié)構(gòu)與動(dòng)態(tài)執(zhí)行之間的差異,使人們能方便、正確地理解程序的功能。,NS圖是一種不允許破壞結(jié)構(gòu)化原則的圖形算法描述工具,又稱盒圖。在NS圖中,去掉了傳統(tǒng)流程圖中容易引起麻煩的流程線,全部算法都寫在一個(gè)框內(nèi),每一種基本結(jié)構(gòu)也是一個(gè)框。,,,結(jié)構(gòu)化流程圖,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,NS圖,,結(jié)構(gòu)化流程圖,●功能域比較明確,可以從框圖中直接反映出來。,●不可能任意轉(zhuǎn)移控制,符合結(jié)構(gòu)化原則。,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,在以上三種基本結(jié)構(gòu)中,每一個(gè)模塊S或S1、S2、S3等都又可以是這三種基本結(jié)構(gòu)之一。由以上所描述的三種基本控制結(jié)構(gòu)的形式可以看出,NS圖有以下幾個(gè)基本特點(diǎn):,●很容易確定局部和全程數(shù)據(jù)的作用域。,●很容易表示嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。,,,結(jié)構(gòu)化流程圖,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,,,,簡(jiǎn)單的C語言程序,1.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,【例1-1】編寫一個(gè)C程序,其功能是顯示字符串"THECPROGRAMMINGLANGUAGE“。其C程序如下:#include"stdio.h"main(){printf("THECPROGRAMMINGLANGUAGE\n");}這是一個(gè)簡(jiǎn)單而完整的C語言程序。如果將這個(gè)程序利用編輯程序輸入進(jìn)計(jì)算機(jī),并經(jīng)過編譯和連接后,運(yùn)行結(jié)果是在顯示器屏幕的當(dāng)前光標(biāo)位置處顯示如下字符串:THECPROGRAMMINGLANGUAGE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,【例1-2】下面C語言程序的功能是:從鍵盤輸入兩個(gè)實(shí)數(shù),然后計(jì)算并顯示輸出這兩個(gè)實(shí)數(shù)平方之和的平方根值。#include"stdio.h"#include"math.h"main(){floatx,y,s;/*定義三個(gè)實(shí)型變量*/printf("inputxandy:");/*給出輸入提示*/scanf("%f,%f",&x,&y);/*輸入x與y值*/s=sqrt(x*x+y*y);/*計(jì)算*/printf("s=%f\n",s);/*輸出結(jié)果*/},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,●在一個(gè)C函數(shù)模塊中,由左右花括號(hào){}括起來的部分是函數(shù)體,其中的語句系列實(shí)現(xiàn)函數(shù)的預(yù)定功能。,●C程序中的每一個(gè)語句必須以“;”結(jié)束,但書寫格式是自由的。即在C程序中,一行上可以寫多個(gè)語句,一個(gè)語句也可以占多行。但在實(shí)際編寫程序時(shí)應(yīng)注意可讀性。,●#include是編譯預(yù)處理命令,其作用是將雙引號(hào)或尖括號(hào)括起來的文件內(nèi)容讀到該命令的位置處。,●在C程序的任何位置處都可以用/*......*/作注釋,以提高程序的可讀性。,一般的C程序作幾點(diǎn)說明,C語言程序的上機(jī)步驟,,1.5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,教學(xué)進(jìn)程,●用編譯命令對(duì)C源程序文件進(jìn)行編譯與連接,生成目標(biāo)文件(擴(kuò)展名為.OBJ)與可執(zhí)行文件(擴(kuò)展名為.EXE)。如果在這一步中發(fā)現(xiàn)有錯(cuò)誤,則要重新調(diào)用編輯程序?qū)υ闯绦蜻M(jìn)行編輯修改,再進(jìn)行編譯與連接,直到在編譯、連接過程中沒有錯(cuò)誤發(fā)生為止。,●運(yùn)行可執(zhí)行文件得到結(jié)果。如果在運(yùn)行過程中發(fā)現(xiàn)有錯(cuò)誤,則要重新調(diào)用編輯程序?qū)υ闯绦蜻M(jìn)行編輯修改,再進(jìn)行編譯、連接與運(yùn)行,直到?jīng)]有錯(cuò)誤發(fā)生為止。,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 南京 郵電大學(xué) 語言 課件
鏈接地址:http://m.zhongcaozhi.com.cn/p-11493933.html