C語言程序設(shè)計 教案 10-1 文件的概念 - 副本_第1頁
C語言程序設(shè)計 教案 10-1 文件的概念 - 副本_第2頁
C語言程序設(shè)計 教案 10-1 文件的概念 - 副本_第3頁
C語言程序設(shè)計 教案 10-1 文件的概念 - 副本_第4頁
C語言程序設(shè)計 教案 10-1 文件的概念 - 副本_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

《C語言程序設(shè)計》教案課程名稱C語言程序設(shè)計任課教師總課時64教學課題文件的概念授課班級授課日期課時2教學目標知識目標:1.掌握文件的定義2.掌握文件的打開與關(guān)閉能力目標:能夠熟練掌握文件的基本操作素質(zhì)目標:團隊合作能力、團隊互助,自我學習的習慣重點難點文件的定義與基本操作教學方法演示、講解、啟發(fā)教學資源教材《C語言程序設(shè)計》設(shè)備準備VC++6.0,極域電子教室軟件,分發(fā)工作任務(wù)單教學環(huán)節(jié)(教學過程)教學內(nèi)容教師活動學生活動教學目標課時1演示項目效果通過教室軟件演示程序執(zhí)行結(jié)果傾聽、觀看、思考、陳述給學生演示任務(wù)結(jié)果10分鐘2理論講解講授文件的定義、打開和關(guān)閉講授預(yù)備需要的理論知識15分鐘3舉例通過一個案例進一步講解文件的定義、打開和關(guān)閉講授、演示通過實際應(yīng)用幫助學生理解理論知識20分鐘4應(yīng)用布置兩個相關(guān)題目輔導(dǎo)、答疑通過做相關(guān)練習題幫助學生更好的理解相關(guān)知識45分鐘教學內(nèi)容(詳細):文件概述所謂文件,一般指存儲在計算機外部介質(zhì)上的一組相關(guān)數(shù)據(jù)的集合。在現(xiàn)代計算機的應(yīng)用領(lǐng)域中,數(shù)據(jù)處理是個重要方面,要實現(xiàn)數(shù)據(jù)處理,往往是要通過文件的形式來完成。本項目介紹如何將數(shù)據(jù)寫入文件和從文件中讀出。1.文件的概念文件是指存儲在外部介質(zhì)上的數(shù)據(jù)集合,為標識一個文件,每個文件都必須有一個文件名,文件名的一般形式為:文件名.[擴展名],其中擴展名是可選的,并按類別命名,例如,C語言源程序的擴展名是C,而可執(zhí)行文件的擴展名是EXE等等。2.文件類型(1)按文件的邏輯結(jié)構(gòu)分1)記錄文件:由具有一定結(jié)構(gòu)的記錄組成(定長和不定長)。2)流式文件:由一個個字符(字節(jié))數(shù)據(jù)順序組成。(2)按存儲介質(zhì)1)普通文件:存儲介質(zhì)(磁盤、磁帶等)文件。2)設(shè)備文件:非存儲介質(zhì)(鍵盤、顯示器、打印機等)文件。(3)按數(shù)據(jù)的組織形式分1)文本文件:也稱ASCII碼文件。這種文件在保存時,每個字符對應(yīng)一個字節(jié),用于存儲對應(yīng)的ASCII碼。2)二進制文件:不是保存ASCII碼,而是按二進制的編碼方式來保存文件內(nèi)容。例如:短整型數(shù)100,由1、0、0三個字符組成,它們的ASCII碼分別為49、48、48,所以在文本文件中存儲的是49、48、48三個數(shù),需要3個字節(jié)。在二進制文件中直接存放的是100,只要占2個字節(jié)就行了。如圖10-1所示。ASCII文件ASCII文件100二進制文件00000000011001000011000100110000011001000000000000110000圖10-1短整型數(shù)100的存儲形式示意3.文件的用途1)使程序與數(shù)據(jù)分離,數(shù)據(jù)文件的改動不會引起程序的改動。2)使數(shù)據(jù)共享,不同程序可以訪問同一數(shù)據(jù)文件中的數(shù)據(jù)。3)程序運行的中間數(shù)據(jù)或者結(jié)果數(shù)據(jù)可以長期保存。4.文件的處理方式1)緩沖文件系統(tǒng):又稱為標準文件系統(tǒng)或高級文件系統(tǒng),是目前常用的文件系統(tǒng),也是ANSIC建議使用的文件系統(tǒng)。系統(tǒng)自動為正在使用的文件開辟內(nèi)存緩沖區(qū)。可減少主機和外部設(shè)備頻繁交換數(shù)據(jù)的次數(shù),緩沖文件系統(tǒng)的輸入輸出如圖所示。2)非緩沖文件系統(tǒng)又稱為低級文件系統(tǒng),它提供的文件輸入輸出操作函數(shù)更接近于操作系統(tǒng),它不能自動設(shè)置緩沖區(qū),而是由用戶根據(jù)所處理的數(shù)據(jù)大小在程序中設(shè)置,其輸入輸出示意圖如圖所示。因此,非緩沖文件系統(tǒng)的操作與機器本身有關(guān),使用起來較為困難,但它節(jié)省內(nèi)存,執(zhí)行效率較高。5.文件的定義一般情況下,要使用一個文件,系統(tǒng)將在內(nèi)存中為這一文件開辟一個“文件信息區(qū)”,用來存放文件的有關(guān)信息,如文件當前的讀寫位置、緩沖區(qū)中未被處理的字符數(shù)、文件操作方式、下一個字符的位置、文件緩沖區(qū)的位置等。這些信息保存在一個結(jié)構(gòu)體中,該結(jié)構(gòu)體由系統(tǒng)定義的,定義在stdio.h的頭文件中。VisualC++6.0系統(tǒng)中具體定義形式為:struct_iobuf{char*_ptr;/*文件輸入的下一個位置*/int_cnt;/*當前緩沖區(qū)的相對位置*/char*_base;/*數(shù)據(jù)緩沖區(qū)的位置*/int_flag;/*文件狀態(tài)標志*/int_file;/*用于有效性檢驗*/int_charbuf;/*如無緩沖區(qū)不讀取字符*/int_bufsiz;/*緩沖區(qū)的大小*/char*_tmpfname;/*臨時文件名*/};typedefstruct_iobufFILE;C語言對文件的操作并不是直接通過文件名進行的,而是根據(jù)文件名生成一個指向FILE結(jié)構(gòu)類型的指針。也就是首先定義一個FILE的指針,例如:FILE*fp;通過fp使用結(jié)構(gòu)體變量中的文件信息訪問文件。也就是說,C程序中是通過文件指針變量fp找到與它相關(guān)的文件的,通過該指針對文件進行操作。6.文件的打開和關(guān)閉文件的讀寫操作之前,必須先打開文件;使用結(jié)束后,為了避免數(shù)據(jù)丟失,應(yīng)立即關(guān)閉文件。即文件的使用步驟一般為:首先打開文件,然后進行文件的讀寫操作,最后關(guān)閉文件。文件的打開和關(guān)閉都是通過函數(shù)來實現(xiàn)的。(1)文件的打開C語言中,使用fopen()函數(shù)來打開文件。格式:FILE*fp;fp=fopen("文件名","操作方式");功能:以指定的操作方式打開一個文件。若文件正常打開,返回指向文件結(jié)構(gòu)體的指針;否則打開失敗,返回NULL。操作方式含義文件不存在時文件存在時r只讀(文本文件)出錯正常打開w只寫(文本文件)建立新文件文件原有內(nèi)容丟失a添加(文本文件)建立新文件在文件原有內(nèi)容末尾追加rb只讀(二進制文件)出錯正常打開wb只寫(二進制文件)建立新文件文件原有內(nèi)容丟失ab添加(二進制文件)建立新文件在文件原有內(nèi)容末尾追加r+讀/寫(文本文件)出錯正常打開w+寫/讀(文本文件)建立新文件文件原有內(nèi)容丟失a+讀/添加(文本文件)建立新文件在文件原有內(nèi)容末尾追加rb+讀/寫(二進制文件)出錯正常打開wb+寫/讀(二進制文件)建立新文件文件原有內(nèi)容丟失ab+讀/添加(二進制文件)建立新文件在文件原有內(nèi)容末尾追加例如:FILE*fp;fp=fopen("test.txt","r");上面代碼表示以讀方式打開當前目錄下文件名為“text.txt”的文本文件。程序中一般會考慮作容錯處理,常用的方法如下:if((fp=fopen("文件名","操作方式"))==NULL){printf("打開文件失??!");exit(0);/*結(jié)束程序運行*/}(2)文件的關(guān)閉使用完一個文件后,應(yīng)使用fclose()函數(shù)及時關(guān)閉。fclose()函數(shù)和fopen()函數(shù)一樣,原型也在stdio.h中,調(diào)用的一般形式為:fclose(文件指針);例如:fcl

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論