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