【2023年】贵州省毕节地区全国计算机等级考试网络技术模拟考试(含答案)_第1页
【2023年】贵州省毕节地区全国计算机等级考试网络技术模拟考试(含答案)_第2页
【2023年】贵州省毕节地区全国计算机等级考试网络技术模拟考试(含答案)_第3页
【2023年】贵州省毕节地区全国计算机等级考试网络技术模拟考试(含答案)_第4页
【2023年】贵州省毕节地区全国计算机等级考试网络技术模拟考试(含答案)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【2023年】贵州省毕节地区全国计算机等级考试网络技术模拟考试(含答案)学校:________班级:________姓名:________考号:________

一、单选题(10题)1.计算机网络几种典型的拓扑结构中,______有一个中心结点控制着全网的结点进行通信,任何两结点之间的通信都要通过中心结点。

A.星型拓扑B.环型拓扑C.树型拓扑D.总线拓扑

2.在集中式网络管理模式中,网络管理结点与被管结点之间的关系是()。

A.对等B.主/从C.管理者/代理D.服务器/代理

3.我们通常使用的电子邮件软件是()

A.OutlookExpressB.PhotoshopC.PageMakerD.CorelDRAW

4.下列关于综合布线的描述中,正确的是()。

A.适配器具有转换不同数据速率的功能

B.与STP相比,UTP防止对外电磁辐射的能力更强

C.多介质插座是用来连接UTP和STP的

D.对于建筑群子系统来说,巷道布线法是最理想的方式

5.在下面的攻击手段中,基于网络的入侵防护系统无法阻断的是()。

A.Cookie篡改攻击B.DDOSC.Smurf攻击D.SYNFlooding攻击

6.一台Cisco6500交换机的4/1-24端口用于连接单个PC机和服务器,若需加快PC机和服务器接入到网络中的速度,STP可选功能的正确配置是()。

A.Switch—SW-6500>(enable)setspantreebackbonefast4/1—24enable

B.Switch-SW-6500>(enable)setspantreeuplinkfast4/1-24enable

C.Switch—SW-6500>(enable)setspantreeportfast4/1-24enable

D.Switch-SW-6500>(enable)setspantreeportfastbpdu—filter4/1-24enable

7.执行路由器的iproute命令必须进入的工作模式是()。

A.用户模式B.特权模式C.路由协议配置模式D.全局配置模式

8.用RSA算法加密时,已知公钥是(e=7,n=20),私钥是(d=3,n=20),用公钥对消息m=3加密,得到的密文是()。

A.19B.12C.13D.7

9.以下关于NetWare的描述中,正确的是()。

A.文件和打印服务功能比较一般B.它是著名的开源操作系统C.具有良好的兼容性和系统容错能力D.不支持TCP/IP协议

10.

二、填空题(10题)11.(7)TCP/IP参考模型的传输层定义了两种协议,即传输控制协议TCP和_________。

12.

13.虚电路交换方式试图将电路交换和结合起来,发挥这两种方法各自的优点,以达到最佳的数据交换效果。

14.

15.有一类攻击可以确定通信的位置和通信主机的身份,还可以观察交换信息的频度和长度。这类攻击称为______。

16.MD5是一种常用的摘要算法,它产生的消息摘要长度是。

17.电子商务中的数字签名通常利用公开密钥加密方法实现,其中发送者签名使用的密钥为发送者的【】。

18.ATM协议中,会聚子层CS被定义成两个子层,即【】和公共部分会聚子层(CPCS)。

19.

20.一台主机的缺省网关是_________。

三、2.填空题(8题)21.目前,防火墙一般可以提供4种服务。它们是______、方向控制、用户控制和行为控制。

22.如果电缆调制解调器使用4.5MHz的频带宽度,那么,在利用64QAM时,它可以提供的速率为【】Mb/s。

23.主页是个人或机构的基本信息页面,它一般包含的基本元素有:文本、【】、表格和超链接。

24.ATM适配层(AAL)分成两个子层,即会聚子层(CS)和【】。

25.双绞线用于10Mb/s局域网时,与集线器的距离最大为【】m。

26.通过经营电子支付的银行进行电子支付的过程中,需要发出或者接收【】。

27.______的主要目的是将一条原始的、有差错的物理线路变为对网络层无差错的数据链路。

28.能让用户通过内置浏览器在移动电话上访问Internet技术是【】。

