亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C語言程序設(shè)計(jì)中數(shù)據(jù)文件處理技巧

        2012-11-15 06:46:10李國(guó)忠楊艷
        中國(guó)科技信息 2012年9期
        關(guān)鍵詞:數(shù)據(jù)文件程序設(shè)計(jì)課程設(shè)計(jì)

        李國(guó)忠 楊艷

        江西工業(yè)工程職業(yè)技術(shù)學(xué)院,江西 萍鄉(xiāng) 337055

        C語言程序設(shè)計(jì)中數(shù)據(jù)文件處理技巧

        李國(guó)忠 楊艷

        江西工業(yè)工程職業(yè)技術(shù)學(xué)院,江西 萍鄉(xiāng) 337055

        數(shù)據(jù)文件處理是C語言教學(xué)過程中必不可少的一個(gè)教學(xué)單元。在C語言課程設(shè)計(jì)任務(wù)中通常離不開對(duì)數(shù)據(jù)文件進(jìn)行處理,如記錄的追加、統(tǒng)計(jì)、刪除及修改等。本文擬通過數(shù)據(jù)文件處理的巧妙算法的介紹,讓學(xué)生在做C語言課程設(shè)計(jì)時(shí)加深對(duì)數(shù)據(jù)文件及算法的認(rèn)識(shí),做到事半功倍。

        文件處理;記錄;巧妙算法

        引言

        C語言是目前世界上流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語言。對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語言明顯優(yōu)于其它高級(jí)語言,許多大型應(yīng)用軟件都是用C語言編寫的。在眾多的程序設(shè)計(jì)語言中, C 語言以其靈活性和實(shí)用性受到了廣大計(jì)算機(jī)應(yīng)用人員的喜愛。一旦掌握了C 語言,就可以較為輕松地學(xué)習(xí)其他任何一種程序設(shè)計(jì)語言,為學(xué)習(xí)后續(xù)的面向?qū)ο蟪绦蛟O(shè)計(jì)打下基礎(chǔ)。

        《C語言程序設(shè)計(jì)》是我院面向理工類各專業(yè)學(xué)生開設(shè)的,旨在培養(yǎng)學(xué)生基本程序設(shè)計(jì)思想和程序設(shè)計(jì)能力的學(xué)科基礎(chǔ)必修課。通過《C語言程序設(shè)計(jì)》課程的學(xué)習(xí),培養(yǎng)學(xué)生的邏輯思維能力,掌握基本的面向過程的程序設(shè)計(jì)方法,扎實(shí)提高學(xué)生的動(dòng)手實(shí)踐能力,為下一步學(xué)習(xí)面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)和其他重要后繼課程的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。

        1 文件處理分析

        文件實(shí)際上就是記載在外部存儲(chǔ)器上的數(shù)據(jù)的集合,在C語言中把這些數(shù)據(jù)的集合看成是字符或字節(jié)序列,亦即由一個(gè)一個(gè)的字符或字節(jié)的數(shù)據(jù)順序組成,換句話說,C語言是把每一個(gè)文件都看成是一個(gè)有序的字節(jié)流。

        文件操作是C語言教學(xué)過程中必不可少而學(xué)生又難掌握的一個(gè)教學(xué)單元。在C語言程序設(shè)計(jì)中對(duì)數(shù)據(jù)文件的操作主要包括文件的打開、讀取、寫入、關(guān)閉。具體地說就是對(duì)記錄的插入、刪除、修改、排序等操作,對(duì)記錄的處理都涉及記錄的保存和記錄數(shù)的統(tǒng)計(jì),然而C語言本身并沒有直接提供對(duì)記錄計(jì)數(shù)和記錄保存的函數(shù),這就需要程序員自己開發(fā)編寫。

        2 文件處理技巧

        下面的C語言程序中就數(shù)據(jù)文件中記錄保存、記錄自動(dòng)排序和記錄計(jì)數(shù)三個(gè)重要功能的實(shí)現(xiàn)分別設(shè)計(jì)了一個(gè)巧妙的算法。具體代碼如下:

        該程序通過關(guān)鍵語句fseek(fp,(kh[i].ID-1)*rec_len,0);實(shí)現(xiàn)了記錄數(shù)據(jù)的自動(dòng)排序,如圖1所示。

        圖1 記錄自動(dòng)排序

        實(shí)現(xiàn)該功能的核心算法是根據(jù)賬號(hào)的大小來移動(dòng)文件指針的位置,正如圖2、圖3和圖4所示,文件指針每次的偏移量都是不同的。

        圖2 第一次輸入時(shí)數(shù)據(jù)文件的存儲(chǔ)狀況

        圖3 第二次輸入時(shí)數(shù)據(jù)文件的存儲(chǔ)狀況

        圖4 第三次輸入時(shí)數(shù)據(jù)文件的存儲(chǔ)狀況

        該算法的缺點(diǎn)是可能會(huì)在數(shù)據(jù)文件中生成一些空記錄,這可以通過save()函數(shù)來彌補(bǔ),save()函數(shù)具有清除空記錄的功能,如圖5所示。當(dāng)然在記錄的刪除、修改、追加操作中都能用到save()函數(shù)。在程序中由rec()函數(shù)實(shí)現(xiàn)記錄數(shù)的統(tǒng)計(jì)。在rec()函數(shù)中若把語句if(fread(&kh[i],sizeof(struct K H X X),1,f p)!=N U L L)改寫為fread(&kh[i],sizeof(struct KHXX),1,fp)則記錄數(shù)會(huì)比實(shí)際數(shù)目大1,這是因?yàn)槲募羔樤谧x取完最后一條記錄后,還會(huì)嘗試再取一次數(shù)據(jù),這樣使循環(huán)次數(shù)多了一次,因此需要增加計(jì)數(shù)條件。

        圖5 save()函數(shù)清除空記錄

        3 文件處理技巧的應(yīng)用

        C語言是各級(jí)各類學(xué)校教學(xué)體系中的一門計(jì)算機(jī)語言教學(xué)必修課,C語言課程設(shè)計(jì)是在C語言課堂教學(xué)和實(shí)驗(yàn)教學(xué)基礎(chǔ)上的一項(xiàng)課程設(shè)計(jì)任務(wù),其目的是鞏固教學(xué)成果,擴(kuò)充 教學(xué)內(nèi)容,提高教學(xué)質(zhì)量。在課程設(shè)計(jì)任務(wù)中少不了要對(duì)數(shù)據(jù)文件進(jìn)行操作,如記錄的追加、記錄的統(tǒng)計(jì)、記錄的刪除、記錄的修改等等。對(duì)大多數(shù)學(xué)生來說算法和邏輯概念是比較薄弱的,如果在課程設(shè)計(jì)中能恰當(dāng)?shù)貞?yīng)用到本文所述的記錄自動(dòng)排序、記錄保存及記錄計(jì)數(shù)等算法,那么學(xué)生在完成任務(wù)時(shí)就能少走彎路,做到事半功倍。

        [1] 李麗娟.C語言程序設(shè)計(jì)教程{M}.北京:人民郵電出版社,2009

        [2] 張友珍.C語言課程設(shè)計(jì)的教學(xué)實(shí)踐{J}.合肥聯(lián)合大學(xué)學(xué)報(bào),2001(3)

        10.3969/j.issn.1001-8972.2012.09.046

        李國(guó)忠(男),楊艷(女),江西萍鄉(xiāng)人,電子計(jì)算機(jī)系講師。

        猜你喜歡
        數(shù)據(jù)文件程序設(shè)計(jì)課程設(shè)計(jì)
        基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
        龍鳳元素系列課程設(shè)計(jì)
        從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        數(shù)據(jù)文件恢復(fù)專題問答
        數(shù)據(jù)文件安全管控技術(shù)的研究與實(shí)現(xiàn)
        SQL數(shù)據(jù)文件恢復(fù)工具
        高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
        基于Articulate Storyline的微課程設(shè)計(jì)與開發(fā)
        PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
        Tekla Structure數(shù)據(jù)文件交互格式分析
        无码福利写真片视频在线播放| 亚洲精品乱码久久久久久中文字幕| 国产成+人欧美+综合在线观看| 亚洲av成人综合网| 麻豆国产乱人伦精品一区二区| 日韩人妻av不卡一区二区三区| 亚洲精品一区二区三区新线路| 91一区二区三区在线观看视频| 国产精品原创永久在线观看| 一区二区三区免费视频网站| 国产无遮挡裸体免费视频| 免费在线亚洲视频观看| 亚洲综合AV在线在线播放| 国产乱人无码伦av在线a| 伊人亚洲综合影院首页| 最新亚洲精品国偷自产在线| 日韩在线一区二区三区中文字幕| 手机看片久久国产免费| 欧洲乱码伦视频免费| 久久精品成人一区二区三区蜜臀| 久久婷婷综合色拍亚洲| 国产精品国产三级国产一地| 一区二区视频在线国产| 亚洲国产一区二区三区在线观看| 成年无码aⅴ片在线观看| 亚洲欧美国产精品久久久| 精品视频手机在线免费观看 | а√天堂资源官网在线资源| 亚洲av色香蕉一区二区三区老师| 天天摸日日摸狠狠添| 亚洲三级黄色| 国产成人福利av一区二区三区| 永久免费视频网站在线| 国产精品18久久久| 人妻少妇看a偷人无码精品| 欧美a级在线现免费观看| 亚洲AV永久无码制服河南实里| 18禁国产美女白浆在线| av男人的天堂第三区| 少妇高潮惨叫久久久久电影69| 日产亚洲一区二区三区|