全國

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

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

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

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

          華中地區 | 河南 湖北 湖南

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

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

          華南地區 | 廣東 廣西 海南

          • 微 信
            高考

            關注高考網公眾號

            (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

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


          中文在线最新版天堂8| 亚洲成A人片在线观看无码不卡 | 无码人妻精品一区二区在线视频| 少妇无码一区二区三区| 无码内射中文字幕岛国片| 亚洲人成无码网站在线观看| 无码精品A∨在线观看免费 | 亚洲欧美中文日韩V在线观看| 日韩精品无码免费视频| 无码人妻丰满熟妇区五十路百度| 亚洲va中文字幕无码久久| 黄A无码片内射无码视频| 亚洲综合无码精品一区二区三区| 中文字幕无码成人免费视频| 色情无码WWW视频无码区小黄鸭| 一本本月无码-| 亚洲日韩中文字幕在线播放| 国产精品亚洲а∨无码播放| 中文无码喷潮在线播放| 天堂在线中文字幕| 久热中文字幕无码视频| 无码丰满少妇2在线观看| 精品久久久久久无码中文字幕| 中文字幕在线亚洲精品| 精品无码综合一区| 精品三级AV无码一区| 小SAO货水好多真紧H无码视频| 四虎影视无码永久免费| 亚洲乱码中文字幕久久孕妇黑人| 99精品人妻无码专区在线视频区 | 日韩人妻无码一区二区三区99| 久久久99精品成人片中文字幕| 少女视频在线观看完整版中文| 亚洲精品无码专区在线播放| 精品爆乳一区二区三区无码av| 无码人妻精品一区二区三区在线| 亚洲日韩乱码中文无码蜜桃臀网站| 亚洲综合av永久无码精品一区二区 | 欧美日韩中文字幕在线看| 伊人热人久久中文字幕| 亚洲日韩乱码中文无码蜜桃臀网站|