四、C语言程序设计题(2题)29.函数readDat是从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat把结果xx输出到文件out.dat中。

条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。

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

请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。

30.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVai,其功能是:若一个四位数的千位数位置上的值小于等于百位数位置上的值,百位数位置上的值小于等于十位数位置上的值,以及十位数位置上的值小于等于个位数位置上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到文件out.dat中。

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

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

请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。

五、1.选择题(3题)31.按密钥的使用个数,密码系统可以分为

A.置换密码系统和易位密码系统

B.分组密码系统和序列密码系统?

C.对称密码系统和非对称密码系统

D.密码学系统和密码分析学系统

32.在局域网交换机中,交换机首先完整地接收发送帧,并先进行差错检测的交换方法叫做

A.直接交换B.存储转发交换C.改进直接交换D.查询交换

33.异构性是全球网络必不可少的特点,下列哪一项不是其异构性的表现?()

A.物理层媒介B.终端操作系统以及应用C.协议和访问技术D.服务质量

六、1.程序设计题(3题)34.已知在文件IN6.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价×数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。

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

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

试题程序:

#include<stdio.h>

#include<mem.h>

#include<string.h>

#include<conio.h>

#include<stdlib.h>

#defineMAX100

typedefstruct

{

chardm[5];/*产品代码*/

charmc[il];/*产品名称*/

intdj;/*单价*/

ihtsl;/*数量*/

longSe;/*金额*/

}PRO;

PROsell[MAX];

voidReadDat();

voidWriteDat();

voidSortDat()

{

main()

{

memset(sell,0,sizeof(sell));

ReadDat();

SortDat();

WriteDat();

}

voidReadDat()

{

FILE*fp;

charstr[80],ch[11];

inti;

fp=fopen("IN6.DAT","r");

for(i=0;i<100;i++)

{

fgets(str,80,fp);

memcpy(sell[i].dm,str,4);

memcpy(sell[i].mc,str+4,10);

memcpy(ch,str+14,4);chi4]=0;

sell[i].dj=atoi(ch);

memcpy(ch,str+18,5);chi5]=0;

sell[ii.sl=atoi(ch);

sell[i].je=(long)sell[i].dj*sell[i].sl;

}

fclose(fp);

}

voidWriteDat()

