【2023年】安徽省六安市全国计算机等级考试网络技术模拟考试(含答案)

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

【2023年】安徽省六安市全国计算机等级考试网络技术模拟考试(含答案) 学校:________ 班级:________ 姓名:________ 考号:________
一、单选题(10题)
1.下列对IEEE 80
2.11b无线局域网的描述中,错误的是()。

A.采用IEEE 802.11b标准的对等解决方案,只要给每台计算机安装一块无线网卡即可
B.在多蜂窝漫游工作工作方式中,整个漫游过程对用户是透明的
C.采用直接序列无线扩频技术,经过申请后可使用2.4GHZ频段
D.IEEE 802.11b网卡处于休眠模式时,接入点将信息缓冲到客户
2.
3.无线自组网是一种特殊的自组织、对等式、( )的无线移动网络。

A.自由
B.多跳
C.分组
D.排序
4.时移电视和直播电视的基本原理相同,主要差别在于传输方式的差异.时移电视是采用什么来为用户实现时移电视的功能?( )
A.组播方式
B.广播方式
C.点播方式
D.多播方式
5.在虚拟页式存储管理系统中,地址越界中断属于()。

A.输入输出中断
B.程序性中断
C.时钟中断
D.自愿性中断
6.对于下列说法,哪一种是错误的()。

A.TCP协议可以提供可靠的数据流传输服务
B.TCP协议可以提供面向连接的数据流传输服务
C.TCP协议可以提供全双工的数据流传输服务
D.TCP协议可以提供面向非连接的数据流传输服务
7.在一台主机上用浏览器无法访问到域名为的网站,并且在这台主机上执行tracert命令时有如下信息
分析以上信息,会造成这种现象的原因是()。

A.本机使用的DNS服务器工作不正常
B.相关路由器上进行了访问控制
C.主机www.sun.corn上www服务工作不正常
D.为www,sun.corn提供名字解析的服务器工作不正常
8.服务器处理的数据都很庞大,如大型数据库、数据挖掘、决策支持以及设计自动化等应用,因而需要采用多个安腾处理器来组成系统。

安腾芯片采用的创新技术是( )。

A.复杂指令系统计算CISC
B.精简指令系统计算RISC
C.简明并行指令计算EPIC
D.复杂并行指令计算CPIC
9. 在载波侦听与总线访问方法上,CSMA/CD类似( )CSMA协议。

A.1-坚持式
B.非坚持式
C.P-坚持式
D.都不是
10.在Cisco路由器上进行SNMP设置时,如果团体名为admin,访问权限为只读,那么正确的配置语句是()。

二、填空题(10题)
11. 根据网络总体设计中物理拓扑设计的参数,确定以下两个主要数据:网络中最多可能有的子网数量、网络中最大网段已有的和可能扩展的_________数量。

12.
13. X.800安全框架主要包括:安全攻击、安全机制和安全。

14. 在软磁盘存储器中,软磁盘适配器是______。

15.
16. 以太网帧结构由前导码、帧前定界符、目的地址字段、源地址字段、类型字段、______和帧校验字段几个部分组成。

17. 时移电视和直播电视的主要区别是______。

18.(7)传感器、_________ 和观察者构成传感器网络的3个要素。

19. MPEG压缩标准包括MPEG______、MPEG音频和MPEG系统三个部分。

20.子网编址将IP地址的主机号部分进一步划分成和主机号两部分。

三、2.填空题(8题)
21. 如果一个Web站点利用IIS来建设,当Web站点的内容位于NTFS 分区时,可以通过______限制、用户限制、Web权限和NTFS权限对它进行访问控制。

22. 1983年,ARPANET向TCP/IP的转换全部结束,同时美国国防部将其分为两个部分:ARPANET与______,前者已经退役,后者还在运行。

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

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

24. 如果—个Web站点利用IIS建立在NTFS分区,那么可以通过IP地址限制、【】限制、Web权限和NTFS权限对它进行访问控制。

25. 如果路由表中没有包含到某一特定网络或特定主机的路由,路由选择例程就可以将数据报发送到______上。

