首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPv4地址是否合法。参数ipaddr给出表示IPv4地址的字符串的首地址,串中仅含数字字符和“.”。若IPv4地址合法则返回1,否则返回0。判定为合法的条件是:每个十进制数的值位
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPv4地址是否合法。参数ipaddr给出表示IPv4地址的字符串的首地址,串中仅含数字字符和“.”。若IPv4地址合法则返回1,否则返回0。判定为合法的条件是:每个十进制数的值位
admin
2018-04-19
58
问题
函数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
程序员下午应用技术考试
软考初级
相关试题推荐
下列关于系统软件的叙述中,正确的是(7)。
某咨询顾问公司派小强统计本市各品牌汽车的占有率,以下4种统计方法中,小强应采用______方法,使估算结果较为可信。
计算机病毒是一段程序,一般隐藏在______中。
企业信息化总体架构中,计算机硬件、网络系统、操作系统、数据库管理系统等属于(16)。
在Excel2010中,一个宗箱的函数计算包括()。
自然数1,2,3,4,5中,任意两个数都可以算出平均值,其中有些平均值是相同的。那么,不同的平均值共有______个。
请认真阅读下列有关网络中计算机安全的说明信息,回答问题1至问题4。【说明】“震荡波”病毒对网络中计算机系统的攻击方式是:以本地IP地址为基础,开辟128个扫描线程,每个线程随机选取一个IP地址作为攻击目标,疯狂地试探连接目标主机的445端口,
框架在网页布局中主要起什么作用?主页中定义了几个框架,分别显示哪个文档?网页中使用的数据库连接引擎是什么?连接的后台数据库文件名是什么?
传统意义上的计算机病毒具有哪些特征?实施数据库服务器的病毒防护时,主要需要保护哪些元素?
随机试题
患者,男性,69岁。患高血25余年,近半年来常于劳累后出现呼吸困难,休息后可以缓解,体力活动不受限制,诊断为慢性心功能不全。该患者的心功能属于
诊断呼吸衰竭最有价值的检查是
普惠制原产地证书FORMA是证明有关商品的原产地为该受惠国的专门证书,是海关凭以减免关税的证件,因此它是有价值的。()
在我国承担基金份额注册登记工作的主要有()。
债券掉换方法的类型主要有()。
新课程的主要理论基础是()
已知数列一1,a1,a2,一4是等差数列,一1,b1,b2,b3,一4是等比数列,则的值为()。
【B1】【B3】
Severalyearsintoacampaigntogetkidstoeatbetterandexercisemore,childobesityrateshaveappearedtostabilize,andm
下列关于计算机病毒的叙述中,错误的是()。
最新回复
(
0
)