全國

        熱門城市 | 全國 北京 上海 廣東

        華北地區 | 北京 天津 河北 山西 內蒙古

        東北地區 | 遼寧 吉林 黑龍江

        華東地區 | 上海 江蘇 浙江 安徽 福建 江西 山東

        華中地區 | 河南 湖北 湖南

        西南地區 | 重慶 四川 貴州 云南 西藏

        西北地區 | 陜西 甘肅 青海 寧夏 新疆

        華南地區 | 廣東 廣西 海南

        • 微 信
          高考

          關注高考網公眾號

          (www_gaokao_com)
          了解更多高考資訊

        首頁 > 高中頻道 > 信息學聯賽輔導 > 信息學聯賽輔導:Fillchar過程全解

        信息學聯賽輔導:Fillchar過程全解

        2009-11-12 22:10:14網絡

        PDF version of this document
        Fillchar是Turbo/Borland Pascal的System單元的一個標準過程,它的使用格式是:FillChar(var X; Count: Word; Value),它的功能是,把指定變量X在內存段中所占的低Count個字節賦為相同的值Value, 其中Value是填充的值,只能是Byte、Char或Boolean等單字節類型的值。在Free Pascal中稍加擴展為FillChar(var X; Count: Longint; Value), 功能沒變。 
        [例1]:Fillchar通常用來給數據賦初值。 
        var a:array [1..10] of arrtype; 
        執行fillchar(a,sizeof(a),0);
        當arrtype為
        1.real(其他實數類型差不多)                    使得a中的元素全部成為0.0
        2.integer(byte,word,longint,shortint都相同)   全部為0
        3.boolean                                     全部為false
        4.char                                        全部為#0 
        這里使用了函數sizeof(a),其功能是返回變量a所占的總字節數,如上例返回: 
        當arrtype為
        1.real               sizeof(a)的值為60(每個元素占6個字節,10個元素共占60個字節)
         single              sizeof(a)的值為40(每個元素占4個字節,10個元素共占40個字節)
         double              sizeof(a)的值為80(每個元素占8個字節,10個元素共占80個字節)
         extended            sizeof(a)的值為100(每個元素占10個字節,10個元素共占100個字節)
         comp                sizeof(a)的值為80(每個元素占8個字節,10個元素共占80個字節)
        2.integer(word)      sizeof(a)的值為20 (每個元素占2個字節,10個元素共占20個字節)
        3.byte (shortint)    sizeof(a)的值為10 (每個元素占1個字節,10個元素共占10個字節)
        4.longint            sizeof(a)的值為40 (每個元素占4個字節,10個元素共占40個字節)
        5.boolean            sizeof(a)的值為10(每個元素占1個字節,10個元素共占10個字節)
        6.char               sizeof(a)的值為10 (每個元素占1個字節,10個元素共占10個字節) 
        所以例1的結果就是將數組a的所有元素(全部字節)用0來填充,要注意對不同類型的數據而言,對“0”的“解釋”是截然不同的!對整型或實型量來講,所有字節均為0,則該量也為0;對boolean型量(一個字節)來講,0表示false(非0數表示true),則該量為false;對char型量(一個字節)來講,0表示ASCII碼值為0的字符,則該量為#0。 

        [例2]:將上例中的fillchar(a,sizeof(a),0)改為 fillchar(a,sizeof(a),1),結果如何呢?
        執行fillchar(a,size(a),1);
        當arrtype為
        1.boolean  全部為true(1是非0值,表示true)
        2.char 全部為#1 
        3.byte,shortint  每個元素是1字節量,全部為1
        4.integer,word   每個元素是2字節量,全部為(257)10。這是因為 
        在一個integer或word 型變量中,它的高、低兩個字節均用1來填充(將10進制數1轉化為二進制數00000001),結果為: 
        高字節 
         低字節 
        15 
         14 
         13 
         12 
         11 
         10 
         9 
         8 
         7 
         6 
         5 
         4 
         3 
         2 
         1 
         0 
         

         0 
         0 
         0 
         0 
         0 
         0 
         1 
         0 
         0 
         0 
         0 
         0 
         0 
         0 
         1 
         

        顯然,得到的量就是(257)10=(0000000100000001)2。 
        如果,執行的是fillchar(a,size(a),171),結果又是怎樣的? 
        因為(171)10=(10101011)2,所以,填充后為: 
        高字節 
         低字節 
         

        [標簽:競賽聯賽 學習方法]

        分享:

        高考院校庫(挑大學·選專業,一步到位。

        高考院校庫(挑大學·選專業,一步到位。

        高校分數線

        專業分數線

        • 歡迎掃描二維碼
          關注高考網微信
          ID:gaokao_com

        • 👇掃描免費領
          近十年高考真題匯總
          備考、選科和專業解讀
          關注高考網官方服務號


        主站蜘蛛池模板: 黄+色+性+人免费| 丝袜人妻一区二区三区网站| 男男18gay| 国产成人免费一区二区三区| a在线免费观看视频| 日本色图在线观看| 亚洲成人黄色网址| 精品乱人伦一区二区| 国产高清小视频| 中国午夜性春猛交xxxx| 最近中文2019字幕第二页| 亚洲视频免费播放| 美女隐私免费视频看| 国产成人精品久久综合| 91麻豆精品激情在线观看最新| 成人综合久久综合| 久久精品免费一区二区| 欧美日韩电影在线播放网| 全彩里番acg里番本子| 里番acg里番本子全彩| 国产精品亚洲欧美大片在线看| bban女同系列022在线观看| 把数学课代表按在地上c视频| 亚洲AV无码潮喷在线观看| 激情久久av一区av二区av三区| 国产一卡2卡3卡四卡高清| 500福利视频导航| 宅男66lu国产乱在线观看| 久久久久久人妻一区二区三区| 欧美国产日韩911在线观看| 任我爽精品视频在线播放| 色综合久久中文字幕| 国产精品亚洲四区在线观看| www.youjizz.com在线| 日本亚洲高清乱码中文在线观看| 亚洲免费视频网址| 看国产一级毛片| 国产亚洲欧美在线播放网站| 男女真实无遮挡xx00动态图120秒| 天天操天天干视频| 中文字幕第六页|