{

FILE*fp;

inti;

fp=fopen("OUT6.DAT","w");

for(i=0;i<100;i++)

{

fprintf(fp,"%s%s%4d%5d%101d\n",sell[ii.dm,sell[i].mc,

sell[i].dj,sell[i].sl,sell[i].je);

}

fclose(fp);

}

35.已知在文件in37.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中,金额=单价×数量可计算得出。函数ReadDat()的功能是读取这100个销售记录并存入数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件out37.dat中。

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

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

试题程序:

#include<stdio.h>

#include<mem.h>

#include<string.h>

#include<conio.h>

#include<stdlib.h>

#defineMAX100

typedefstruct

{

chardm[5];

charmc[11];

intdj;

intsl;

longje;

}PRO;

PROsell[MAX];

voidReadDat();

voidWriteDat();

voidSortDat()

{

}

voidmain()

{

memset(sell,0,sizeof(sell));

ReadDat()

SortDat()

WriteDat(;

}

voidReadDat()

{

FILE*fp;

charstr[80],ch[11];

inti;

fp=fopen("IN37.DAT","r");

for(i=0;i<100;i++)

{

fgets(str,80,fp);

memcpy(sell[i].dm,str,4);

memcpy(sell[i].mc,str+4,10);

memcpy(ch,str+14,4);

ch[4]=0;

sell[i].dj=atoi(ch);

memcpy(ch,str+18,5);

ch[5]=0;

sell[i].sl=atoi(ch);

sell[i].je=(long)sell[i].dj*sell[i].sl;

}

fclose(fp);

}

voidWriteDat()

{

FILE*fp;

inti;

fp=fopen("OUT37.DAT","w");

for(i=0;i<100;i++)

{

fprintf(fp,"%s%s%4d%5d%101d\n",sell[i].dm,sell[i].mc,

sell[i].dj,sell[i].sl,sell[i].je);

}

fclose(fp);

}

36.已知数据文件INI.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数isVal(),其功能是:如果4位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT1.DAT文件中。

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

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

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

试题程序:

#include<stdio.h>

#defineMAX200

inta[MAX],b[MAX],cnt=0;

voidjsVal()

{

}

voidreadDat()

{

inti;

FILE*fp;

fp=fopen("IN1.DAT","r");

for(i=0;i<MAX;i++)fscanf(fp,"%d",ia[i]);

fclose(fp);

}

main()

{

inti;

readDat();

jsVal();

printf("满足条件的数=%d\n",cnt);

for(i=0;i<cnt;i++)printf("%d",b[i]);

printf("\n");

writeDat();

}

writeDat()

{

FILE*fp;

inti;

fp=fopen("OUT1.DAT","w");

fprintf(fp,"%d\n",cnt);

for(i=0;i<cnt;i++)fprintf(fp,"%d\n",b[i]);

fclose(fp);

}

参考答案

1.A解析:星型结构的所有结点都连接到一个中心结点上。该中心结点通常是一台集线器(HuB),结点之间发送和接收的数据都需经过该中心结点。星型拓扑结构简单,容易组建,便于管理,但是网络的中心结点的可靠性是全网可靠性的关键所在,中心结点的故障可能造成整个网络中断。环型拓扑、树型拓扑和总线拓扑都没行这样一个中心结点。,结点之间发送和接收的数据都需经过该中心节点。星型拓扑结构简单,容易组建,便于管理,但是网络的中心结点的可靠性是全网可靠性的关键所在,中心结点的故障可能造成整个网络中断。环型拓扑、树型拓扑和总线拓扑都没有这样一个中心结点。

2.B集中式网络管理模式在网络系统中设置专门的网络管理结点,管理软件和管理功能主要集中在网络管理结点上,网络管理结点与被管结点之间的关系是主从关系。

3.A解析:本题考查点是电子邮件软件名称。电子邮件服务采用客户机川艮务器的工作模式。电子邮件系统由邮件服务器和邮件客户端两部分组成。其中,电子邮件服务器是整个邮件服务系统的核心。当用户需要发送电子邮件时,要通过电子邮件客户端软件书写电子邮件并将邮件发送到自己的邮件服务器。同时,收件人也要通过电子邮件客户端软件,来访问自己的电子邮箱并从中接收、阅读邮件,因此,客户端需要安装和使用电子邮件客户端软件。我们通常使用的电子邮件软件有Microsoft公司的OutlookExpress软件。Photoshop是一种功能强大的图像特效处理软件。PageMaker是一种功能极其全面的著名的排版软件。CorelDRAW是一种矢量图形制作工具软件。

4.A适配器用于连接不同信号的数模转换或数据速率转换装置。相对与UTP,STP、FTP和SFrP双绞电缆都是有屏蔽层的屏蔽线缆,具有防止外来电磁干扰和防止向外辐射的特性,所以B选项错误。\n\u3000\u3000多介质插座,是用来连接铜缆和光纤两种不同介质的装置,所以C选项错误。对于建筑群子系统来说,因为建筑群环境中,建筑物间通常用地下巷道,虽然巷道铺设电缆造价低、安全可靠,但是它易被热水管的热气或热水损坏,因而它不是理想的布线方式,在建筑群布线系统中,较为理想的布线方式为管道内布线法。因此选项A正确。

5.ACookie篡改攻击:是一项主要以获取模拟和隐私权泄密著称的技术,通过维护客户(或终端用户)身份的会话信息操纵来实现的。通过打造这些Cookie,一个黑客可以模拟一个有效的客户,因此获取详细信息并执行代表病毒的行为。DDoS攻击(分布式拒绝服务攻击):攻击者攻破了多个系统,并利用这些系统去集中攻击其他目标。成百上千的主机发送大量的请求,受害设备因无法处理而拒绝服务。Smurf攻击:攻击者冒充受害主机的IP地址,向一个大的网络发送echorequest的定向广播包,此网络的许多主机都做出回应,受害主机会收到大量的echoreply消息。SYNFlooding攻击:利用无效的IP地址,利用TCP连接的三次握手过程,使得受害主机处于开放会话的请求之中,直至连接超时。在此期间,受害主机将会连续接受这种会话请求,最终因耗尽资源而停止响应。根据解析,后三者均是基于网络的入侵,都可以被阻断,选项A符合题意,故选A选项。

6.CSTP中,配置BackboneFast生成树,主要通过接收到的BPDUs包的优劣,反应出网络中链路是否失效,并使阻塞端口不再等待生成树的最大存活时间,直接将端口由侦听和学习直接转换为转发状态,提高了链路失效下的收敛速度。配置UplinkFast生成树用于在生成树拓扑结构发生变化和在使用上链路组的冗余链路之间完成负载平衡时,提供收敛速度。配置PortFast生成树用于在接入层交换机端口上跳过正常的生成树操作,加快了终端工作站进入到转发状态。其配置方法为:setspantreeportfast4/1—24enable,因此选择C选项。

7.DD【解析】路由器的工作模式有:用户模式,是Console登陆到路由器时,输入正确密码就可以进入用户模式,是一个只读模式。用户模式下,只能执行pin9、telnet和showversion等简单命令。特权模式,输入enable和超级用户密码,就可以进入特权模式。特权模式下,可以查看和保存配置文件、清除闪存、处理并完成路由的冷启动等操作。路由协议配置模式,用于对路由协议的详细配置。全局配置模式,可以配置路由器的主机名、超级用户口令、TFTP服务器、静态路由(iproute)、访问控制列表、多点广播、IP记账等,因此选择D选项。

8.D

\n

9.C选项A),NetWare的文件和打印服务功能强大,NetWare以其强大的文件及打印服务能力而久负盛名;选项B),Linux是著名的开源操作系统,NotWare是商业软件;选项C),NetWare具有良好的兼容性和系统容错能力,系统提供3种容错机制;选项D),NetWare支持TCP/IP协议。

