admin 管理员组文章数量: 1184232
2023年12月19日发(作者:sql中drop)
(2022年)安徽省六安市全国计算机等级考试网络技术模拟考试(含答案)
学校:________ 班级:________ 姓名:________ 考号:________
一、单选题(10题)
1.解释程序的作用是( )。
A.将高级语言转换为目标程序 B.将汇编语言转换为目标程序 C.解释执行高级语言程序 D.解释执行汇编语言程序
2.第 17 题 在局域网中,最常用的传输介质是( )。
A.双绞线 B.同轴电缆 C.光缆(光导纤维) D.无线通信
3.下面关于主板的描述中,错误的是( )。
A.按芯片集分类有奔腾主板、AMD主板
B.按主板的规格分类有AT主板、ATX主板
C.按CPU插座分类有Slot主板、Socket主板
D.按数据端口分类有SCSI主板、EDO主板
4.下列不属于Windows Server 2003系统下DNS服务器的参数是()。
A.作用域 B.资源记录 C.正向查找区域 D.反向查找区域
5.下列关于RPR技术的描述中,正确的是()。
能够在30ms内隔离出现故障的节点和光纤段
B.两个RPR节点之间的裸光纤最大长度为lOkm
的内环用于传输数据分组,外环用于传输控制分组
环中每一个节点都执行SRP公平算法
6.
7.下列关于光以太网技术特征的描述中,错误的是()
A.能够根据用户的需求分配带宽
B.以信元为单位传输数据
C.具有保护用户和网络资源安全的认证和授权功能
D.提供分级的QoS服务
8.资源子网的主要组成单元是( )。
A.计算机硬件 B.主机 C.服务器 D.信息资源
9.
10.
二、填空题(10题)
11.通信终端间常用的数据传输方式有单工、半双工和3种。
12. 通过经营电子支付的银行进行电子支付的过程中,需要发出或者接收【 】。
13.
14. 自治系统之间的路由选择使用的是_________协议。
15.(9)操作系统必须提供一种启动进程的机制,在DOS中,该机制就是EXEC函数。在Windows和OS/2中启动进程的函数是 ___________。
16.
17.(6)对于打开的文件其惟一的识别依据是_______ 。
18. 以太网帧结构由前导码、帧前定界符、目的地址字段、源地址字段、
类型字段、______和帧校验字段几个部分组成。
19.
20.(16)在X. 800中将安全攻击分为两类:被动攻击和___________。
三、2.填空题(8题)
21. 搜索引擎是Internet上的一个【 】。
22. 在网络管理中,______功能域监视网络吞吐率、利用率、错误率和响应时间等参数。
23. 电子现金可以存储在智能型IC支付卡上,也可以以数字形式存储在现金文件中,该现金文件就形成了一个【 】。
24. Solaris 10操作系统获得业界支持,它的桌面已经窗口化和菜单化。新的______界面使人感觉亲近而且舒适。
25. 电子商务中的数字签名通常利用公开密钥加密方法实现,其中发送者签名使用的密钥为发送者的【 】。
26. 实现EDI的基础和必要条件是______。
27. 主机通过高速______与通信控制处理机相连接。
28. 在WWW服务中,统一资源定位器URL可以由三部分组成,即【 】、主机名与文件名。
四、C语言程序设计题(2题)
29. 已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一函数jsValue,其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。最后main函数调用写函数writeDat把数组 b中的数输出到文件out.dat。
例如:1239,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。
8129,9-8-1-2<0,则该数不满足条件忽略。
注意:部分源程序存在test.c文件中。
程序中已定义数组:a[300],b[300],已定义变量:cnt
请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。
30.函数Rdata实现从文件in.dat中读取一篇英文文章,存入到字符串数组string中,请编写函数charRight,其函数的功能是:以行为单位把字符串中的最后一个字符的ASCII值右移4位后加倒数第二个字符的ASCII值,得到最后一个新的字符,倒数第二个字符的ASCII值右移4位后加倒数第三个字符的ASCII值,得到倒数第二个新的字符,依此类推,一直处理到第二个字符,第一个字符的ASCII值加原最后一个字符
的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后已处理的字符串仍按行重新存入字符串数组string中,最后调用函数Wdata,把结果string输出到文件out.dat中。
原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。
注意:部分源程序已经给出。
请勿改动主函数main、读函数Rdata和写函数Wdata的内容。
五、1.选择题(3题)
31. 计算机网络分为 ______。
A.广域网、城域网、因特网 B.广域网、局域网、因特网 C.广域网、城域网、局域网 D.局域网、城域网、因特网
32. 下面说法正确的是( )。
A.从网络拓扑结构上说CSMA/CD与Token Ring是针对星形拓扑结构的局域网设计的
B.从网络拓扑结构上说CSMA/CD与Token Ring是针对总线拓扑结构
的局域网设计的
C.从网络拓扑结构上说CSMA/CD与Token Bus是针对总线拓扑结构的局域网设计的
D.从介质访问控制方法的性质角度看,CSMA/CD与Token Bus都属于随机型介质控制方法
33. IEEE802.1标准主要包括哪些内容( )。Ⅰ、局域网体系结构Ⅰ、网络互联Ⅰ、网络管理Ⅰ、性能测试
A.仅Ⅰ和Ⅰ B.仅Ⅰ、Ⅰ和Ⅰ C.仅Ⅰ和Ⅰ D.全部
六、1.程序设计题(3题)
34. 已知数据文件中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数isVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数(新十位数的十位数字是原4位数的个位数字,新个位数的个位数字是原4位数的百位数字),如果新组成的两个十位数均为素数且新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足亡述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到文件中。
注意:部分源程序己给出。
程序中已定义数组: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 ("满足条件的数=%dn", cnt);
for (i=0; i<cnt; i++)
printf ("%dn", b [i] ;
printf ("kn'');
writeDat ();
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ("OUT56. DAT", "w");
fprintf (fp, "%dn", cnt);
for (i=0; i<cnt; i++)
fprintf(fp, "%dkn",b[i]);
fclose (fp);
}
35. 已知数据文件中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到文件中。
注意:部分源程序已给出。
程序中已定义数组: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( "","r");
for (i=0; i<MAX; i++)
fscanf(fp, "%d",&a[i]);
fclose (fp);
}
void main()
{
int i;
readDat ();
jsVal ();
printf ("满足条件的数=%dn", cnt);
for (i=0; i<cnt; i++)
printf ("%dn",b [i]);
writeDat ();
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ("", "w");
fprintf (fp, "%dn", cnt);
for(i=0; i<cnt; i++)
fprintf(fp, "%dn",b [i]);
fclose (fp);
}
36. 函数ReadDat()的功能是实现从文件中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置
上,最后调用函数WriteDat()把结果xx输出到文件中。
替代关系:f(p)=p*11mod256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。
注意:部分源程序已给出。
原始数据文件存放的格式是:每行的宽度均小于,80个字符。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
unsigned char xx[50][80];
int maxline = 0;/* 文章的总行数 */
int ReadDat (void);
void WriteDat(void);
void encryptChar()
{
main ( )
{
clrscr ();
if (ReadDat ())
{
printf ("数据文件不能打开! n007");
return;
}
encryptChar ();
WriteDat ();
}
int ReadDat (void)
{
FILE *fp;
int i = 0;
unsigned char *p;
if((fp = fopen("", "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;
fp = fopen("", "w");
for(i = 0; i < maxline; i++)
{
printf("%sn", xx[i]);
fprintf(fp, "%sn", xx[i]);
}
fclose (fp);
}
参考答案
1.C
2.A局域网常用的传输介质有:同轴电缆、双绞线、光纤与无线通信信道。早期应用最多的是同轴电缆,但随着技术的发展,双绞线与光纤的应用发展十分迅速。尤其是双绞线,目前已能用于数据传输速率为l00Mbps、1Gbps的高速局域网中,因此引起了人们的普遍关注。
3.A解析:主板分类方法很多,按照不同的标准就有不同的说法,其中容易混淆的有:①按照芯片集可分为TX、LX、BX主板等。②按主板的规格可分为AT、Baby-AT、ATX主板等。⑧按CPU插座可分为Socket7、Slot1主板等。④按数据端口可分为SCSI、EDO、AGP主板等。
服务器配置的主要参数:n(1)正向查找域(将域名映射到IP地址数据库,用于将域名解析为IP地址)。n(2)反向查找域(将IP地址映射到域名数据库,用于将IP地址解析为域名)。n(3)资源记录(区域中的一组结构化记录,包括主机地址资源记录、邮件交换器资源记录和别名资源记录)。n(4)转发器(本地DNS服务器用于将外部DNS名称的DNS查询转发给该DNS服务器)。因此A选项不是DNS服务器参数。
(:Resillent:Packet Ring)采用自愈环的设计思想,能够在50ms的时间内,隔离出现故障的节点和光纤段。RPR.环中每一个节点都执行SRP公平算法,两个RPR节点之间的裸光纤最大长度为100km。RPR的内环与外环都可以传输数据分组与控制分组。故选择D选项。
6.C7.B
8.B解析:主计算机系统称为主机,它是资源子网的主要组成单元,通过高速通信线路与通信子网的通信控制处理机相连接。
9.A10.C
11.全双工通信终端间常用的数据传输方式有单工、半双工和全双工3种,如图所示。
rn
rn
— 单工就是单向传输,传统的电视、电台就是单工传输。单工传输能够节约传输的成本,但是没有交互性。目前,传统的电视正向可以点播的网络电视方向发展,因此必须对单工传输的有线电视网络进行改造才能满足点播的需要。
— 半双工的传输可以传输两个方向的数据,但是在一个时间段内只能接收一个方向的数据。许多对讲机使用的就是半双工方式,当一方按下按钮说话时,将无法听见对方的声音。这种方式也称为双向交替。对于数字通道,如果只有一条独立的传输通道,那么就只能进行半双工传输。对于模拟通道,如果接收方和发送方使用同样的载波频率,那么它也只能使用半双工的传输方式。
— 全双工意味着两个方向的传输能够同时进行,电话是典型的全双工通信。要实现全双工通信,对于数字通道,必须要有两个独立的传输路径。对于模拟通道,如果没有两条独立的路径,但双方使用的载波频率不同,那么也能够实现全双工通信。另外,还有一种回声抵消的方法可以用于实现全双工通信。
12.电子单证电子单证 解析:现代工商企业活动都和一定的单证相联系。如果没有相关单证的流通,各种经济活动就不能进行。在进行电子商务的过程中,传统意义上的单证就被电子单证所取代。
13.
14.n域间路由选择或intra-domain routing或 IDR
n
15.(9) CreateProcess 【解析】操作系统必须提供一种启动进程的机制。在DOS中,该机制就是EXEC函数。在Windows中启动进程的函数是CreateProcess,它的代码存储在操作系统的内核里,即在KERNEL32.DLL文件中。
16.
17.(6)句柄
【解析】对于打开的文件其惟一的识别依据是句柄。
18.数据字段数据字段 解析:以太网帧结构由以下几个部分构成:①前导码与帧前定界符字段;②目的地址和源地址字段;③类型字段;④数据字段;⑤帧校验字段。
19.
20.(16)主动攻击
【解析】在x.800中将安全攻击分为两类:被动攻击和主动攻击。被动攻击试图了解或利用系统的信息,但不影响系统资源。主动攻击试图改变系统资源或影响系统工作
服务器WWW服务器 解析:搜索引擎的主要任务是在Internet中主动搜索其他WWW服务器中的信息并对其自动索引,将索引内容存储在可供查询的大型数据库中。用户可以利用搜索引擎所提供的分类目录和查询功能来查找所需要的信息,由此可见,搜索引擎是Internet
上的一个WWW服务器。
22.性能管理性能管理 解析:性能管理使网络管理人员能够监视网络运行的关键参数,如吞吐率、利用率和错误率等。
23.电子钱包电子钱包 解析:使用电子现金进行电子支付活动中,买方使用自己的计算机通过网络访问银行的电子现金生成器,将部分或全部现金取出,以加密文件形式存入计算机硬盘。这样,该计算机硬盘中的现金文件就形成了一个电子钱包。
控制台Java控制台 解析:Solaris10操作系统获得业界支持,它的桌面已经窗口化和菜单化。新的Java控制台界面使人感觉亲近和舒适。
25.私钥私钥 解析:本题考查点是电子商务中利用公开密钥体制实现数字签名的方法。电子商务中的数字签名(digital,ignature)通常利用公开密钥加密方法来实现。数字签名是保证数据完整性和不可否认性的必要手段。这种情况下,发送者使用自己的私有密钥对数据进行加密,接收者则使用发送者已公开的公用密钥对该“数字签名”施行“解密”。目前公开密钥加密体制中的典型代表是RSA(Rivets Shamir Adleman)算法。RSA由3个发明者的名字组合而成。RSA算法不仅可以用数字签名,还可以用于数据加密。
26.电子数据处理EDP电子数据处理EDP 解析:EDP主要是指企业内部自身业务的自动化,而EDI则是各企业之间交往的自动化,前者是后者的基础和必要条件。
27.通信线路通信线路 解析:主机是资源子网的主要组成单元,它通过
高速通信线路与通信子网的通信控制处理机相连接。
28.协议类型协议类型 解析:在WWW服务中,统一资源定位器URL由协议类型、主机名与文件名三部分组成。
29.【审题关键句】个位-千位-百位-十位数大于零的个数,把所有满足此条件的数依次存入数组,按从大到小的顺序排序。
n【解题思路】
n本题类似第9套试题,通过审题可以发现有两个不同点:①要求统计的四位数的条件是“个位-千位-百位-十位数大于零的个数”,参考答案的第8条语句修改if语句的判断条件即可。②将统计结果按从大到小的顺序排序,参考答案的第13条语句,修改两数组元素的大小比较符即可。另外,对于数据交换的整型变量tmp可以自定义其变量名。
n【参考答案】
n
30.【审题关键句】以行为单位,新字符串中每个字符的ASCII码值等于该位置上的原字符ASCII码值的二进制右移4位后加其前一个字符的ASCII码值。
n【解题思路】
n①定义整型循环变量i、j和表示字符串长度的整型变量strl,以及字符局部变量ch。
n②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于maxline,在循环体中,利用库函数strlen求得字符串string[i]的长度,把此值赋给变量strl。把字符串string[i]的最后一个字符string[i][strl-1]
赋给字符变量ch,暂时保存起来。在第二层for循环中,循环变量j从str-1开始,依次递减直到其值小于或等于0,在循环体中,字符string[i][j]的ASCII码值右移4位,然后再与字符string[i][j-1]的ASCII码值相加的和保存到字符string[i][j]中。当退出第二层for循环后,把第 i行的第一个字符string[i][0]与最后一个字符ch的值相加,保存在string[i][0]中。
n【参考答案】
n
31.C解析:如果按网络所覆盖的范围分类,计算机网络可分为广域网、缄域网和局域网三类。广域网一般覆盖几十千米以上的广大地区。局域网一般覆盖10km左右以内的一个独立的单位或区域。城域网一般在十几到几十千米范围内建立高速数据通信网络,以连接一个城市大小区域内的多个局域网络。
32.C解析:CSMA/CD与Token Bus都是针对总线拓扑的局域网设计的,而Token Ring是针对环形拓扑的局域网设计的。CSMA/CD属于随机型介质访问控制方法,而Token Bus、Token Ring则属于确定型介质访问控制方法。
33.D解析:IEEE 802委员会为局域网制定了一系列标准,统称为IEEE
802标准,其中IEEE 802.1标准包括了局域网体系结构、网络互连,以及网络管理与性能测试。
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()rn {rn int i, thou, hun, ten,
data, j;rn int ab, cd;rn for (i=0; i<200; i++)rn {rn thou=a [i]/1000; /*求四位数的千位数字*/rn hun=a [i] %1000/100; /*求位烽的百位数字*/rn
ten=a [i] %10 0 / 10; /*求四位数的十位数字*/rn data=a [i] %10; /*求四位数的个位数字*/rn ab= 10 *thou+ ten; /*把千位数字和十位数字重新组合成一个新的十位数*/rn cd=lO*data+hun; /*把个位数和百位数组成另一个新的十位数*/rn if (isprime (ab)&&isprime (cd)&&ab ! =O&&cd!
=0)rn /*如果新组成的两个十位数均为素数且新十位数字均不为零*/rn {rn b[cnt]=a[i]; /*把满足条件的数存入数组b中*/rn cnt++; /*统计满足条件的数的个数*/rn }rn }rn for (i=O; i<cnt-1; i++) /*将满足此条件的4位数按从大到小的顺序存入数组b中*/rn for (j=i+l; j<cnt;
j++)rn if(b[i]<b[j])rn { data=b[i];rn b[i]=b[j];rn b [j] =data;rn } 解析:本题考查的知识点如下:
(1)将4位数各位亡的数拆分为独立的数字。
(2)循环结构的使用。
(3)判断结构中多个条件的布尔运算。
在本题中,首先要将4位数各位上的数字拆分为独立的数字。这要借助运算符“%” (取余)与“/” (整除)。将一个4位数整除1000则叫‘得到其千位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。求得各位上的数字后,就可以重新组合进行比较。题中已给出判断素数的函数,只要带入求出数据即可。各条件必须同时满足,所以用“与”运算。题中要求将符合条件的数按从大到小的顺序存入数组b,可以先将符合条件的数存入数组b,再对数组b进行排序。排序使用“选择排序法”。
35.已知数据文件中存有200个4位数并已调用读函数readDat()把这些数存入数组a中请编制一函数jsVal()其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值百位数字上的值小于等于十位数字上的值以及十位数字上的值小于等于个位数字上的值并且此4位数是偶数则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到文件中。 注意:部分源程序已给出。
程序中已定义数组: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( """r"); for
(i=0; i<MAX; i++) fscanf(fp "%d"&a[i]); fclose (fp); } void main() { int i;
readDat (); jsVal (); printf ("满足条件的数=%dn" cnt); for (i=0; i<cnt; i++)
printf ("%dn"b [i]); writeDat (); } writeDat () { FILE *fp; int i; fp=fopen
("" "w"); fprintf (fp "%dn" cnt); for(i=0; i<cnt; i++) fprintf(fp
"%dn"b [i]); fclose (fp); }已知数据文件中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到文件中。rn 注意:部分源程序已给出。 rn 程序中已定义数组:a[200],b[200],已定义变量:cnt。rn 请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。rn 试题程序:rn #include<stdio.h>rn
#define MAX 200rn int a [MAX] ,b [MAX], cnt=0;rn rn void jsVal()rn
{rn }rn void readDat ( )rn {rn int i;rn FILE *fp;rn
fp=fopen( '','r');rn for (i=0; i<MAX; i++)rn fscanf(fp,
'%d',&a[i]);rn fclose (fp);rn }rn void main()rn {rn int i;rn readDat
();rn jsVal ();rn printf ('满足条件的数=%dn', cnt);rn for (i=0; i<cnt;
i++)rn printf ('%dn',b [i]);rn writeDat ();rn }rn writeDat ()rn {rn
FILE *fp;rn int i;rn fp=fopen ('', 'w');rn fprintf (fp, '%dn',
cnt);rn for(i=0; i<cnt; i++)rn fprintf(fp, '%dn',b [i]);rn fclose (fp);rn }
解析:本题考查的知识点如下:
(1)循环结构的嵌套使用。
(2)运算符“%”及“/”的使用。
(3)选择结构中多个条件的布尔运算。
在本题中,首先要解决的问题是如何将一个4位数的千位、百位、十位、个位拆成独立的数字。这里借助特殊运算符号“%”——取余和、“/”——
整除。将一个4位数整除1000则可得到其千位上的数字,将其除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。千位上的数小于等于百位上的数,百位上的数小于等于十位上的数……这些条件需要同时满足,所以各条件之间要用到“与”运算。最后的排序仍用“选择排序法”。
encryptChar() { int i; char *pf; for (i=O; i<maxline; i++) { pf=xx [i];
/*指针pf指向各行的首地址*/ while (*pf !=0) { if(*pf*11%256>130 ||
*pf*11%256<=32); /*如果广计算后的值小于等于32或大于130*/ /*则该字符不变*/ else *pf=*pf*11%256; /* 否则将所对应的字符进行替代* /
pf++; /*指针pf指向下一个字符*/ } } }void encryptChar()rn {rn int i;rn
char *pf;rn for (i=O; i<maxline; i++)rn {rn pf=xx [i]; /*指针pf指向各行的首地址*/rn while (*pf !=0)rn {rn if(*pf*11%256>130 ||
*pf*11%256<=32);rn /*如果广计算后的值小于等于32或大于130*/rn
/*则该字符不变*/rn elsern *pf=*pf*11%256; /* 否则将所对应的字符进行替代* /rn pf++; /*指针pf指向下一个字符*/rn }rn }rn } 解析:本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行,当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它进行条件判断。根据题意,条件用“if(*pf*11%256>130||*pf*11%256<=32)”语句米实现,如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前的字符乘以11的结果再去与256求余数。处理完毕后,指针去取下一个字符。
如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。
版权声明:本文标题:(2022年)安徽省六安市全国计算机等级考试网络技术模拟考试(含答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1702917574a435913.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论