第一篇:趣味實驗實驗報告
趣味實驗
實驗員:張燕年級、班級:09級化學三班學號:40907147 聯系方式:***
一、實驗目的:
激發學生學習化學的興趣,通過化學實驗的趣味化活動,使學生的思維更加活躍,手腦并用的能力更強,創新意識和創造精神得到充分發揮。
二、實驗內容:
(一)藍色振蕩實驗:
1.實驗原理:
亞甲基藍的水溶液呈藍色,在堿性條件下,葡萄糖可以將它還原為無色,攪拌條件下空氣會把無色產物亞甲基白氧化為藍色,藍色又被還原為無色,如此反應,實驗能多次重復。
2.實驗儀器和藥品:
碘量瓶(用于微量元素的測定)、小燒杯、NaOH固體、葡萄糖、亞甲基藍溶液(10mol/L)。
3.實驗步驟:
(1)稱取5.0g氫氧化鈉(為整個實驗過程提供一個堿性環境)于小燒杯中,加入約30mL水充分溶解。再將所得溶液轉移至碘量瓶中,加水至約150mL;
(2)稱取7g葡萄糖加入到(1)所得的溶液中,充分攪拌,使其完全溶解。再向碘量瓶中滴加1mL(約20滴)亞甲基藍溶液,緩慢搖勻,之后靜置大約半分鐘,會發現藍色的溶液慢慢變為無色透明的溶液,再繼續振蕩碘量瓶,會發現溶液又變回藍色,再繼續靜置半分鐘左右,溶液又變為無色。此現象可重復若干次。
(二)化學冰袋:
1.實驗原理:
銨鹽溶解會吸熱,可以起到降溫的效果。
2.實驗儀器和藥品:
密封袋、(NH4)2SO4、NH4NO3、Na2SO4?10H2O和NaHSO4。
3.實驗步驟:
(1)分別稱取4g硫酸銨、5g硝酸銨、9.6g十水硫酸鈉和4g硫酸氫鈉;
(2)將所稱取的藥品按順序加入到密封袋中,添加順序如下:十水硫酸鈉、硫酸氫鈉、硫酸銨和硝酸銨。將所加的藥品用手壓碎,會發現密封袋溫度很低,此時我們的冰袋就做好了。
(三)固態汽水:
1.實驗原理: ?3
碳酸氫鈉和檸檬酸鈉反應可以釋放出二氧化碳,能帶走部分熱量,這就是特別爽口的碳酸飲料。
2.實驗儀器和藥品:
燒杯、玻璃棒、研缽,檸檬酸、檸檬黃、蔗糖、明膠、碳酸氫鈉。
3.實驗步驟:
(1)稱取0.1g明膠于小燒杯中,加入約10mL水使其吸水膨脹,如溶解過慢可用酒精燈適當微熱;
(2)稱取2.5g碳酸氫鈉與小燒杯中,再取1mL(1)所得的溶液加入其中,最后用電吹風將小燒杯中的液體吹干;
(3)取4g蔗糖、4.5g檸檬酸和微量的檸檬黃于研缽中,研細成粉末狀之后再加入到(2)所得的固體藥品中,這時我們就制成了固體汽水;
(4)用100mL來沖調固體汽水,就制成了我們日常飲用的爽口的飲料。
三、實驗注意事項
1、明膠微熱溶解時不可溫度太高,燒杯距離火焰需保持一定的距離,原因是明膠是一種蛋白質,高溫容易變性。
2、稱量NaOH時需用燒杯,紙張要現稱現用,這樣也會產生潮解。當然由于此實驗主要是要一個堿性環境,所以此影響在此實驗中可以忽略。
3、藍色振蕩實驗過程中包含的是一種熱力學平衡,在2—3h后這個實驗現象就完全消失,此時已達到了極限狀態。
4、冰袋制作不能使用無水碳酸鈉(純減)粉末,必須是含結晶水的晶體碳酸鈉或成塊狀純堿。可以將無水碳酸鈉粉末溶于水,然后加熱濃縮至晶體析出,自制晶體碳酸鈉。
四、實驗反思1、1.化學是一門實驗科學,化學實驗能夠引起學生的認知興趣,如果把實驗做趣味化處理,則更能引起學生的興趣,產生強烈的學習動機。我們本次實驗包括觀察性趣味實驗和操作性趣味實驗。
2、作為一名準化學教師,做好演示實驗是很重要的一項教學技術,尤其是趣味實驗,它在激發學生學習化學方面起著很重要的作用。而在這次演示實驗時,我由于過于緊張,所以出現了小差錯,而且講解實驗的方式也不夠生動,沒有“趣味”,沒有很好的達到趣味實驗所要求達到的目的。
第二篇:趣味實驗報告
趣味實驗三則
一、實驗教學目標
了解本實驗趣味實驗的原理,能夠獨立操作并演示本實驗。在實驗過程中學會發現問題,體會化學學習的樂趣,感受化學與生活的密切聯系。
二、實驗原理
1.藍色振蕩實驗
亞甲基藍的水溶液呈藍色,在堿性條件下,葡萄糖可把它還原為無色,攪拌條件下空氣會把無色產物氧化為藍色,藍色又被還原為無色,如此反應,實驗能多次重復??梢员硎緸椋?/p>
亞甲基藍溶液
亞甲基白溶液
如果有酚酞試劑滴加的話,我們會發現顏色變化中還會多了紅色與紫色。原因是當溶液在堿性條件下時,滴加酚酞試劑滴加后溶液顯紅色。所以:①當葡萄糖可把亞甲基藍還原為無色時,由于溶液顯強堿性,此時溶液呈紅色;②攪拌或略微震蕩條件下空氣會把部分無色產物氧化為藍色,由于紫色與藍色相混,由于顏色的混合效應,我們將看到此時溶液顯紫色;③劇烈震蕩后,將會有更多的無色產物被氧化為藍色的亞甲基藍,這時由于藍色過深,將會遮掩酚酞的紅色,結果我們將會看到溶液呈藍色。
2.便攜式化學冰袋
無機鹽溶于水包括兩個步驟:①.溶質分子的擴散過程;②.溶質分子的溶劑化過程;物質溶解后,溶液的溫度是升高還是降低,要看這兩個過程哪一個占主導地位,當吸收的熱量大于放出的熱量,溶液的溫度將降低;當吸收的熱量小于放出的熱量時,溶液的溫度將升高。
NH4NO3、NH4Cl等銨鹽,溶于水時具有強烈吸熱降溫的性質,它們還可以從與其相接觸的晶體鹽中奪取結晶水而溶解吸熱,利用這種性質,可以通過簡單地混合兩種或兩種以上的鹽而制冷,制成化學“冰袋”。該種便攜式“冰袋”可應用于需簡便制冷的場合,如外出郊游時,對飲料和食品的保鮮、制冷。該實驗主要是通過觀察Na2SO4?10H2O, NH4NO3,(NH4)2 SO4混合后的制冷效果以及添加NaHSO4混合后的制冷效果,從而進行比較。
3.固體汽水
固體汽水與液體汽水所不同的是:液體汽水中的CO2一般是通過加壓的方法使其溶解在水中;而固體汽水中的CO2是借助于原料中的堿性物質小蘇打(NaHCO3),與可食用的有機酸檸檬酸反應而產生的。但是酸和堿混放在一起極易發生作用,因此,為了提高貯藏的穩定性,通常是先將小蘇打用天然膠進行包結,使其在固態是不與固態的檸檬酸反應;當放入水中,由于天然膠的溶解,便可與酸反應,緩慢釋放CO2出來。其制備主要原理是將碳酸氫鈉分散在明膠溶液中,然后烘干,接著于各種所需藥品(香精,蔗糖,檸檬酸,色素)混合,飲用時取其部分,置于飲水器皿,倒入水溶解時檸檬酸會與碳酸氫鈉反應,進而放出CO2。這樣喝起來口感和液體汽水相似,味道也很不錯反應方程式如下:
三、實驗儀器、材料與試劑
1.碘量瓶、托盤天平、藥匙;NaOH固體、葡萄糖、亞甲基藍乙醇溶液。2.軟質塑料袋、托盤天平、藥匙;Na2SO4·10H2O,(NH4)2SO4,NaHSO4,NH4NO3。
3.燒杯、量筒、玻璃棒、研缽、托盤天平、藥匙、滴管、酒精燈、三腳架、石棉網、電吹風;明膠、小蘇打(NaHCO3)、無水檸檬酸、蔗糖、食用香精、檸檬黃色素。
四、實驗內容
1.藍色振蕩
(1)配制溶液:稱取2gNaOH固體和3g葡萄糖,配成50mL溶液于碘量瓶中,緩慢滴加>10滴亞甲基藍試劑,搖勻。
(2)實驗現象:
①開始時溶液呈藍色,接著藍色逐漸消失,變為無色,并形成斑紋結構。
②劇烈搖晃錐形瓶,錐形瓶中又出現同原來相似的藍顏色,過幾分鐘,藍色溶液又轉變為無色。如果震蕩,溶液又會出現藍色,靜置后又會變為無色。實驗整體現象如此轉變。
③待溶液靜置為無色后,往溶液中滴加5滴酚酞試劑,溶液變紅,輕微緩慢持續震蕩,溶液顏色依次變為紫紅,紫色,最終變為藍色。靜置后溶液的顏色又從藍色→紫色→紫紅色→紅色這樣轉變。然后繼續震蕩靜置,實驗現象與以上相同。
(3)實驗說明:
①亞甲基藍的水溶液呈藍色,在堿性條件下,葡萄糖可把它還原為無色,攪拌條件下空氣會把無色產物(亞甲基白)氧化為藍色,藍色又被還原為無色,如此反應,實驗能多次重復。
②如果有酚酞試劑滴加的話,我們會發現顏色變化中還會多了紅色與紫色。原因是當溶液在堿性條件下時,滴加酚酞試劑滴加后溶液顯紅色。溶液從藍色→紫色→紫紅色→紅色這樣轉變。
注意事項:
①藍色振蕩實驗加入酚酞之后由于實驗操作水準要求較高,用力搖晃程度的掌控能力需要很強,這樣顏色的變化才可以讓同學們看的明顯,而不是剎那間的轉變。其實此實驗在(3)實驗說明:檸檬酸與碳酸氫鈉反應放出二氧化碳氣體。
五、實驗安全與體會
1.在實驗室做實驗時為了個人安全應該戴手套和護目鏡。2.實驗前,一定要先投濕抹布,放在固定顯眼的位置備用。3.實驗后形成的廢棄物應倒入指定位置。
4.進實驗室不留長發,不穿拖鞋、短褲等,注意實驗臺的干凈和整潔。5.通過中教實驗的學習,我不僅在實驗操作技能、實驗安全等方面得到了提高,并且在教師教育技能方面通過觀察討論和老師的講解也有了進步,并且讓我意識到細節很重要。
6.對于實驗內容,課前一定要仔細思考,講究科學性。
7.對于學生的回答,教師應該做出及時的評價。可做出積極的評價,但不能不加思考一味肯定。
8.NaOH溶液的配置是一個放熱過程,溶解固體NaOH時避免過熱迸濺而腐蝕皮膚。
9.實驗室衛生條件不過關,禁止品嘗制得的汽水。
六、相關文獻與重點文獻綜述
有人對藍色振蕩實驗進行了改進,使藍瓶子綠起來。具體做法是:使用生活中常見還原劑維生素C 代替傳統實驗中的葡萄糖,亞甲基藍(MB2+)被VC 片還原為亞甲基白(MB2+)。但這種無色溶液在空氣中振蕩后不能被氧化自行逆轉,需要添加催化Cu2+劑,才能被氧氣氧化為亞甲基藍;Cu2+同時又可以在亞甲基藍被VC 片還原過程中起到催化作用。整個實驗中添加NaHCO3 調節溶液的pH ,促進反應更加完全。Cu2+ 的加入,使溶液還原后最終的顏色顯現為淡綠色。
七、參考文獻
[1] 劉清勇.固體汽水的配制[J].農村百事通, 1994,(08)[2] 詹漢英,雷建金.藍色振蕩趣味實驗[J].中學化學教學參考, 2000,(Z1)[3] 金獻海.化學趣味實驗[J].中學生數理化(高中版), 2005,(17)[4] 郭磊.便攜式化學冰袋制作技術[J].中小企業科技, 1994,(05)[5] 張宏志.化學趣味實驗五例[J].教學儀器與實驗, 2008,(04)[6] 崔中敏.化學冰袋的研制[J].上?;? 1996,(06)
第三篇:交換機實驗 實驗報告
交換機實驗II 實驗目的
1.理解掌握環路對網絡造成的影響,掌握環路的自檢測的配置; 2.理解路由的原理,掌握三層交換設備路由的配置方法 3.掌握DHCP的原理以及其配置方法
實驗步驟
配置交換機的IP地址,及基本的線路連接等; 實驗1:
①.用獨立網線連接同一臺交換機的任意兩個端口時期形成自環
②.對交換機的兩個端口進行配置,開啟所有端口的環路檢測功能、設置檢測周期等屬性 實驗2:
①.按圖1方式對三層交換機的VLAN、端口進行配置
②.在交換機中分別對VLAN的IP地址進行配置
③.啟動三層交換機的IP路由
④.設置PC-A、PC-B的IP地址,分別將它們的網關設置為所屬三層交換機VLAN的IP地址
⑤.通過Ping驗證主機A、B之間的互通狀況 實驗3:
三層交換機作為DHCP服務器,兩臺PC-A和PC-B,分別從交換機上獲取IP地址。PC-C手動配置IP地址。
①.按圖2方式建立主機A、B、C與三層交換機間的連接,配置交換機的IP地址
②.配置三層交換機的DHCP地址池屬性
③.啟動DHCP服務
④.(1)查看主機A、B能否正確的獲取到給定范圍內IP地址,通過Ping查看網關、交換機之間的互通情況;(2)拔掉主機B的網線,將主機C的IP地址設置為主機B所獲取的到的IP地址,然后再插上B機網線,查看其是否能獲取到不同的IP地址;(3)分別重啟主機A、B及交換機,查看A、B獲取到的IP地址是否和前一次相同。
圖1.三層路由連接圖
圖2.DHCP連接圖
實驗結果
實驗1:環路測試
交換機出現環路的自檢測結果:
實驗2:路由配置:
主機A連接交換機端口2,劃分為vlan10,端口IP地址為192.168.1.1。主機IP地址192.168.1.23;
主機B連接交換機端口10,劃分為vlan20,端口IP地址為192.168.2.1。主機IP地址192.168.2.27;
在未設置IP routing之前主機A、B分屬于不同網段,因此它們不能互通,設置后通過路由則可相互聯通:
實驗三:DHCP配置和驗證:
主機A、B、C分別連接到交換機的端口2,端口18和端口10上。其中主機A、B的IP地址自動獲取,主機C的IP地址則手動配置。
主機A通過DHCP獲取的IP地址(192.168.1.211)
主機B通過DHCO獲取到的IP地址(192.168.1.210)
測試主機A與主機C的互通性(可連通)
測試主機B與主機A、C之間的互通性(可連通)
當主機C配置為主機B獲取到的IP地址是會產生IP地址沖突的錯誤提示:
配置的主機C的IP地址與主機B的IP地址相沖突
主機B網線重新連接后獲取到的新的IP地址
交換機重新啟動后A、B主機自動獲取到的IP地址信息:
主機A自動獲取的IP地址
主機B自動獲取的IP地址
DHCP可分配IP地址池內IP數目小于申請的主機數目時實驗驗證情況:(可分配的IP地址為192.168.1.210 — 192.168.1.212),此時連接主機A、B、C、D。
主機D自動獲取IP地址的結果
實驗與結果分析
環路問題:
分為第二層環路和第三層環路,所有環路的形成都是由于目的路徑不明確導致混亂而造成的。例如第二層,一個廣播信息經過兩個交換機的時候會不斷惡性循環的產生廣播造成環路,而第三層環路則是原路由意外不能工作,造成路由通告錯誤,形成一個惡性循環。傳統的二層預防技術主要有STP(Spanning tree)來預防,STP在不斷的修改和更新中,產生了諸如STP/RSTP/MSTP等多個版本,大家可根據各自的組網規劃來選擇應用,但是STP的配置復雜度,以及協議本身的開銷通常都是網絡管理人員比較頭痛的事情。
解決因環路(自環或外環)對網絡造成的影響,能夠提高網絡的自檢錯性、容錯性和健壯性。環路檢測的過稱為:對交換機的每個端口周期性的發送回路檢測(Loopback-detection)數據包;交換機查看端口收到包的CPUMAC字段,如果其中存的是本交換機的MAC,則本交換機的某些端口形成環路,否則將其丟棄,出現環路后,交換機會關閉端口號較大的端口以消除環路。圖1中反映了在交換機開啟所有端口的環路檢測功能后每隔30秒檢測到的信息以及對端口的關閉等操作信息。
三層路由意義和工作過程: 實現不同VLAN間主機的通信,通過配置VLAN能夠有效地控制廣播域的大小。在同一VLAN內的主機間的通信不需要經過交換機的路由處理可直接到達目的主機,當不同VLAN間通訊時,數據包先轉發至路由器,由路由器查詢其路由轉發表選擇正確的端口間數據包轉發到目的VLAN的交換機,再由目的VLAN內交換機將數據包轉發至目的主機。其中扮演主要角色的即為交換機的路由功能,如果沒有設置相關屬性則不同VLAN間不能通訊。
因此在圖3的驗證實驗中,通過路由器的轉發功能實現了分別位于VLAN10和VLAN20中主機A、B之間的通信,在未配置IP Routing之前VLAN10和VLAN20分屬不同網段(A、B也屬于不同網段),因此不能實現通信,配置之后路由器(三層交換設備)可通過內部路由轉發表實現數據的轉發和通信。
DHCP工作過程與實驗分析:
即動態主機配置協議(Dynamic Host Configuration Protocol),是一個局域網的網絡協議,使用UDP協議工作,主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址,是使內部網絡管理員能夠集中管理(從中心結點監控)和自動分配IP 網絡地址的通信協議。當某臺計算機移到網絡中的其它位置時,能自動收到新的IP 地址。DHCP 服務器從地址池中為客戶端選擇并分配IP 地址及其他相關參數當作為DHCP服務器的設備收到客戶端發來的DHCP 請求時,將從地址池中挑選一個空閑的IP 地址。
DHCP工作過程:
當 DHCP客戶端第一次登錄網絡的時候,也就是客戶發現本機上沒有任何 IP 數據設定,它會向網絡發出一個 DHCP DISCOVER封包(廣播包)。因為客戶端還不知道自己屬于哪一個網絡,所以封包的來源地址會為 0.0.0.0,而目的地址則為 255.255.255.255,然后再附上 DHCP discover 的信息,向網絡進行廣播。如果都沒有得到DHCP服務器的響應,客戶端則會顯示錯誤信息,宣告 DHCP discover 的失敗。之后,基于使用者的選擇,系統會繼續在 5 分鐘之后再重復一次 DHCP discover 的過程。
當 DHCP服務器監聽到客戶端發出的 DHCP discover 廣播后,它會從那些還沒有租出的地址范圍內,選擇最前面的空置 IP,連同其它 TCP/IP 設定,響應給客戶端一個 DHCP OFFER封包。由于客戶端在開始的時候還沒有 IP 地址,所以在其 DHCP discover封包內會帶有其 MAC 地址信息,并且有一個 XID 編號來辨別該封包,DHCP服務器響應的 DHCP offer 封包則會根據這些資料傳遞給要求租約的客戶。根據服務器端的設定,DHCP offer封包會包含一個租約期限的信息。
如果客戶端收到網絡上多臺 DHCP 服務器的響應,只會挑選其中一個 DHCP offer 而已(通常是最先抵達的那個),并且會向網絡發送一個DHCP request廣播封包,告訴所有 DHCP 服務器它將指定接受哪一臺服務器提供的 IP 地址。同時,客戶端還會向網絡發送一個 ARP封包,查詢網絡上面有沒有其它機器使用該 IP 地址;如果發現該 IP 已經被占用,客戶端則會送出一個 DHCPDECLINE 封包給 DHCP服務器,拒絕接受其 DHCP offer,并重新發送 DHCP discover 信息。事實上,并不是所有 DHCP客戶端都會無條件接受 DHCP服務器的 offer,尤其這些主機安裝有其它 TCP/IP 相關的客戶軟件。客戶端也可以用 DHCP request 向服務器提出 DHCP 選擇,而這些選擇會以不同的號碼填寫在 DHCP Option Field 里面。
當 DHCP服務器接收到客戶端的 DHCP request 之后,會向客戶端發出一個DHCPACK 響應,以確認 IP 租約的正式生效,標志著一次DHCP的工作過程完成。
圖4—6反映了主機A、B通過自動獲取IP地址方式由三層交換機動態分配IP后,各自得到的IP地址,由于A、B、C連接與同一臺交換設備上,由沒有VLAN劃分等因素,所以它們之間不論是自動獲取IP地址還是手動配置IP地址(不沖突的前提下)都能相互連通。當為主機C配置成已得到自動分配IP地址的主機B的IP地址時,自然會出現IP地址沖突的出錯信息提示。當B網線重新鏈接時,相當于重新加入的客戶端,交換機會從地址池中順序選擇下一個未分配的IP地址給新的請求用戶。因此主機B會獲得新新的IP地址,并且其值是主機C的IP地址的下一個鄰接IP地址(在未超出可分配的IP地址范圍條件下)。圖7 —10中反映了上述描述的結果。
圖11中顯示了一種造成IP地址動態分配失敗的情形:可分配的IP地址數僅有3個,而由4臺主機請求分配IP地址,當可分配地址全部分配給主機A、B、C后,主機D的請求不能得到滿足,因此未得到給定范圍內的合理IP地址。
第四篇:實驗一 實驗報告
網 絡 程 序 設 實驗報告
實驗名稱:Winsock編程接口實驗 實驗類型: 驗 證 型
計
一、實驗目的
? 掌握Winsock的啟動和初始化;
? 掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查詢函數的使用。
二、實驗設計
實驗內容:
1、編寫程序能同時實現對多個域名的解析。比如在控制臺輸入:getip www.tmdps.cn對應的IP地址列表。
2、編寫程序獲取并輸出本地主機的所有適配器的IP地址,子網掩碼,默認網關,MAC地址。
根據實驗內容編寫程序:
1、對相關域名進行解析,利用gethostbyname()完成解析,用到的結構體為:
struct hostent{ char FAR*
h_name;char FAR* FAR* h_aliases;short
h_addrtype;short
h_length;char FAR* FAR* h_addr_list;}
得到的IP地址列表由h_addr_list存儲;
2、利用GetAdaptersInfo()函數獲得本地主機的相關信息,通過IP_ADAPTER_INFO結構體返回所需信息。
IP_ADAPTER_INFO的定義如下: typedef struct _IP_ADAPTER_INFO {
struct _IP_ADAPTER_INFO* Next;
DWORD ComboIndex;
char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
UINT AddressLength;
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
DWORD Index;
UINT Type;
UINT DhcpEnabled;
PIP_ADDR_STRING CurrentIpAddress;
IP_ADDR_STRING IpAddressList;
IP_ADDR_STRING GatewayList;
IP_ADDR_STRING DhcpServer;
BOOL HaveWins;
IP_ADDR_STRING PrimaryWinsServer;
IP_ADDR_STRING SecondaryWinsServer;
time_t LeaseObtained;
time_t LeaseExpires;
} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
三、實驗過程(包含實驗結果)
1、分析題目,編寫程序;
2、將編寫的程序進行編譯、運行,輸入題目給定的內容,完成題目要求; 結果如下:
第1題:
第2題:
四、討論與分析
思考題:
1、Winsock初始化的作用:只有調用了WSAStartup()進行初始化之后,應用程 序才能調用其他Windows Sockets API函數,實現網絡通信;
2、函數原型為:
DWORD GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo,//接受數據的緩沖區
PULONG pOutBufLen
// 數據的長度大小);
3、域名解析時出現域名對應多個IP,原因:該域名存在于多個服務器。
五、實驗者自評
通過本次實驗,我掌握了Winsock的啟動和初始化以及gethostname(),gethostbyname(),GetAdaptersInfo()等函數查詢的使用,加深了以前對課本知識的認識程度。
六、附錄:關鍵代碼(給出適當注釋,可讀性高)
第1題代碼:
////////////////////////////////////////////////// // GetAllIps.cpp文件
//#include “../common/InitSock.h” #include
using namespace std;
#pragma comment(lib, “WS2_32”)// 鏈接到WS2_32.lib //CInitSock initSock;// 初始化Winsock庫
void main(){
char szMessage[256];// 取得本地主機名稱
// 初始化
WSADATA wsaData;if(WSAStartup(MAKEWORD(2,2), &wsaData)!= 0){
exit(0);}
// 通過主機名得到地址信息
printf(“ Get IP::”);gets(szMessage);
// 獲取主機信息
hostent *pHost = ::gethostbyname(szMessage);
// 打印出所有IP地址
in_addr addr;for(int i = 0;;i++){
char *p = pHost->h_addr_list[i];
if(p == NULL)
break;
memcpy(&addr.S_un.S_addr, p, pHost->h_length);
char *szIp = ::inet_ntoa(addr);
printf(“ 服務器 %s IP地址:%s n ”,szMessage, szIp);
printf(“服務器名字: %s n”,pHost->h_name);}
/////////////////////////// ::WSACleanup();
}
第2題代碼:
// 獲取并輸出本地主機的所有適配器的IP地址,子網掩碼,默認網關,MAC地址
#include
void main(){ // 定義變量
IP_ADAPTER_INFO *pAdapterInfo;ULONG ulOutBufLen;DWORD dwRetVal;PIP_ADAPTER_INFO pAdapter;
pAdapterInfo =(IP_ADAPTER_INFO *)malloc(sizeof(IP_ADAPTER_INFO));ulOutBufLen = sizeof(IP_ADAPTER_INFO);// 第一次獲取適配器信息,得到ulOutBufLen的實際大小
if(GetAdaptersInfo(pAdapterInfo, &ulOutBufLen)!= ERROR_SUCCESS){
free(pAdapterInfo);
pAdapterInfo =(IP_ADAPTER_INFO *)malloc(ulOutBufLen);} // 第二次獲取適配器信息,獲得了pAdapterInfo信息
if(dwRetVal = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen)!= ERROR_SUCCESS){
cout<<“GetAdapterInfo Error!”< // 打印MAC地址信息、子網掩碼以及網關 pAdapter = pAdapterInfo;while(pAdapter){ cout<<“MAC Address: ”; for(int i=0;i AddressLength;i++) { if(i ==(pAdapter->AddressLength-1)) { cout< } else { cout< } } cout< cout<<“IP 地址:”< IpAddressList.IpAddress.String< cout<<“子網掩碼 :”< IpAddressList.IpMask.String< cout<<“網關 :”< IpAddressList.IpAddress.String< cout<<“****************************************”< pAdapter = pAdapter->Next;} // 釋放資源 if(pAdapterInfo){ free(pAdapterInfo);} cout< } 實驗報告一、二、三、四、五、六、七、實驗名稱:分析PL0詞法分析程序 試驗目的 ? 學習PL0程序的詞法分析程序GenSym的實現過程 ? 結合具體的程序了解詞法分析過程 實驗設備 ? PC兼容機 ? DOS操作系統或Windows操作系統 ? TurboPascal軟件等 實驗要求 ? 獨立完程序的分析過程 ? 自己跟蹤程序的執行過程 ? 記錄程序的執行過程 ? 記錄程序的運行結果 實驗內容 實驗過程記錄 源程序第五篇:實驗報告格式--實驗2