10.D

11.(7)用户数据报协议(UDP)【解析】TCP/IP参考模型的传输层定义了两种协议,即传输控制协议TCP和用户数据报协议UDP。TCP协议是面向连接的协议,UDP协议是面向非连接的协议。

12.

13.虚电路建立虚电路方式将数据报与电路交换结合起来,发挥这两种方法各自的优点,以达到最佳的数据交换效果。虚电路方式的工作过程分为虚电路建立、数据传输、虚电路拆除3个阶段。虚电路方式主要有以下特点:

—在每次进行分组传输之前,需要在源主机与目的主机之间建立一条逻辑连接;

—一次通信的所有分组都通过虚电路顺序传送,因此分组不必携带目的地址、源地址等信息,分组到达目的节点时不会出现丢失、重复、乱序的现象;

—分组通过虚电路上的每个节点时,节点只需要进行差错校验,不需要进行路由选择;

—通信子网中的每个节点可以与任何节点建立多条虚电路连接。

14.

15.通信量分析通信量分析解析:通信量分析可以确定通信的位置和通信主机的身份,还可以观察交换信息的频度和长度。这些信息可以帮助对手猜测正在进行的通信特征。

16.128MD5是一种常用的摘要算法,它产生的消息摘要长度是128位。

17.私钥私钥解析:本题考查点是电子商务中利用公开密钥体制实现数字签名的方法。电子商务中的数字签名(digital,ignature)通常利用公开密钥加密方法来实现。数字签名是保证数据完整性和不可否认性的必要手段。这种情况下,发送者使用自己的私有密钥对数据进行加密,接收者则使用发送者已公开的公用密钥对该“数字签名”施行“解密”。目前公开密钥加密体制中的典型代表是RSA(RivetsShamirAdleman)算法。RSA由3个发明者的名字组合而成。RSA算法不仅可以用数字签名,还可以用于数据加密。

18.特定业务会聚子层(SSCS)特定业务会聚子层(SSCS)解析:ATM协议中,会聚子层CS被定义成特定业务会聚子层(SSCS)和公共部分会聚子层(CPCS)两个于层。

19.

20.\n与主机在同一个子网的路由器端口的IP地址

\n

21.服务控制服务控制解析:防火墙一般可以服务控制、方向控制、用户控制和行为控制提供4种服务。

22.2727解析:该题考查电缆调制解调器的带宽知识。每个有线电视频道的频宽是8MHz,目前的电缆调制解调器标准规格中只使用其中的4.5MHz。这样,如使用64QAM,速度就是:log264/log22(bit/Hz/s)×4.5MHz=27Mb/s。

23.图像图像解析:主页(HomePage)是一种特殊的Web页面。通常,主页是指包含个人或机构基本信息的页面,有文字、图像、音频等多种表达方式。

