(2021年)山东省菏泽市全国计算机等级考试网络技术预测试题(含答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(2021年)山东省菏泽市全国计算机等级考试网络技术预测试题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________
一、单选题(10题)
1.下面哪个不属于从通信网络的传输对加密技术分类的方式()
A.结点到端
B.结点到结点
C.端到端
D.链路加密
2.下列哪一项不是收集网络商务信息的基本要求()。

A.经济
B.适度
C.按时
D.准确
3.下列关于IEEF802.11三种协议的描述中,错误的是()。

A.IEEE802.11a的实际吞吐量是28~31Mbps
B.IEEE802.11a的最大容量是432Mbps
C.IEEE802.11b的最大容量是88Mbps
D.IEEE802.119的最大容量是162Mbps
4.下列对IPv6地址FE01:O:O:050D:23:O:O:03D4的简化表示中,错误的是()。

A.FE01::50D:23:O:0:03D4
B.FE01:0:O:050D:23::03D4
C.FE01:0:0:50D:23::03D4
D.FE01::50D:23::03D4
5.对于windowsServer2008的创新技术,以下错误的是( )。

A.虚拟化技术
B.增强平台的可靠性
C.无缝的UNIX/Windows互操作性
D.广泛适合的网络解决方案
6.下列关于HiperLAN技术与标准的描述中,错误的是()。

A.HiperLAN/1和HiperLAN/2都采用5 GHz射频频率
B.HiperLAN/2上行速率最高可达到20Mbps
C.一个HiperLAN/2的AP在室内可覆盖的范围一般为30米
D.HiperLAN/2采用OFDM调制技术
7.在Cisco路由器上配置RIP vl路由协议,参与RIP路由的网络地址有193.22.56.0/26、193.22.56.64/26、193.22.56.128/26和193.22.56.192/26,正确的配置命令是()。

A.Router(config)#network 193.22.56.0 0.0.0.255
B.Router(config—router)#network 193.22.56.0 255.255.255.0
C.Router(config)#network 193.22.56.0
D.Router(eonfig—router)#network 193.22.56.0
8.
9.下列关于Serv-U-FTP服务器配置的描述中,错误的是()。

A.配置服务器域名时,可以使用域名或其他描述
B.配置服务器IP地址时,服务器有多个IP地址需分别添加
C.配置服务器域端口号时,可使用端口21或其他合适的端口号
D.配置域存储位置时,小的域应选择.INI文件存储而大的域应选择注册表存储
10.如果网络结点传输10bit数据需要1×10-8s,则该网络的数据传输速率为()。

A.10Mbps
B.1Gbps
C.100Mbps
D.10Gbps
二、填空题(10题)
11.传输层的服务访问点是。

12. 宽带城域网必须具备IP地址分配能力,能够支持动态和静态地址分配,支持____________功能。

13.
14.
第61 题根据协议的作用范围,组播协议可分为组播组管理协议和
___________两种。

15.有一种攻击不断对网络服务系统进行干扰,改变了网络服务器正常的作业流程,由其执行的无关程序使系统响应速度减慢甚至瘫痪,影响了正常用户的使用,甚至使合法用户被排斥而不能获得服务。

这种攻击叫做。

16. 在Internet中计算机之间直接利用IP地址进行寻址,因而需要将用户提供的主机名转换成IP地址,这个过程称为域名解析。

Internet域名解析有______和反复解析两种方式。

17.
18.计算机病毒的完整的工作过程包括潜伏、__________、触发和行为控制四个阶段。

19. 私有密钥加密技术和______技术是两种最基本的加密技术。

20.
三、2.填空题(8题)
21. ______的优点是对代理的资源要求不高。

SNMP采用的就是这种方式。

22. X.25协议规定了以【】工作的用户数据终端设备(Date Terminal Equipment, DTE)与通信子网的数据电路端接设备(Date Circuit-terminal Equipment, DCE)之间的接口标准。

23. 防火墙的基本功能是:根据一定的安全规定,检查、过滤网络之间传送报文分组,以确定这些报文分组的【】。

24. 电子商务的安全要求包括传输的安全性、交易各方的身份认证、【】和交易的不可抵赖性四个方面。

25. 建筑物综合布线系统一般采用开放式模块化结构,它具有良好的可扩展性和很高的灵活性等特点,其传输介质主要采用光纤与______混合结构。

26. 通用型网络操作系统可以分为两类:变形系统与______系统。

27. 局域网出现的网络故障中,有75%以上是由网络______引起的。

28. 分布式系统是建立在计算机网络之上的,因此分布式系统与计算机网络在______上基本相同。

四、C语言程序设计题(2题)
29.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsgal,其功能是:从数组a 中依次取出一个四位数,对每一个四位数作如下处理:把个位数字和千位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的于位数字),以及把百位数字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个新组成数:一个是奇数,另一个为偶数,并且至少有一个数能被l7整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数存入数组b中,并计算满足上述条件的四位数的个数cnt,而后对数组b进行降序排序。