26. 常用的网络管理协议有【】、公共管理信息服务/协议(CMIS/CMIP)和局域网个人管理协议(LMMP)。

27. 网络管理的5大功能是配置管理、性能管理、【】、安全管理和计费管理。

28. 有一条指令用二进制表示为1100110100100001,用十六进制表示为【】。

四、C语言程序设计题(2题)
29. 函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar,按给定的替代关系对数组
xx中的所有字符进行替代,仍存入数组xx对应的位置上,最后调用函数WriteDat把结果xx输出到文件out.dat中。

替代关系:f(p)=p*13 mod 256,mod为取余运算,P是数组xx中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或是偶数,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。

请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

30.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把千位数字和十位数字重新组成一个新的含有两位数字的数ab(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的含有两位数字的数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个数ab<cd,ab必须是奇数且不能被5整除,cd必须是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的
四位数的个数cnt。

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

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

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

五、1.选择题(3题)
31. 在Internet上进行通信时,为了标识网络和主机,需要给它们定义唯一的______。

A.主机名称
B.服务器标识
C.IP地址
D.通信地址
32. 批处理操作系统提高了计算机的工作效率。

下列关于批处理操作系统的叙述中,正确的是______。

A.用户不能直接干预其作业的执行
B.批处理操作系统的系统资源利用率不高
C.批处理操作系统的系统吞吐量最小
D.批处理操作系统不具备并行性
33. 黑客通过建立隐蔽通道来窃取敏感信息,属于( )。

A.破坏数据完整性
B.信息泄露或重放
C.拒绝服务
D.非授权访问
六、1.程序设计题(3题)
34. 已知数据文件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>
#define MAX 200
int a[MAX], b[MAX], cnt = 0;
void jsVal()
{
}
void readDat()
{
int i;
FILE *fp;
fp = fopen("IN1.DAT", "r");
for(i = 0; i <MAX; i++) fscanf(fp, "%d", ia[i]);
fclose (fp);
}
main ( )
{
int i;
readDat ();
jsVal ();
printf("满足条件的数=%d\n", cnt);
for(i = 0; i <cnt; i++) printf("%d ", b[i]);
printf ("\n");
writeDat ();
}
writeDat ( )
{
FILE *fp;
int i;
fp = fopen("OUT1.DAT", "w");
fprintf(fp, "%d\n", cnt);
for(i = 0; i <cnt; i++) fprintf(fp, "%d\n", b[i]);
fclose (fp);
}
35. 已知数据文件1N56.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数isVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数(新十位数的十位数字是原4位数的个位数字,新个位数的个位数字是原4位数的百位数字),如果新组成的两个十位数均为素数且新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足亡述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT56.DAT文件中。

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

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

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

试题程序:
#include<stdio . h>
#define MAX 200
int a[MAX] ,b[MAX] ,cnt=0;
int isprime(int m)
{
int i;
for (i=2; i<=m/2 ;i++)
if(re%i==0) return 0;
return 1;
}
void jsVal()
{
}
void readDat ( )
{
int i;
FILE rfp;
fp= fopen (" IN56. DAT", "r" );
for (i=0; i<MAX; i++)
fscanf (fp, "%d", &a [i] );
fclose (fp);
}
main ( )
{
int i;
readDat ();
jsVal ();
printf ("满足条件的数=%d\n", cnt); for (i=0; i<cnt; i++)
printf ("%d\n", b [i] ;
printf ("kn'');
writeDat ();
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ("OUT56. DAT", "w"); fprintf (fp, "%d\n", cnt);
for (i=0; i<cnt; i++)
fprintf(fp, "%dkn",b[i]);
fclose (fp);
}
36. 下列程序的功能是:把s字符串中所有的字符左移一个位置,串中的第一个字符移到最后。

请编制函数chg(char*s)实现程序要求,最后调用函数readwriteDat()把结果输出到out63.dat文件中。

例如:s字符串中原有内容为Mn,123xyZ,则调用该函数后,结果为n,123xyZM。

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

请勿改动主函数main()和输入输出函数readwriteDAT()的内容。

试题程序:
#include<conio. h>
#include<stdio. h>
#define N 81
void readwriteDAT();
void chg(char *s)
{
}
main ( )
{
char a [N];
clrscr ();
printf("Enter a string :");
gets (a);
printf("The original string is :");
puts (a);
chg (a);
printf("The string after modified :");
puts (a);
readwriteDAT ( );
}
void readwriteDAT()
{ int i;
char a [N];
unsigned char *p;
FILE *rf,*wf;
rf=fopen ("in63.dat", "r");
wf=fopen ("out63.dat", "w");
for (i=0; i<10;i++)
{ fgets (a, 80, rf);
p=strchr (a, ' \n' );
if(p) *p=0;
chg (a);
fprintf (wf, "%s\n", a);
}
fclose(rf);
fclose (wf);
}
参考答案
1.CIEEE 80
2.11b标准使用的是开放的2.4GHz频段,无须申请就可直接使用。

因此选项C错误。

2.B
3.B
4.C
5.B解析:中断机制是现在计算机设施中的基本设施之一。

它在系统中起着通信联络的作用,以协调系统对各种外部资源的相应和处理.一般将中断源分为两类:即强迫性中断和自愿性中断。

自愿性中断是正在运行程序时有意识安排的,通常由程序员在编制程序时,因要求操作系统提供服务而有意识使用访管指令或系统调用,从而导致中断的。

而强迫性中断是正在运行的程序所不期望的,它们是否发生,何时发生都无法预料。

这类中断大致有以下几种:①输入/输出中断是来自通道或各种外
部设备的中断,用以反馈通道或设备的工作状况;②硬件故障中断是机器发生错误时的中断,用以反馈硬件在执行过程中出现的故障;③时钟中断是硬件或软件时钟到时引起的中断;④程序性中断是因运行过程中的问题所引起的中断,用于反馈程序执行过程中出现的意外情况,如目态下执行特权指令、地址越界、虚拟存储中的缺页等。

因此地址越界中断属于强制中断中的程序性中断,本题正确选项为B。

6.D解析:TCP协议是一种可靠的面向连接的协议,它允许将一台主机的字节流(Byte Stream)无差错地传到目的主机,TCP协议将应用层的字节流分成多个字节段(Byte Segment),然后将一个一个的字节段传送到互联层,发送到目的主机。

当互联层接收到的字节段传送给传输层时,传输层再将多个字节段还原成字节流传送到应用层。

TCP协议同时要完成流量控制功能,协调收发双方的发送与接收速度,达到正确传输的目的。

7.B
图中已经被解析成了72.5.124.61,显然DNS服务器工
作正常。

在第一次转发到202.113.64.129,转发后无法ping通
202.113.64.129,意味着对该路由器存在访问控制,所以此题选B。

8.C解析:安腾,采用了超越CISC与RISC。

的最新设计理念EPIC,即简明并行指令计算技术。

它基于推理、预测、简明并行性等创新特性,实现了更高的指令级的并行性,使安腾能同时完成20个操作或交易,从而能够提供高端企业级用户所需要的服务器性能。

9.A解析:CSMA/CD类似1-坚持CSMA,发送前监听信道,忙则不发
送,等到空闲时再发,而且发送以后还要继续监听信道,这样进一步减少冲突。

10.C配置团体名:snmp—servercommunity团体名{view视阈名roIrw}[访问控制表号]。

团体名为admin,只读为ro,访问控制表号可以省,根据语法结构,故选C选项。

11.\n主机或host
\n
12.可信站点区域
【解析】为了保护用户的计算机免受非安全软件的危害,浏览器通常将Internet世界划分成几个区域(例如Internet区域、本地Internel区域、可信站点区域、受限站点区域等),用户可以针对每个区域指定浏览器处理下载程序和文件的方式,并将要访问的Web站点按其可信度分配到不同的区域。

13.服务服务解析:国际电信联盟(ITU—T)推荐方案X.800,即OSI安全框架。

OSI框架主要关注3部分:安全攻击、安全机制和安全服务。

14.软盘驱动器与CPU进行信息交换的通道口软盘驱动器与CPU进行信息交换的通道口解析:软磁盘存储器主要有软磁盘、软盘驱动器和软磁盘适配器组成。

软磁盘适配器是CPU与软盘驱动器进行信息交换的通道口。

15.通信线路
16.数据字段数据字段解析:以太网帧结构由以下几个部分构成:①前导码与帧前定界符字段;②目的地址和源地址字段;③类型字段;④数
据字段;⑤帧校验字段。

17.传输方式的差异。

传输方式的差异。

解析:直播电视通过组播方式实现直播电视的功能。

时移电视采用点播的方式为用户实现时移电视的功能。

18.感知对象
【解析】传感器、感知对象和观察者构成传感器网络的3个要素。

19.视频视频解析:MPEG是ISO/IEC委员会的第111 72号标准草案,包括MPEG视频、MPEG音频和MPEG系统三部分。

20.子网号为了更有效地利用IP地址空间,IP网络进行了进一步的子网划分,将主机号部分细分为子网号和主机号两部分。

IP协议规定,无论是子网号还是主机号,至少要通过2位来表示。

因此,在B类网络中最多只能用14位来创建子网。

21.IP地址限制IP地址限制解析:当Web站点使用IIS来建设时,当Web站点内容位于NTFS分区时,有4种方法可以限制用户访问Web 站点中提供的资源:IP地址限制、用户验证(用户限制)、Web权限和NTFS权限。

NETMILNET 解析:1983年,ARPANET向TCP/IP的转换全部结束,同时美国国防部将其分为两个部分。

一部分仍叫ARPANET,用于进一步的研究工作;另一部分稍大些,称为著名的MILNET,用作军方的非机密通信。

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

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

24.用户用户解析:如果一个Web站点利用IIS建立在NTFS分区,那么可以通过IP地址限制、用户限制、Web权限和NTFS权限对它进行访问控制。

25.默认路由默认路由解析:默认路由是一个特殊的路由,当路由表中找不到目标路由时,就将数据报转发到该默认路由。

26.简单网络管理协议(SNMP)简单网络管理协议(SNMP) 解析:现在常用的网络管理协议有3种:简单网络管理协议(SNMP)、公共管理信息服务/协议(CMIS/CMIP)和局域网个人管理协议(LMMP)。

27.故障管理故障管理解析:网络管理的5大功能是配置管理、性能管理、故障管理、安全管理和计费管理。

28.CD21CD21 解析:1100/1101/0010/0001,分别对应的16进制为C/D/2/1,转化后得CD21。

29.【审题关键句】字符替代f(p)=p*13 mod 256,小于等于32或ASCII 码是偶数不变,否则替换。

\n【解题思路】
\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。

\n【参考答案】
\n
30.【审题关键句】千位+十位与个位+百位,比较大小,整除,奇偶数判断,从大到小排序。

【解题思路】
\n本题类似第24套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,体现在3个方面:新组合的第一个数小于第二个数,可通过比较运算符进行判断;整除关系的判断以及奇偶数的判断,可通过求余运算符(%)进行判断。

参考答案的第l0条语句,可集中修改该条件语句符合题目的要求。

\n【参考答案】
\n
31.C解析:Internet上的计算机与网上其他每一台计算机都存在一条潜在的连接。

为了唯一标识连接到Internet上的不同计算机,需给每一台计算机分配一个特定的数字地址,它像电话号码一样用数字编码表示,占4字节(第二代Internet改为16字节)。

通常显示的地址格式是用圆点分隔的4个十进制数字,每一个十进制数都在0~255之间。

32.A解析:本题考查点是批处理操作系统。

批处理系统的特点是:①多道——在内存中同时存放多个作业,使之同时处于运行状态的系统,这些作业共享CPU和外部设备等资源;②成批——用户和他的作业之间没有交互性。

用户自己不能干预自己作业的运行,一旦发现作业错误不能及时改正。

批处理系统的目的是提高系统吞吐量和资源利用率。

宏观上,批处理操作系统具备并行性。

33.B解析:本题考查信息安全基本威胁。

这是信息泄露或重放,是对信息机密性的威胁。

34.void jsVal() { int bb[4]; int ijkflag; for (i=O; i<200;i++) { bb[0]=a[i]/1000; /*求四位数的千位数字*/ bb[1]=a[i]%1000/100; /*求
四位数的百位数字*/ bb[2]=a[i]%100/10; /*求四位数的十位数字*/ bb[3]=a[i]%10; /*求四位数的个位数字*/ for (j=0;i<4;i++) { if (bb[j]%2==0) /*如果各位上的数字均是0或2或4或6或8*/ flag=1; /*则置标志位flag为1*/ else(flag=O;break;) /*否则置flag为0退出循环*/ } if(flag==1) /*将满足条件的数存入数组b中并统计满足条件的个数cnt*/ {b[cnt]=a[i];cnt++;) } for(i=O;i<cnt-1;i++) /*把数组b中的数按从大到小的顺序排序*/ for(j=i+1;i<cnt;i++) if (b[i]<b[j])
{k=b[i];b[i]=b[j];b[i]=k;) }void jsVal()\r\n {\r\n int bb[4];\r\n int i,j,k,flag;\r\n for (i=O; i<200;i++)\r\n {\r\n bb[0]=a[i]/1000; /*求四位数
的千位数字*/\r\n bb[1]=a[i]%1000/100; /*求四位数的百位数字*/\r\n bb[2]=a[i]%100/10; /*求四位数的十位数字*/\r\n bb[3]=a[i]%10; /*求四位数的个位数字*/\r\n for (j=0;i<4;i++)\r\n {\r\n if (bb[j]%2==0) /*如果各位上的数字均是0或2或4或6或8*/\r\n flag=1; /*则置标志位flag 为1*/\r\n else(flag=O;break;) /*否则置flag为0,退出循环*/\r\n }\r\n if(flag==1) /*将满足条件的数存入数组b中,并统计满足条件\r\n 的个数cnt*/\r\n {b[cnt]=a[i];cnt++;)\r\n }\r\n for(i=O;i<cnt-1;i++) /*把数组b中的数按从大到小的顺序排序*/\r\n for(j=i+1;i<cnt;i++) \r\n if (b[i]<b[j])\r\n {k=b[i];b[i]=b[j];b[i]=k;)\r\n } 解析:根据题意可知,函数JsVal()要实现两个功能:一是找出满足条件的那些数,并存放在数组b中;二是对数组b中的数进行从大到小的排序。

首先来实现找出各位上的数字均是0或2或4或6或8”(即每一位上的数字都是偶数)的位数的功能。

利用一个for循环来不断从数组a中取出4位数,并对取出的数进行条件判断。

由于这里涉及到要对位数的每一
位进行判断,因此,要借助数组bb来临时存放取得的每一位上的数字值,“bb[0]=a[i]/1000;bb[1]=a[i]%1000/100;bb[2]=a[i]%100/10;bb[3]=a[i]%10;”这4条语句就可以完成在数组bb中依次存放当前被判断的4位数的位上的数字值、百位上的数字值、十位上的数字值,以及个位上的数字值。

之后,对所得该数的每一位的值进行是否为偶数的判断,只要有一位上的数字是偶数,就使标志变量flag的值置1,否则为0,这样最终根据flag的值来决定是否要放到数组中去,变量cnt用来统计数组bb中元素的个数。

将所有满足条件的数取出后利用选择法对其进行排序,即用当前元素依次和它后面的元素进行比较,发现有大于该数的数,就将这两数进行交换。

35.void jsVal() { int i thou hun ten data j; int ab cd; for (i=0; i<200; i++) { thou=a [i]/1000; /*求四位数的千位数字*/ hun=a [i] %1000/100; /*求位烽的百位数字*/ ten=a [i] %10 0 / 10; /*求四位数的十位数字*/ data=a [i] %10; /*求四位数的个位数字*/ ab= 10 *thou+ ten; /*把千位数字和十位数字重新组合成一个新的十位数*/ cd=lO*data+hun; /*把个位数和百位数组成另一个新的十位数*/ if (isprime (ab)&&isprime (cd)&&ab ! =O&&cd! =0) /*如果新组成的两个十位数均为素数且新十位数字均不为零*/ { b[cnt]=a[i]; /*把满足条件的数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for (i=O; i<cnt-1; i++) /*将满足此条件的4位数按从大到小的顺序存入数组b中*/ for (j=i+l; j<cnt; j++) if(b[i]<b[j])
{ data=b[i]; b[i]=b[j]; b [j] =data; }void jsVal()\r\n {\r\n int i, thou, hun, ten, data, j;\r\n int ab, cd;\r\n for (i=0; i<200; i++)\r\n {\r\n thou=a
[i]/1000; /*求四位数的千位数字*/\r\n hun=a [i] %1000/100; /*求位烽的
百位数字*/\r\n ten=a [i] %10 0 / 10; /*求四位数的十位数字*/\r\n data=a [i] %10; /*求四位数的个位数字*/\r\n ab= 10 *thou+ ten; /*把千位数字和十位数字重新组合成一个新的十位数*/\r\n cd=lO*data+hun; /*把个位数和百位数组成另一个新的十位数*/\r\n if (isprime (ab)&&isprime (cd)&&ab ! =O&&cd! =0)\r\n /*如果新组成的两个十位数均为素数且新十位数字均不为零*/\r\n {\r\n b[cnt]=a[i]; /*把满足条件的数存入数组b 中*/\r\n cnt++; /*统计满足条件的数的个数*/\r\n }\r\n }\r\n for (i=O; i<cnt-1; i++) /*将满足此条件的4位数按从大到小的顺序存入数组b中*/\r\n for (j=i+l; j<cnt; j++)\r\n if(b[i]<b[j])\r\n { data=b[i];\r\n b[i]=b[j];\r\n b [j] =data;\r\n } 解析:本题考查的知识点如下:
(1)将4位数各位亡的数拆分为独立的数字。

(2)循环结构的使用。

(3)判断结构中多个条件的布尔运算。

在本题中,首先要将4位数各位上的数字拆分为独立的数字。

这要借助运算符“%” (取余)与“/” (整除)。

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

求得各位上的数字后,就可以重新组合进行比较。

题中已给出判断素数的函数,只要带入求出数据即可。

各条件必须同时满足,所以用“与”运算。

题中要求将符合条件的数按从大到小的顺序存入数组b,可以先将符合条件的数存入数组b,再对数组b进行排序。

排序使用“选择排序法”。

36.void chg(char *s) { int istrl; char ch; strl=strlen (s); /*求字符串的长度*/ ch=*s; /*将第一个字符暂赋给ch* / for (i=O; i<strl-1; i++) /*将字符依次左移*/ *(s+i) =* (s+i+l); * (s+strl-1) =ch; /*将第一个字符移到最后*/ }void chg(char *s)\r\n {\r\n int i,strl;\r\n char ch;\r\n strl=strlen (s); /*求字符串的长度*/\r\n ch=*s; /*将第一个字符暂赋给ch* /\r\n for (i=O; i <strl-1; i++) /*将字符依次左移*/\r\n *(s+i) =* (s+i+l);\r\n * (s+strl-1) =ch; /*将第一个字符移到最后*/\r\n } 解析:本题考查的知识点如下:
(1) 数组中元素的移动。

(2) 指针的使用。

我们可以使用一个循环实现数组中所有字符元素的左移。

这里要注意的足第1个字符要移至最后1个字符处,所以首先要将第1个字符保存。

在移动时,要从左到右依次移动,否则,左侧的字符会在移动前被其右侧的字符覆盖。

在这里使用了指针,初始时,指针指向数组的第1个元素,随着地址的增加指针指向数组后面的元素。

例如,若地址加2,。

相关文档
最新文档