24.拆装子层(SAR)拆装子层(SAR)解析:ATM网络中包含物理层、ATM层、ATM适配层(AAL)。ATM适配层(AAL)把高层协议分组传递到下层的ATM层。它定义了4类服务。每类服务要求不同,如五连接和面向连接的服务,恒定比特率和可变比特率服务,实时服务和非实时服务。ATM适配层分成两个子层:会聚子层(CS)和拆装子层(SAR)。CS本身包括两个子层:特定业务会聚子层(SSCS)和公共部分会聚子层(CPCS)。其中SSCS完成与特定服务有关的功能,CPCS完成所有业务的公共功能。

25.100100解析:双绞线用做远程中继线时,最大距离可达15km:用于10Mb/s局域网时,与集线器的距离最大为100m;即从节点到集线器的非屏蔽双绞线最大长度为100m。

26.电子单证电子单证解析:现代工商企业活动都和一定的单证相联系。如果没有相关单证的流通,各种经济活动就不能进行。在进行电子商务的过程中,传统意义上的单证就被电子单证所取代。

27.数据链路层数据链路层解析:数据链路层介于物理层与网络层之间。设立数据链路层的主要目的是将一条原始的、有差错的物理线路变为对网络层无差错的数据链路。

28.Wap或无线应用协议Wap或无线应用协议解析:Wap是一个新的、开放的、全球化的协议,能够让用户在手机上上网。Wap协议开发基于Internet广泛应用的标准,提供一个无线Internet解决方案。

29.【审题关键句】以行为单位从字符串左边部分降序排序,右边部分升序排序。如果原字符串长度为奇数,则最中间的字符不参加处理。

\n【解题思路】

\n①定义字符局部变量ch,整型循环变量i、j、k和表示字符串长度的变量len、P。