最后main函数调用写函数writeDat把结果cnt以及数组b 中符合条件的四位数输出到out.dat文件中。

例如:一个四位数为4512,依题意组成的第一个新数为24,第二个新数为51,其中51能被l7整除,这两个新数的十位数字不为零,则4512这个四位数满足题意所规定条件。

注意:部分源程序存在test.c文件中。

程序中已定义数组:a[200],b[200],已定义变量:cnt
请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat 和写函数writeDat的内容。

30. 已知数据文件in.dat中存有300个四位数,并已调用读函数readDat 把这些数存入数组a中,请编制一函数jsValue,其功能是:求出个位数
上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjzl,以及所有不满足此条件的四位数平均值pjz2。

最后main函数调用写函数writeDat把结果cnt,pjzl,pjz2输出到out.dat文件。

例如:1239,9-1-2-3>0,则该数满足条件,参加计算平均值pjzl,且个数cnt=cnt+1。

8129,9-8-1-2<0,则该数不满足条件,参加计算平均值pJz2。

注意:部分源程序存在test.c文件中。

程序中已定义数组:a[300],已定义变量:cnt,pjzl,pjz2
请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat 和写函数writeDat的内容。

五、1.选择题(3题)
31. 系统的可靠性通常用MTBF和MTTR来表示。

其中MTBF的意义是( )。

A.平均无故障时间
B.每年故障维修时间
C.每年故障发生次数
D.平均故障修复时间
32. 以下哪项技术不屈于预防病毒技术的范畴( )。

A.加密可执行程序
B.引导区保护
C.系统监控与读写控制
D.自身校验
33. 在电子商务活动中,______ 是电子商务的高级阶段和最终目的。

A.网上购物
B.网上支付
C.下订单
D.交易
六、1.程序设计题(3题)
34. 已知数据文件IN44.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数isValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT44.DAT文件中。

例如:9123,9-1-2-3>0,则该数满足条件,存入数组b中,且个数cnt=cnt+1。

9812,9-8-1-2<0,则该数不满足条件,忽略。

注意:部分源程序已给出。

程序中已定义数组:a[300],b[300],己定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

