- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编写一个判断IP地址是否合法的计算机程序并给出其子网号
一、实习题目
编写一个判断IP地址是否合法的计算机程序,如果合法,给出其子网号
二、原理概述
所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。将IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。网络号的位数直接决定了可以分配的网络数(计算方法2^网络号位数);主机号的位数则决定了网络中最大的主机数(计算方法2^主机号位数-2)。一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为7位,主机标识的长度为24位,A类网络地址数量较少,可以用于主机数达1600多万台的大型网络。A类IP地址 地址范围1.0.0.1-126.255.255.254 一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码,。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为14位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,每个网络所能容纳的计算机数为6万多台。类I地址地址范围128.1.0.1-191.254.255.254一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。C类IP地址中网络的标识长度为21位,主机标识的长度为8位,C类网络地址数量较多,适用于小规模的局域网络,每个网络最多只能包含254台计算机。C类IP地址范围192.0.1.1-223.255.254.254
110 网络号(21位) 主机号(8位)
1110 组播地址(28)
11110 保留用于课程设计和将来使用 子网划分定义:Internet组织机构定义了五种IP地址,有A、B、C三类地址。A类网络有126个,每个A类网络可能主机,它们处于同一广播域。而在同一广播域中有这么多结点是不可能的,网络会因为广播通信而饱和,结果造地址大部分没有分配出去。可以把基于类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。Windows XP操作系统,鉴于Visual C++6.0有强大的数据库管理功能,借助可以轻松地开发出功能强,速度快,应用广并且占资源少的应用程序Windows XP、Visual C++6.0来实现这个系统。
验证ip地址合法性流程图:
验证子网掩码合法性流程图
得出子网号的流程
四、程序编写
#include stdio.h
#include math.h
void main()
{
int m,i,j,ip[4],ym[4],ymm[4][8],ipp[4][8],t,zw[4],l;
int ok[4]={0,0,0,0};
printf(请输入一个IP地址:\n);
loop: scanf(%d.%d.%d.%d,ip[0],ip[1],ip[2],ip[3]);
if((ip[0]=0ip[0]224)(ip[1]=0ip[1]256)(ip[2]=0ip[2]256)(ip[3]=0ip[3]256))
{if(ip[0]==0ip[1]==0ip[2]==0ip[3]==0)//把地址为全零的IP地址除去
m=0;
else
if(ip[0]==127)//将127.0.0.0去除
m=0;
else
if(ip[1]==255ip[2]==255ip[3]==255)//将主机号为全1的去除
m=0;
else
if(ip[1]==0ip[2]==0ip[3]==0)//将主机号为全0的去除
m=0;
您可能关注的文档
最近下载
- 广东省紧密型县域医共体(已挂牌)名单明细表1126.doc VIP
- [产品_解决方案概述]华为FusionAccess桌面云解决方案6.2概述.pdf VIP
- 《华科概率论与数理统计课件——概率论》.ppt VIP
- 图集规范-浙江图集-2010浙G22管桩.pdf VIP
- 中建八局高大模板施工标准化图册(盘扣架脚手架)2024年 .pdf VIP
- 一种竹质柱状活性炭及其制备方法和应用.pdf VIP
- Mogas金属硬密封球阀的构造特点.docx VIP
- T-CECS 10107-2020超高性能混凝土(UHPC)技术要求(OCR).pdf
- 2025年高考真题解析课件:2025年全国新高考二卷英语读后续写(课件).pptx VIP
- 《江南逢李龟年》课件.pptx VIP
文档评论(0)