\n②在第一层for循环中,变量i从0开始,依次递增直到其值等于20,在循环体中,首先调用库函数strlen(xx[i])求得字符串xx[il的长度,把此值转化成整型赋给变量len,用len的值除以2,得到字符串xx[i]的长度的一半赋给变量P;在第二层for循环中,变量j从0开始,依次递增直到其值等于(p-1),在循环体中执行第三层for循环,循环变量k从j+1开始,依次递增直到其值等于P,对字符串xx[i]左半部分的子字符串中的字符xx[i][j]和xx[i][k]按照ASCII码值的大小进行比较,如果xx[i][j]的ASCII码值小于xx[i][k]的ASCII码值,则两者进行互换,实现对字符串xx[i]左半部分的子字符串按照降序排列。然后,有if条件语句判断,len对2的余数是否等于1,如果等于1,说明字符串xx[i]的长度为奇数,则变量P加1,因为这时字符串的中间字符不参与排序。再对字符串xx[i][j]右半部分的字符串按升序排列。在for循环中,变量j从P开始,依次递增直到其值等于len-1,在循环体中,执行for循环中,变量k从j+1开始,依次递增直到其值等于Ien,对字符xx[i][j]和xx[i][k]按其ASCII码值的大小进行比较,如果字符xx[i][j]的ASCII码值大于xx[i][k]的ASCII码值,则两者进行互换,实现字符串xx[i]右半部分的字符串按照升序排列。

\n【参考答案】

\n

30.【审题关键句】千位-百位-十位-个位,结果大于等于零且原四位数是奇数,统计出满足此条件的个数,并按从小到大的顺序存入数组。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现主要有两个不同点:一是要求统计的四位数的条件是“千位-百位-十位-个位>=0”,二是要求该四位数是奇数,这两个不同点都体现在参考答案的第8条语句中,对该语句进行修改即可,其中,可以判断奇数的表达式是“a[i]%2”。

\n【参老答案】

\n

\n

31.C解析:公钥加密的密码系统按密钥的使用个数可分为:对称密码体制和非对称密码体制。不对称型加密算法也称公开密钥算法,其特点是有两个密钥(即公用密钥和私有密钥),只有两者搭配使用才能完成加密和解密的全过程。置换和易位密码系统是按明文到秘文的转换操作分类。

32.B解析:帧转发方式的特点,根据交换机的帧转发方式,交换机可以分为以下三类:直接交换方式、存储转发交换方式、改进直接交换方式。在存储转发(storeandForward)方式中,交换机首先完整地接收发送帧,并先进行差错检测。如接收帧是正确的,则根据帧目的地址确定输出端口号,再转发出去。

33.D解析:异构性是全球网络必不可少的特点。它在各方面的表现都很明显:物理层媒介、终端、访问技术、传输假设、协议、终端操作系统以及应用。服务质量是全球多媒体网络的属性之一。

34.voidSortDat(){intij;PROxy;for(i=O;i<99;i++)for(j=i+1;j<100;i++)if(strcmp(sell[i).mcsell[j].mc)>0)/*按产品名称从小到大进行排列*/{xy=sell[i];sell[i]=sell[i];sell[j]=xy;}elseif(strcmp(sell[i].mcsell[j]/mc)==0)/*若产品名称相同*/if(sell[i].ie>sell[j].je)/*则按金额从小到大进行排列*/{xy=sell[i];sell[i]=sell[j];sell[j]=xy;)}voidSortDat()\r\n{\r\ninti,j;\r\nPROxy;\r\nfor(i=O;i<99;i++)\r\nfor(j=i+1;j<100;i++)\r\nif(strcmp(sell[i).mc,sell[j].mc)>0)/*按产品名称从小到大进行排列*/\r\n{xy=sell[i];sell[i]=sell[i];sell[j]=xy;}\r\nelseif(strcmp(sell[i].mc,sell[j]/mc)==0)/*若产品名称相同*/\r\nif(sell[i].ie>sell[j].je)/*则按金额从小到大进行排列*/\r\n{xy=sell[i];sell[i]=sell[j];sell[j]=xy;)\r\n}解析:本题是有关结构体数组的排序问题,可以用选择法来实现。用第一个元素的产品名称依次和它后面的元素的产品名称进行比较,如果发现当前元素的产品名称比后面的某个元素的产品名称对应字符的ASCII码大(这里用到了字符串比较函数strcmp()),则交换这两个元素的位置,继续和后面的其他元素进行比较,最终在第一个元素中存放的是产品名称最小的元素。以此类推,就实现了从小到大排序的功能。注意:这里要进行交换的是两个结构体变量,而不是它们的某一个域,因此,要借助第三个结构体变量来充当中间容器。若产品名称相同,则要按照金额从小到大进行排序。

35.voidSortDat(){intij;PROxy;for(i=0;i<99;i++)for(j=i+l;j<100;j++){if(strcmp(sell[i].dmsell[j].dm)>0)/*按产品代码从小到大进行排列*/{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}elseif(strcmp(sell[i].dmsell[j].dm)==0)/*若产品代码相同*/if(sell[i].je<sell[j].je)/*则按金额从大到小的进行排列*/{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}}}voidSortDat()\r\n{inti,j;\r\nPROxy;\r\nfor(i=0;i<99;i++)\r\nfor(j=i+l;j<100;j++)\r\n{\r\nif(strcmp(sell[i].dm,sell[j].dm)>0)/*按产品代码从小到大进行排列*/\r\n{xy=sell[i];\r\nsell[i]=sell[j];\r\nsell[j]=xy;\r\n}\r\nelseif(strcmp(sell[i].dm,sell[j].dm)==0)/*若产品代码相同*/\r\nif(sell[i].je<sell[j].je)/*则按金额从大到小的进行排列*/\r\n{xy=sell[i];\r\nsell[i]=sell[j];\r\nsell[j]=xy;\r\n}\r\n}\r\n}解析:本题考查的知识点如下:

(1)结构体及结构数组的相关操作。

(2)结构数组的排序。

(3)字符型数组的比较。

本题着重考查结构体变量的访问、赋值,包括结构体本身及结构体中各个成员的访问和赋值。结构数组的操作与一般数组的区别不大,只要注意其中的元素是结构体,以及对结构体操作的方法。根据题意要求,我们首先要比较产品代码。因为产品代码为字符型,所以不能使用简单的比较运算符进行比较。在这里,我们使用了字符串处理函数strcmp(char*strl1,char*strl2,unsignedintcout)对其进行比较。对于比较结果,还要按情况进行新的操作——存入结构数组或者再进行比较。因为已定义了结构数组,就可以使用循环进行比较排序。排序采用前面介绍的“选择排序法”。

36.voidjsVal(){intbb[4];intijkflag;for(i=O;i<200;i++){bb[0]=a[i]/1000;/*求四位数的千位数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论