全國

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

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

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

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

          華中地區 | 河南 湖北 湖南

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

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

          華南地區 | 廣東 廣西 海南

          • 微 信
            高考

            關注高考網公眾號

            (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

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


          最近2019年中文字幕一页| 在线精品自拍无码| 亚洲一区二区无码偷拍| 亚洲AV无码一区二区三区牛牛| 无码精品人妻一区二区三区人妻斩 | 精品人妻中文字幕有码在线| 成人麻豆日韩在无码视频| 国产a级理论片无码老男人| 中文网丁香综合网| AV无码一区二区大桥未久| 再看日本中文字幕在线观看| 成人午夜福利免费无码视频| 中文字幕在线无码一区| 无码高清不卡| 无码专区中文字幕无码| 中文字幕在线观看日本| 国产精品无码无卡无需播放器| 少妇性饥渴无码A区免费| 中文字幕亚洲男人的天堂网络| 亚洲精品色午夜无码专区日韩| 日韩精品无码中文字幕一区二区| 日韩国产精品无码一区二区三区| 中文字幕一区二区三区5566| 久久亚洲AV永久无码精品| 亚洲精品无码久久久久去q| 色综合久久最新中文字幕| 久久国产三级无码一区二区| 亚洲AV无码国产丝袜在线观看| 中文字幕一区二区三区精彩视频| 中文字幕 亚洲 有码 在线| 欧洲成人午夜精品无码区久久 | 少妇中文字幕乱码亚洲影视| 18禁免费无码无遮挡不卡网站| 亚洲乱码无码永久不卡在线| 国产精品99久久久精品无码 | 国产精品亚洲а∨无码播放| 亚洲性无码一区二区三区| 在线看片福利无码网址| 一本大道香蕉中文日本不卡高清二区| 亚洲 无码 在线 专区| 成年免费a级毛片免费看无码|