阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。阅读以下说明和C函数,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。【说明1】函数deldigit(char *s) 的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。其思路是:先申请一个与s等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再拷贝给s。【C函数】char *t = (char *)malloc( (1) ); /*申请串空间*/ int i, k = 0; if (!t) return; for(i = 0; i =’0’ if ( (4) ) { ch = *s; *s = *(s+len-1); *(s+len-1) = ch; reverse( (5) ); }}
阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。
阅读以下说明和C函数,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。
【说明1】
函数deldigit(char *s) 的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。其思路是:先申请一个与s等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再拷贝给s。
【C函数】
char *t = (char *)malloc( (1) ); /*申请串空间*/ int i, k = 0; if (!t) return; for(i = 0; i < strlen(s); i++)if ( !(*(s+i)>=’0’ && *(s+i)<=’9’) ) { t[k++] = (2) ;} (3) = ’\0’; /*设置串结束标志*/ strcpy(s,t);free(t);}
【说明2】
函数reverse(char *s, int len)的功能是用递归方式逆置长度为len的字符串s。例如,若串s的内容为"abcd",则逆置后其内容变为"dcba"。
【C函数】
void reverse(char *s, int len){ char ch; if ( (4) ) { ch = *s; *s = *(s+len-1); *(s+len-1) = ch; reverse( (5) ); }}
阅读以下说明和C函数,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。
【说明1】
函数deldigit(char *s) 的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。其思路是:先申请一个与s等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再拷贝给s。
【C函数】
char *t = (char *)malloc( (1) ); /*申请串空间*/ int i, k = 0; if (!t) return; for(i = 0; i < strlen(s); i++)if ( !(*(s+i)>=’0’ && *(s+i)<=’9’) ) { t[k++] = (2) ;} (3) = ’\0’; /*设置串结束标志*/ strcpy(s,t);free(t);}
【说明2】
函数reverse(char *s, int len)的功能是用递归方式逆置长度为len的字符串s。例如,若串s的内容为"abcd",则逆置后其内容变为"dcba"。
【C函数】
void reverse(char *s, int len){ char ch; if ( (4) ) { ch = *s; *s = *(s+len-1); *(s+len-1) = ch; reverse( (5) ); }}
参考解析
解析:(1)strlen(s)+1
(2)*(s+i),或s[i]或其等价表示
(3)*(t+k)或t[k] 或其等价表示
(4)len>1 或len>=1 或其等价表示
(5)s+1 len-2
【解析】
根据说明1,在函数deldigit(char*s)中需先申请一个与s等长的临时字符串空间并令t指向它,因此空(1)处应填入"strlen(s)+1",其中,加1的原因是函数strlen计算s所指向字符串的长度时,没有包含串结束标志字符"\0"。当然,申请比"strlen(s)+1"更大的存储区也可以,只是没有必要。
由于需要将非数字字符按原来的顺序存入t所指向的存储区,所以空(2)处填入"s[i]",或其等价表示形式。
最后在设置t所指向字符串的结束标志,即令t[k]='\0'.在这里,空(3)处的t[k]写为t[k++]也可以,而写为t[k+1]或t[++k]则不符合整个代码的处理逻辑。
函数reverse(char*s,int len)的功能是用递归方式逆置长度为len的字符串s,其中以下代码实现了将s所指字符与串中最后一个字符交换的处理。
Ch=*s; *s=*(s+len-1); *(s+len-1)=ch;
(2)*(s+i),或s[i]或其等价表示
(3)*(t+k)或t[k] 或其等价表示
(4)len>1 或len>=1 或其等价表示
(5)s+1 len-2
【解析】
根据说明1,在函数deldigit(char*s)中需先申请一个与s等长的临时字符串空间并令t指向它,因此空(1)处应填入"strlen(s)+1",其中,加1的原因是函数strlen计算s所指向字符串的长度时,没有包含串结束标志字符"\0"。当然,申请比"strlen(s)+1"更大的存储区也可以,只是没有必要。
由于需要将非数字字符按原来的顺序存入t所指向的存储区,所以空(2)处填入"s[i]",或其等价表示形式。
最后在设置t所指向字符串的结束标志,即令t[k]='\0'.在这里,空(3)处的t[k]写为t[k++]也可以,而写为t[k+1]或t[++k]则不符合整个代码的处理逻辑。
函数reverse(char*s,int len)的功能是用递归方式逆置长度为len的字符串s,其中以下代码实现了将s所指字符与串中最后一个字符交换的处理。
Ch=*s; *s=*(s+len-1); *(s+len-1)=ch;
相关考题:
阅读下列说明,回答问题1至问题2,将解答填入对应栏内。【说明】利用Windows Server 2008架设邮件服务器,回答相应问题。邮件服务器通常提供POP3和SMTP两种服务,它们各有什么作用?
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]下面是用小王用Dreamweaver MX编写的一个网页,如图12-2所示。从这个图片上,我们可以看出小王使用了Dreamweaver MX的哪些功能?
阅读下列说明,回答问题1至问题3,将解答填入对应栏内。【说明】在Windows的网络配置中,对网络协议进行IP地址配置,出现图5-1所示的对话框。什么场合下,可选择自动获取IP?什么场合下,选择人工配置IP?
阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。[说明]阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。(1)
阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。[说明]小舟很喜欢网上购物,不但自己经常上网买东西,还自己经营了一家商业网站,大到卖电器,衣物,小到可以和注册用户交换东西等等。图2-15是网上小舟经营的网站的购物流程图,请把空缺的部分补充完整。
阅读以下说明和关系表,回答问题1~5,将解答填入对应的解答栏内。[说明]试用SQL查询语句表达下列对教学数据库中的3个基本表STUDENT,COURSE,SC的查询[关系表]查询全体学生的姓名和年龄。
阅读以下关于软件测试的说明,回答司题l至问题3,将解答填入答题纸的对应栏内。【说明】使用在汽车、飞机中的嵌入式软件, 日于直接影响人的生命及财产安全,测试要求更为严格。语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖是通常对这类软件的要求。以下是一段C语言代码,请仔细阅读并回答相关问题:【问题1】(6分)请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖的含义。将答案填写在答题纸的对应栏中。【问题2】(5分)画出以上代码的流程图,将答案填写在答题纸的对应栏中。【问题3】(4分)请根据【说明】中的C语言代码,计算满足MC/DC覆盖要求的用例数量及条件取值范围,将答案填写在答题纸的对应栏中.
阅读下列说明,回答与数据库相关的下列问题,将解答填入答题纸的对应栏内。数据模型是数据库系统的核心和基础,它通常由哪三部分组成?Oracle、DB2、Sybase等是基于哪种数据模型的数据管理系统?
阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。【说明】某城市双创平台成立后,拟建设中小企业服务管理信息系统,主要工作计划如下。【问题1】(4分)结合案例,请问活动A和活动C的历时分别是多少。【问题2】(8分)请补充完整该管理信息系统的双代号网络图。【问题3】(4分)请给出关键路径和项目总工期
阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。【说明】某公司为推广洗涤新产品,需要进行用户体检调查。图4-1为调查表填写页面,表4-1所示为利用Microsoft Access创建的数据库,它将记录被调查用户的姓名、性别、年龄、了解产品方式和评价等信息。
阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【问题1】(3分)请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。【问题2】(8分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
阅读下列程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。main( ){int i,n; //1for(i=1;i
阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。问题1:(3分) 请针对上述C程序,给出满足100%DC(判定覆盖)所需的逻辑条件。问题2:(7分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。问题3:(3分)请给出【问题2】中控制流图的线性无关路径。
阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic)、银卡(Silver)和金卡 (Gold) 三个等级。非会员 (NonMember) 可以申请成为普卡会员。会员的等级根据其一年内累积 的里程数进行调整。描述会员等级调整的状态图如图 5-1 所示。现采用状态 (State) 模式实现上述场景,得到如图 5-2 所示的类图。【问题1】(15分)阅读上述说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。【说明】某企业采用Windows Server 2003配置了DHCP、DNS和WEB服务。【问题1】(每空1分,共4分)DHCP服务器地址池192.168.0.1~192.168.0.130,其中192.168.0.10分配给网关,192.168.0.11~192.168.0.15分配给服务器,192.168.0.20分配给网络管理员。