试题程序:
#include<stdio.h>
int a[300],b[300],cnt=0;
jsValue()
{
}
main ()
{
iht i;
readDat();
jsValue();
writeDat();
for(i=0;i<cnt;i++)
printf("b[%d]=%d\n",i,b[i]);
}
readDat()
{
FILE *fp;
int i;
fp=fopen("IN44.DAT","r");
printf ( "cnt=%d\n", cnt);
for (i=0;i<300; i++)
fscanf (fp, "%d, ", &a [i] );
fclose (fp);
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ( "OUT44. DAT" , "w" );
fprintf (fp, "%al\n", cnt);
for (i=0; i<cnt;i++)
fprintf(fp, "%d\n",b[i]);
fclose (fp);
}
35. 函数ReadDat()的功能是实现从文件IN8.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrCharJP(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII值,得到新的字符,并存入原字符串对应的位置上。

最后把已处理的字符串按行重新存入字符串数组xx中,并调用函数WriteDat()把结果xx输出到文件OUT8.DAT中。

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:
#include<stdio.h>
#include<string.h>
#include<conio, h>
char xx[50] [80];
int maxline = 0; /* 文章的总行数*/
int ReadDat (void);
void WriteDat(void);
void StrCharJR(void)
{
}
main ( )
{
clrscr ( ;
if (ReadDat ())
{
printf ("数据文件IN8.DAT不能打开! \n\007");
return;
}
StrCharJR ();
WriteDat ();
}
int ReadDat (void)
{
FILE *fp;
int i= 0;
char *p;
if ((fp = fopen("IN8.DAT","r")) ==NULL) return 1;
while(fgets (xx[i], 80, fp) !=NULL)
{
p = strchr(xx[i], '\n');
if(p) *p = 0;
i++;
}
maxline = i;
fclose (fp);
return 0;
}
void WriteDat(void)
{
FILE *fp;
int i;
clrscr ();
fp = fopen("OUT8.DAT", "w");
for(i = 0; i <maxline; i++)
{
printf("%s\n", xx[i]);
fprintf(fp, "%s\n", xx[i]);
}
fclose (fp);
}
36. 函数readDat()的功能是从文件in52.dat中读取20行数据存放到字符串数组xx中(每行字符串的长度均小于80)。

请编制函数JsSod(),该函数的功能是:以行为单位对字符串变量的—F标为奇数位置上的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件out52.dat中。

例如:位置0 1 2 3 4 5 6 7
源字符串h g f e d c b a
则处理后字符串h a f c d e b g。

注意:部分源程序已给出。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

试题程序:
#include<stdio. h>
#include<string. h>
#include<conio. h>
char xx[20] [80];
void jsSort
{
}
void main ()
{
readDat ();
jsSort ( );
writeDat ();
}
readDat ( )
{
FILE *in;
int i=0;
char *p;
in=fopen ( "in52. dat", "r" );
while(i<20 && fgets(xx[i],80,in) !=NULL) {
p=strchr (xx[i], ' In' );
if(p) *p=0;
i++;
}
fclose (in);
}
writeDat ()
{
FILE *out;
int i;
ut=fopen ("out52 .dat", "w");
clrscr ( );
for (i=0;i<20;i++)
{
printf ("%s\n", xx [i] );
fprint f (out, "%s\n", xx [i] );
}
fclose (out);
}
参考答案
1.A解析:从通信网络的传输方面,数据加密技术可分为以下3类:链路加密方式、结点到结点方式、端到端方式。

2.C
3.C
IEEE802.11三种协议比较由表可知IEEES02.1lb的最大容量是
33Mbps。

故选择C选项。

4.DIPv6地址在使用双冒号法表示时,双冒号只允许出现一次,所以选项D错误。

5.C
6.BHiperIJAN技术与标准:HiperLAN/1采用5G射频频率,可以达到上行20Mbps的速率;HiperLAN/2也采用5G射频频率,上行速率达到54Mbps。

在室内,HiperLAN/2的AP可覆盖的范围一般为30m;在室外,HiperLAN/2的AP可覆盖的范围一般为150m。

HiperLAN/2采用先进的OFDM调制技术,可以达到非常高的传输速率,其速率在物理层最高达54Mbps,故选择B选项。

7.DRIP不支持可变长掩码,它只根据各类IP地址的网络号的位数来确定。

因此在配置网络地址时不需要给定掩码,故选项A,B错误。

RIP 路由协议是在“Router(config router)#”模式下进行配置。

因此选择D选项。

8.C
9.Bserv-U FTP服务器是一种被广泛运用的FTP服务器端软件,支持3x /9x/ME/NT/2K等全Windows系列,可以设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等,功能非常完备。

它具有非常完备的安全特性,支持SSL FTP传输,支持在多个Serv—U和FTP客户端通过SSL加密连接保护您的数据安全等。

设置:FTP服务器的IP地址时,IP地址可为空,意为服务器所有的IP地址,当服务器有多个IP地址或使用动态IP地址时,IP地址为空会比较方便,因此选择
B选项。

10.B解析:数据传输速率是描述数据传输系统的重要技术指标之一。

数据传输速率在数值上,等于每秒钟传输构成数据代码的二进制比特数,它的单位为比特/秒\n(bit/seconD),通常记做bps。

本题中该网络的数据传输速率就等于传输数据除以所用的时间,即10bit/1×10-8s=109bps,转换成Gbps为1Gbps。

11.端口传输层主要负责实现发送端和接收端的端到端的数据分组传送,以及数据包无差错、按顺序、无丢失、无冗余地传输,其服务访问点为端口。

12.\n网络地址转换或NA T
13.
14.路由协议
【解析】根据协议的作用范嗣,组播协议可分为组播组管理协议和路由协议两种。

15.拒绝服务攻击一般认为,目前网络中存在的威胁主要表现在以下方面。

— 非授权访问:没有预先经过同意就使用网络或计算机资源称为非授权访问,如:有意避开系统访问控制机制;对网络设备及资源进行非正常使用;擅自扩大权限,越权访问信息。

非授权访问的主要形式有假冒、身份攻击、非法用户进入网络系统进行违法操作、合法用户以未授权方式进行操作等。

信息泄露或丢失指敏感数据在有意或无意中被泄露或丢失,通常包括:信息在传输中丢失或泄露(如:黑客利用电磁泄漏或搭
线窃听等方式截获机密信息;通过对信息流向、流量、通信频度和长度等参数的分析,推算出用户口令、账号等重要信息),信息在存储介质中丢失或泄露,通过建立隐蔽隧道等窃取敏感信息等。

— 破坏数据完整性:主要手段有以非法手段窃得对数据的使用权,删除、修改、插入或重发某些重要信息,以取得有益于攻击者的响应;恶意添加、修改数据,以干扰用户的正常使用。

— 拒绝服务攻击:主要手段有不断对网络服务系统进行干扰,改变其正常的作业流程;执行无关程序使系统响应速度减慢甚至瘫痪,影响正常用户的使用,甚至使合法用户被排斥而不能进入计算机网络系统或不能得到相应的服务。

— 利用网络传播病毒:通过网络传播计算机病毒,其破坏性大大高于单机系统,而且用户很难防范。

16.递归解析递归解析解析:域名解析可以有两种方式,一种叫递归解析,要求名字服务器系统一次性完成全部名字一地址变换。

第二种叫反复解析,每次请求一个服务器,不行再请求别的服务器。

17.
18.繁殖
19.公用密钥加密公用密钥加密
20.
21.轮询监控轮询监控解析:轮询监控方式中,管理站每隔一定时间间隔就向代理结点请求管理信息,管理站根据所返回的管理信息来判断是否有异常事件发生。

所以对代理的资源要求不高,但是管理通信的开销大。

22.分组方式分组方式解析:在网络通信中,常用的交换方式有电路交换、报文交换和分组交换三种。

X.25协议规定了以分组方式工作的用户数据终端设备(Dam Terminal Equipment, DTE)与通信子网的数据电路端接设备(Data Circuit-terminal Equipment, DCE)之间的接口标准。

23.合法性合法性解析:防火墙的基本功能是:根据一定的安全规定,检查、过滤网络之间传送的报文分组,以确定这些报文分组的合法性。

24.数据的完整性或数据完整性数据的完整性或数据完整性解析:数据传输的安全性。

保证数据传输的安全性就是要保证在公共因特网上传送的数据信息不被第三方监视和窃取。

数据的完整性。

保证数据的完整性就是要保证在公共因特网上传送的数据信息不被篡改。

身份认证。

在电子商务活动中,交易的双方或多方常常需要交换一些敏感信息,这时就需要确认对方的真实身份。

交易的不可抵赖。

电子商务交易的各方在进行数据信息传输时,必须带有自身特有的、无法被别人复制的信息,以防发送方否认和抵赖曾经发送过该消息,确保交易发生纠纷时有所对证。

25.非屏蔽双绞线非屏蔽双绞线解析:建筑物综合布线系统一般具有很好的开放式结构,采用模块化结构,它具有良好的可扩展性和很高的灵活性等特点,其传输介质主要采用光纤与非屏蔽双绞线混合结构。

26.基础级基础级解析:对于通用型网络操作系统,一般又可以分为两类;变形系统与基础级系统。

变形系统是在原有的单机操作系统基础上,通过增加网络服务功能构成的:基础级系统则是以计算机硬件为基础,根据网络服务的特殊要求,直接利用计算机硬件与少量软件资源专门设计的网络操作系统。

27.传输介质传输介质
28.物理结构物理结构解析:分布式系统与网络既有区别又有联系,它们的共同点在于一般的分布式系统是建立在计算机网络之上的,因此分布式系统与计算机网络在物理结构上基本相同。

29.【审题关键句】个位+千位与百位+十位,奇数,偶数,整除,从大到小排序。

\n【解题思路】
\n本题类似第24套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,体现在两个方面:①分解后重新组合成十位数的方式不同,参考答案的第8、9条语句重新指定两位数的组合方式;②新组合的两位数的奇偶性判断及整除判断,参考答案的第l0条语句。

\n本题第10条语句中各条件表达式之间的关系有些复杂,大致思路是:①首先判断新组合的两位数的十位不为0,即表达式“gwbw”;②再判断新组合的第一个两位数为偶数,第二个两位数为奇数,且两个两位数中至少有一个能被l7整除的情况,两个整除关系表达式式要用或运算符(11)连接,且用括号括起来先计算或运算,再与奇偶性判断表达式进行与运算;③最后,在判断新组合的第一个两位数为奇数,第二个两位数
为偶数,且两个两位数中至少有一个能被l7整除的情况(各表达式之间的连接关系同第2步)。

完成以上3部分的表达式设计后,再通过与运算将3部分表达式连接起来。

\n【参考答案】
\n
30.【审题关键句】个位-千位-百位-十位,结果大于零的数的个数,求满足此条件以及不满足此条件的四位数平均值avel 和ave2。

\n【解题思路】
\n①首先定义一个循环变量i,以及分别用来存放四位数分解之后各位数的变量qw(千位)、bw(百位)、sw(十位)和gw(个位)。

\n②通过for循环依次对数组中的每个四位数进行分解,每分解一个四位数,则根据题目要求,判断其“个位.百位.十位.千位>0”的条件是否满足,当满足条件时,则将a[i]的值累加到变量pjzl中,同时计数变量cnt的值加1:如果不满足判断条件,则将四位数累加到变量pjz2中。

当for循环结束之后,就能等到所有满足条件的四位数之和pjzl和个数,以及所有不满足条件的四位数之和pjz2。

\n③最后将变量pjzl的值除以变量cnt的值,得到所有满足条件的四位数的平均值并赋给变量pjzl,将变量pjz2的值除以300减去变量cnt的差,得到所有不满足条件的四位数的平均值并赋给变量pjz2。

\n本题中,pjzl、pjz2和cnt三个变量在源程序中已经定义,在该子程序中就不需要再重新定义了。

\n【参考答案】
\n
31.A解析:MTBF是Mean Time Between Failures的缩写,指多长时间系统发生一次故障,即平均无故障时间。

MTTR是Mean Time To Repair 的缩写,指修复一次故障所需要的时间,即平均故障修复时间。

32.D解析:病毒是能够通过修改其他程序而“感染”它们的一种程序,网络反病毒技术包括预防病毒、检测病毒和消毒三种技术。

预防病毒技术通过自身常驻系统内存,优先获得系统的控制权,监视和判断系统中是否有病毒存在,进而阻止计算机病毒进入计算机系统和对系统进行破坏。

这类技术有:加密可执行程序、引导区保护、系统监控与读写控制。

33.D解析:在电子商务活动中,使用户了解自己的企业和产品只是电子商务的第一步,交易是电子商务的高级阶段和最终目的。

34.jsValue ( ) { int i thou hun ten data j; for (i=O; i<300; i++) { thou=a
[i]/1000; /*求四位数的千位数字*/ hun=a [i]%1000/100; /*求四位数的百位数字*/ ten=a [i]%100/10; /*求四位数的十位数字*/ data=a [i] %10; /*求四位数的个位数字* / if (thou-hun-ten-data>O) /*如果千位数减百位数减十位数减个位数大于零*/ { b[cut] =a [i]; /*则把该数存入数组b中*/ cut++; /*统计满足条件的数的个数*/ } } for (i=O; i<cnt-1; i++) /*对数组b的4位数按从小到大的顺序进行排序*/ for (j=i+l; j<cnt; j++) if (b[i]>b[j])
{ data=b Ii]; b[i]-b[j]; b [j] =data; } }jsValue ( )\r\n {\r\n int i, thou, hun, ten, data, j;\r\n for (i=O; i<300; i++)\r\n {\r\n thou=a [i]/1000; /*求四位数的千
位数字*/\r\n hun=a [i]%1000/100; /*求四位数的百位数字*/\r\n ten=a [i]%100/10; /*求四位数的十位数字*/\r\n data=a [i] %10; /*求四位数的个位数字* /\r\n if (thou-hun-ten-data>O) /*如果千位数减百位数减十位数
减个位数大于零*/\r\n {\r\n b[cut] =a [i]; /*则把该数存入数组b中*/\r\n cut++; /*统计满足条件的数的个数*/\r\n }\r\n }\r\n for (i=O; i<cnt-1; i++) /*对数组b的4位数按从小到大的顺序进行排序*/\r\n for (j=i+l; j<cnt; j++)\r\n if (b[i]>b[j])\r\n {\r\n data=b Ii];\r\n b[i]-b[j];\r\n b [j] =data;\r\n }\r\n } 解析:本题考查的知识点如下:
(1)运算符“%”及“/”的使用。

