首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPv4地址是否合法。参数ipaddr给出表示IPv4地址的字符串的首地址,串中仅含数字字符和“.”。若IPv4地址合法则返回1,否则返回0。判定为合法的条件是:每个十进制数的值位
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPv4地址是否合法。参数ipaddr给出表示IPv4地址的字符串的首地址,串中仅含数字字符和“.”。若IPv4地址合法则返回1,否则返回0。判定为合法的条件是:每个十进制数的值位
admin
2018-04-19
49
问题
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPv4地址是否合法。参数ipaddr给出表示IPv4地址的字符串的首地址,串中仅含数字字符和“.”。若IPv4地址合法则返回1,否则返回0。判定为合法的条件是:每个十进制数的值位于整数区间[0,255],两个相邻的数之间用“.”分隔,共4个数、3个“.”。例如,192.168.0.15、1.0.0.1是合法的,192.168.1.256、1.1.1是不合法的。
【C函数】
int isLegal(char*ipaddr)
{
int flag;
int curVal; //curVal表示分析出的一个十进制数
int decNum=0,dotNum=0;//decNum用于记录十进制数的个数
//dotNum用于记录点的个数
char*p= (1)__________;
for(;*p;p++) {
curVal=0;flag=0;
while(isdigit(*p)) { //判断是否为数字字符
curVal=(2)___________ +*p一'0';
(3)___________;
flag=1;
}
if(curVal>255){
return 0;
}
if(flag)f
(4)___________j
}
if(*p=’.’){
dotNum++;
}
}
if((5)__________){
return 1;
}
return 0;
}
选项
答案
(1)ipaddr (2)curVal*10或其等价形式 (3)p++或其等价形式 (4)decNum++或其等价形式 (5)4=decNum&&3=dotNum或其等价形式
解析
本题考查C程序的基本结构、运算逻辑和指针的简单应用。
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPv4地址是否合法。
由于IPv4地址是以字符串的方式提供的,因此需要通过扫描字符串,解析出每个十进制数。
由于说明中已保证函数所处理的字符串中仅包含数字字符和“.”,因此代码的运算逻辑中不考虑其他字符。
在for语句中通过指针p来访问每个字符,所以空(1)所在语句需要将指针参数ipaddr的值赋给p。
一个整数可表示为一个多项式,例如198=1*10*10+9*10+8=((0+1)*10+9)*10+8,因此从左到右每得到l位数字,就进行一次计算,直到最后一位数字。在解析字符串中的一个整数时,先令curVal=0,此后每得到一位数字(即*p一’0’),就令curVal*l0+*p一’0’并用该表达式的值更新curVal,直到遇到一个“.”。空(2)处应填入“curVal*10”,空
(3)处应填入“p++”,以读取下一字符。
根据说明,需要对从字符串中解析出的整数进行计数,flag用来标识是否解析出一个整数,若是,则在空(4)处填入“decNum++”实现计数。若该整数超过255,则可以确定是非法的地址。
当完成字符串分析后,应该正好有4个[0,255]范围内的整数和分隔这些数的3个点(个数用dotNum表示),因此空(5)处应填入“4=decNum&&3=dotNum”或其等价形式。
转载请注明原文地址:https://kaotiyun.com/show/o2jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
打开DOC文档48.doc,有如下表格,欲在空白单元格中计算出整行其他四个单元格的数值之和,应在空白单元格中插入公式(48)。
某信息处理技术员正在做大批数据处理的大项目时,领导又交宋了另一项临时性的紧迫工作,要求优先处理。该信息处理技术员需要转而做新的工作,他对原工作的处理方式应该是(69)。
在PowerPoint2007中,为精确控制幻灯片的放映时间,可使用______功能。
在Excel的A1单元格中输入函数“=6+16+MAX(16,6)”,按回车键后,A1单元格中显示的值为__________。
收集数据时,设计调查的问题很重要。此时,需要注意的原则不包括(8)。
在Access2007中,若要想查询所有姓名为2个汉字的学生记录,应在准则中输入______。
在Excel2010中,一个宗箱的函数计算包括()。
在Excel2010中,为将数据单位定义为“万元”,且带两位小数,应自定义()格式。
计算机在接通电源后,系统首先由(41)程序对内部每个设备进行测试。
阅读以下说明,回答问题1至问题5,将解答填入对应栏内。[说明]某大学要拟建一个小型局域网,如图10-5所示,PCI、PC3、PC5的IP地址分别为10.244.80.2,10.244.80.3,10.244.80.4子网掩码是255.255
随机试题
ABO血型系统的血型抗体是
Annalivedonthesideofavalley.Onesummer,therewasaverybig【C1】______,andalotofhousesdownbelowAnna’swerewashe
Johnresignedand__________hispowertoayoungcolleague.
与月经周期的第7天相比较,第21天时
烧结属于铁前生产工序,主要为高炉生产提供烧结矿和球团矿。C烧结厂共有生产、设备、安全、综合办4个职能科室,第一烧结车间、第二烧结车间、第三烧结车间、第四烧结车间、原料车问、环保车间、仪器车间、维修车间共8个车间;主要生产设备有烧结机5台,烧结点火炉5台,主
酸性焊条焊缝的()较低,一般用于焊接低碳钢和不太重要的碳钢结构。
设置在民用建筑内的锅炉房,下列说法符合要求的是()。
比“Moderato”所要求的速度慢的是()。
教师检查自己教学质量的依据是()。
根据以下资料,回答以下问题。虽然受到国家对一些投资过热的重点行业实行严格控制的影响,但由于国家对西部农业、能源、交通、水利以及教育、卫生等社会事业的支持与投入继续加大,同时西部各省区市也加大了地方投资力度,西部地区2004年的固定资产投资继续保持
最新回复
(
0
)