(2)循环结构及选择结构的使用。

在本题中,首先要将一个4位数的千位、百位、十位、个位拆成独立的数字。

这里借助特殊运算符号“%” (取余)和“/” (整除)。

将一个4位数整除1000则可得到其千位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。

然后按照题意要求将各位依次相减进行判断。

最后的排序采用“选择排序法”。

35.void StrCharJR(void) { int iistrl; for(i=0;i<maxline;i++) { str1=strlen(xx[i]); /*计算各行字符串的长度*/for(j=0;i<str1;j++) xx[i][j]+=xx[i][j]>>4;/*字符的ASCII值右移4位再加—卜原字符的ASCII 值得到新字符*/} }void StrCharJR(void)\r\n {\r\n int i,i,strl;\r\n for(i=0;i<maxline;i++)\r\n {\r\n str1=strlen(xx[i]); /*计算各行字符串的长度*/\r\n for(j=0;i<str1;j++)\r\n xx[i][j]+=xx[i][j]>>4;/*字符的ASCII值右移4位再加—卜原字符的ASCII\r\n 值,得到新字符*/\r\n }\r\n } 解析:本题考查对二维字符数组元素的操作。

注意:字符也可以参与数学运算,只不过用的是其ASCII码值。

我们可以利用双重循
环按照先行后列的顺序逐个取得数组中的字符(前提是我们需要求得各行字符的总个数),外层循环用来控制行数,内层循环用宋依次取得各行中的每一个字符。

之后对当前所取得的字符进行右移4位的运算(用到了“>>”右移运算符),然后把右移后得到的字符累加到原来字符中去,这样原来字符就被新的字符所覆盖。

36.void jsSort () { int i jk strl; char ch; for (i=0; i<20; i++) { strl=strlen (xx
[i] ); /*求各行字符串的长度*/ for (j=l; j <strl-2; j=j+2) /*将下标为奇数的字符按其ASCII值从小到大的顺序进行排序*/ for (k=j+2; k<strl; k=k+2) if(xx[i] [j]>xx[i] [k]) { ch=xx[i] [j]; xx[i] [j]=xx[i] [k]; xx[i] [k] =ch; } } }void jsSort ()\r\n { int i, j,k, strl;\r\n char ch;\r\n for (i=0; i<20; i++)\r\n { strl=strlen (xx [i] ); /*求各行字符串的长度*/\r\n for (j=l; j <strl-2; j=j+2) /*将下标为奇数的字符按其ASCII值从小到大的顺序进行排序*/\r\n for (k=j+2; k<strl; k=k+2)\r\n if(xx[i] [j]>xx[i] [k])\r\n {\r\n\r\n ch=xx[i] [j];\r\n xx[i] [j]=xx[i] [k];\r\n xx[i] [k] =ch;\r\n }\r\n }\r\n } 解析:本题考查的知识点如下:
(1)二维数组的坊问及下标控制。

(2)数据的排序。

在本题中,将数据存放在一个二维数组xx中。

其中以行数为数组的第—个下标,以字符串的最大长度80为其第二个下标。

因为以行为字符串处理的单位,首先要使用函数strlen()求得每一行中字符的个数。

只对字符串数组中下标为奇数的字符进行处理,可以从xx[0][1]开始,若需要增加时都增加2,则可实现只访问下标为奇数的数组元素。

排序使用
前面介绍的“选择排序法”。

相关文档
最新文档