【2023年】辽宁省朝阳市全国计算机等级考试网络技术真题(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【2023年】辽宁省朝阳市全国计算机等级考试网络技术真题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________
一、单选题(10题)
1.下列关于UNIX操作系统的基本特性,说法错误的是( )。
A.UNIX是一个支持多任务、多用户的操作系统
B.UNIX提供了功能强大的Shell编程语言
C.UNIX的网状文件系统有良好的安全性和可维护性
D.UNIX提供了多种通信机制
2.扫描最基本的步骤是在一定()范围内执行ping扫描以此来确定目标主机是否存活。
A.MAC地址
B.主机域名
C.主机名
D.IP地址
3.第7题下列关于业务子系统的说法中,正确的一条是()
A.各种模式的电子商务系统中的业务子系统是不相同的
B.业务子系统可以单独工作
C.业务子系统中必须包括在线支付子系统
D.业务子系统中必须包括客户留言系统
4.
5.下列关于OSPF协议的描述中,错误的是()。
A.对于规模很大的网络,OSPF通过划分区域来提高路由更新收敛速度
B.每一个OSPF区域拥有一个32位的区域标识符
C.在一个OSPF区域内部的路由器不知道其他区域的网络拓扑
D.在一个区域内的路由器数一般不超过24个
6.Internet Explorer是目前流行的浏览器软件,它的主要功能之一是浏览()
A.网页文件
B.文本文件
C.多媒体文件
D.图像文件
7.ICMP报文类型号为11时表示()。
A.时间戳请求
B.超时
C.目标不可达
D.重定向
8. 如果在通信信道上发送1比特信号所需要的时间是0.001μs,那么信道的数据传输速率为
A.1Mbps
B.10Mbps
C.100Mbps
D.1Gbps
9. 认证(authentication)是防止什么攻击的重要技术?
A.主动
B.被动
C.黑客
D.偶然
10.主板主要组成部分是
A.运算器、控制器、存储器
B.CPU和外设
C.CPU、存储器、总线、插
槽以及电源D.CPU、存储器、插槽以及电源电路
二、填空题(10题)
11. ______层负责错误的确认和恢复。
12.
13.
14.数字签名是笔迹签名的模拟,用于确认发送者的身份,是一个的消息摘要。
15. 即时通信系统一般采用中转模式和______两种通信模式。
16.IP数据报在穿越因特网的过程中有可能被分片。
在IP数据报分片以后,通常由【2】负责IP数据报的重组。
17.DES是一种迭代的分组密码,其输入和输出都是位,使用一个56位的密钥以及附加的8位奇偶校验位。
18.WWW的信组织形式分为:和超媒体(Hypermedia)两种
19.
第70 题因特网的域名结构由TCP/IP协议集中的___________进行定义。
20.
三、2.填空题(8题)
21. 在网络管理的五大要素中,性能管理包括监视和______两大功能。
22. 局域网的网络参考模型对应于OSI参考模型的______和物理层。
23. 有一种攻击不断对网服务系统进行干扰,改变其正常的作业流程,执行无关程序使系统响应减慢甚至瘫痪。
它影响正常用户的使用,甚至使合法用户被排斥而不能得到服务。
这种攻击叫做______。
24. 目前大多数提供公共资料的FTP服务器都提供______,Internet用户可随时访问这些服务器而不需要预先向服务器申请账号。
25. 路由器是构成因特网的关键设备。
按照OSI参考模型,它工作于【】层。
26. 网络操作系统的发展经历了从对等结构向【】结构演变的过程。
27. 在一般网络管理模型中,一个管理者可以和多个______进行信息交换,实现对网络的管理。
28. 由于其高带宽和低时延,______特别适合实时性高质量多媒体节目的发布。
四、C语言程序设计题(2题)
29.已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat把这两个文件中的数存入数组a和b 中,请考生编制一个函数jsVal,实现的功能是依次对数组a和b中的数按条件重新组成一个新数并依次存入数组c中,再对数组c中的数按从小到大的顺序进行排序,最后调用输出函数writeDat把结果C输出到文件out.dat中。
组成新数的条件:如果数组a和b中相同下标位置的数均是奇数,则数组a中十位数字为新数的千位数字,个位数字仍为新数的个位数字,数组b中的十位数字为新数的百位数字,个位数字为新数的十位数字,这样组成的新数并存入数组c中。
注意:部分源程序存在test.c文件中。
程序中已定义:a[100]、b[100]和c[100]。
请勿改动数据文件IN1.DAT和1N2.DAT中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。
30.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat
把这些数存入数组a中,请考生编制一函数isVat,其功能是:如果四位数各位上的数字均是奇数,则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中。
最后main函数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中。
注意:部分源程序存在test.c文件中。
程序中已定义数组:a[200],b[200],已定义变量:cnt
请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat 和写函数writeDat的内容。
五、1.选择题(3题)
31. 下列算法加密速度最慢的是______。
A.RSA
B.3DSE
C.RC5
D.IDEA
32. 下面对于密码分析中,难度最大的是_______。
A.唯密文攻击
B.已知明文攻击
C.选择明文攻击
D.三者难度相当
33. IP数据报具有“生存周期”域,当该域的值为多少时数据报将被丢弃?
A.255
B.16
C.1
D.0
六、1.程序设计题(3题)
34. 已知数据文件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);
}
35. 函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。
请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,
替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)的值小于等于32,则该字符不变,否则将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 ("数据文件ENG9. IN不能打开! \n\007 ");
return;
}
encryptChar();
WriteDat();
}
int ReadDat (void)
{
FILE *fp;
int i= 0;
unsigned char *p;
if ((fp = fopen("ENG9.IN","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("PS9.DAT", "w");
for(i = 0; i <maxline; i++)
{
printf("%s\n", xx[i]);
fprintf(fp, "%s\n", xx[i]); }
fclose (fp);
}
36. 请编制程序,要求:将文件IN91.DAT中的200个整数读入数组xx 中,求出数组xx中奇数的个数cnt1和偶数的个数cnt2,以及数组xx
下标为偶数的元素值的算术平均值pj(保留2位小数),结果cnt1,cnt2,pj输出到out91.dat中。
部分程序、读函数read_dat(int xx[200])及输出格式已给出。
试题程序:
#include<conio.h>
#include<stdio.h>
#define N 200
void read_dat (int xx[N])
{
int i,j;
FILE *fp;
fp=fopen ("IN91.DAT", "r");
for (i=0;i<20;i++)
{
for (j=0; j<10; j++)
{
fscanf (fp, "%d, ", &xx [i*10+j]);
printf ("%d", xx [i*10+j]);
}
printf ("\n");
}
fclose (fp);
}
void main ()
{
int cnt1,cnt2,xx[N];
float pj;
FILE *fw;
int i, k=0;
long j;
clrscr ();
fw=fopen ("out91.dat", "w");
read_dat (xx);
printf ("\n\ncnt1=%d, cnt2=%d,pj=%6.2f\n", cnt1, cnt2, pj);
fprintf (fw, "%d\n%d\n%6.2f\n", cnt1, cnt2,pj);
fclose (fw);
参考答案
1.C
UNIX的几个特点分别是:①UNIX是多用户、多任务的系统;②UNIX大部分是用C语言编写的;③提供了Shell编程语言;④提供了丰富的系统调用;⑤采用树形文件系统;⑥提供多种通信机制;⑦采用进程对换的内存管理。
2.D
3.A各种模式的电子商务系统中的业务子系统是有所差别的。
业务子系统需要其他子系统的配合才能正常工作。
在线支付予系统和客户留言系统都不是必须的。
4.A
5.D为了适应大规模的网络,并使更新过程收敛的很快,OSPF协议将一个自治系统划分为若干个更小的范围,每个范围叫作区域。
每个区域有一个32位的区域标识符(点分十进制表示),在一个区域内的路由器数目不超过200个。
划分区域的好处是将利用洪泛法交换链路状态信息的范围局限在每一个区域内,而不是整个自治系统,因此区域内部路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑情况。
6.A解析:20世纪90年代后,兴起了以超媒体方式组织多媒体信息的万维网(World Wide Web,WWW)信息服务,并且迅速成为Internet上的一种最主要的服务形式,其基础是Web站点。
每个站点都有一个主
页,是进入站点的起始页。
一般是通过主页来探索该站点的主要信息服务资源。
WWW采用客户/服务器模式进行工作。
WWW服务器负责存放和管理大量的网页文件信息,并负责监听和查看是否有从客户端传过来的连接。
使用WWW必须有一个客户程序软件Web浏览器软件。
浏览器是上网的基本工具软件。
Internet Explorer是微软公司推出的一种极为灵活方便的网上浏览器,它的主要功能之一是浏览网页文件。
它可以从各种不同的服务器中获得信息,支持多种类型的网页文件,如HTML、dynamic、ActiveX、Java、Layers、CSS、Scripting、Mode 等格式的文件。
7.BICMP报文类型号为11时表示超时,故选择B选项。
8.D解析:数据传输速率是描述数据传输系统的重要技术指标之一。
数据传输速率在数值上等于每秒钟传输构成数据代码的二进制比特数,单位为比特/秒(bit/second),记作bps。
对于二进制数据,数据传输速率为:S=1/T(bps)。
其中,T为发送每1比特所需要的时间。
题设中通信信道上发送一比特0、1信号所需要的时间是0.001μs,即T =0.001μs;按照上述公式,则信道的数据传输速率S=1/0.001μs=1/10-9bps=1Gbps。
9.A解析:网络安全系统的一个重要方面是防止分析人员对系统进行主动攻击,如伪造、篡改信息等。
认证(authentication)则是防止主动攻的重要技术,它对于开放环境中的各种信息系统的安全有重要作用。
10.C解析:主板是计算机主机的主要部件。
通常,主板由5部分组成:CPU、存储器、总线、插槽以及电源。
11.传输传输解析:传输层负责错误的确认和恢复,以确保信息的可靠
传递。
在必要时,它也对信息重新打包,把过长信息分成小包发送;而在接收端,把这些小包重构成初始的信息。
12.
13.
14.加密数字签名是笔迹签名的模拟,用于确认发送者身份,是一个加密的消息摘要。
15.P2P模式P2P模式解析:即时通信系统一般采用客户机/客户机模式,也就是点对点的模式(即P2P模式),另一种是客户机/服务器模式,即消息的发送和消息的接受必须通过服务器来中转(即中转通信模式)。
16.目的主机本题考点是IP数据报的重组。
IP数据报在因特网上传送时要经过底层的物理网络。
因特网是“网间网”,其中的物理网络差异很大,不同类型的物理网络可传送的物理帧的最大长度,即网络最大传送单元MTU.可能不同。
因此传送过程中.IP数据报在通过MTU较小的网络时有可能被分片。
在IP数据报分片以后,应该需要进行数据报重新组装,因特网中通常是IP数据报到达目的主机后,由目的主机负责重组。
17.64DES是一种迭代的分组密码,其输入和输出都是64位,使用一个56位的密钥以及附加的8位奇偶校验位,有弱钥,但可避免。
攻击DES 的主要技术是穷举。
但由于DES的密钥长度较短,因此为了提高其安全性,出现了使用112位密钥对数据进行3次加密的算法,称为3DES。
18.超文本(Hypertext)【解析】WWW的信息组织形式分为超文本
(Hypertext)和超媒体(Hypermedia)两种。
19.域名系统(或DNS)
【解析】在TCP/IP互联网中所实现的层次型名字管理机制称为域名系统(DNS)。
20.数据传输
【解析】电路交换方式与电话交换的工作过程类似。
两台计算机通过通信子网进行数据交换之前,首先要在通信子网中建立一个实际的物理线路连接。
电路交换的通信过程分为三个阶段:线路建立阶段、数据传输阶段和线路释放阶段。
21.调整调整解析:监视功能主要是指跟踪网络活动;调整功能是指通过改变设置来改善网络的性能。
22.数据链路层数据链路层解析:局域网参考模型只对应OSI的数据链路层和物理层,它将数据链路层划分为逻辑链路控制子层LLC和介质访问控制子层MAC。
23.拒绝服务攻击拒绝服务攻击解析:从网络协议的角度分,攻击方法还可以分为服务攻击和非服务攻击,针对特定网络服务的攻击,题中所描述的攻击称为拒绝服务攻击。
24.匿名FTP服务匿名FTP服务解析:匿名账户和密码都是公开的,用户无需预先向服务器申请账号,就可以随时访问这些服务器。
25.网络网络解析:网桥是在数据连路层上实现不同网络的互连的设备;路由器是在网络层上实现多个网络互连的设备;网关是通过使用适当的硬件与软件,来实现不同网络协议之间的转换功能,硬件提供不同网络
的接口,软件实现不同的互联网协议之间的转换。
26.非对等非对等解析:本题考查点是网络操作系统的发展演变过程。
网络操作系统的发展经历了从对等结构向非对等结构演变的过程。
对等结构网络操作系统是指安装在每个联网结点上的操作系统软件相同,局域网中所有的联网结点地位平等,从而形成对等局域网。
结点之间的资源,包括共享硬盘、共享打印机、共享CPU等都可以在网内共享。
对等结构网络操作系统结构简单,但效率不高,仅适用于规模较小的网络系统。
目前,局域网中使用最多的是非对等结构网络操作系统。
流行的“服务器/客户机”网络应用模型中使用的网络操作系统就是非对等结构的。
非对等结构网络操作系统的思想是将局域网中结点分为网络服务器和网络工作站两类,通常简称为服务器(Server)和工作站(Workstation)。
局域网中是否设置专用服务器是对等结构和非对等结构的根本区别。
这种非对等结构能实现网络资源的合理配置与利用。
27.代理代理解析:在网络管理中,一般采用管理者一代理的管理模型,管理者与代理之间利用网络实现管理信息的交换、控制、协调和监视网络资源,以完成管理功能。
28.ATMATM 解析:实时多媒体信息的大规模发布是ATM的重要应用之一。
29.【审题关键句】数组相同下标位置上的奇数,数组a中十位数等于新数的千位数字,个位等于新数个位数字,数组b中的十位等于新数的百位数字,个位数字等于新数的十位数字,存入数组,从小到大排序。
\n【解题思路】
\n④定义整型循环变量i、j和局部变量tmp。
\n②在for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于MAX,用if条件语句判断如果a[i]和b[i]同时为奇数,由a[i]的十位数字为新数的千位数字,个位数字为新数的个位数字,b[i]的十位数字为新数的百位数字,个位数字为新数的十位数字,把这个新组成的数存入数组元素c[cn],同时数组下标变量cn加1。
\n③在第一层for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于cnt,在第二层循环中,循环变量j从i+1开始,依次递增直到其值等于cnt,用if条件语句判断如果数组元素c[i]大于c[j],则两者进行互换,实现数组C中的数按从小到大的顺序进行排序。
\n【参考答案】
\n
30.【审题关键句】各位都是奇数,从大到小排序。
\n【解题思路】
\n本题类似第32套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,即判断四位数的每一位数都为奇数,参考答案的第8条语句,只需将每位数的判断条件改为奇数判断即可。
\n【参考答案】
\n
31.A解析:与对称密码体制,如DES相比,RSA的缺点是加密、解密的速度太慢。
32.A解析:在对密码分析中,通常根据分析者对信息的掌握量分为唯密
文攻击、已知明文攻击及选择明文攻击。
所谓唯密文攻击指密码分析者只知道密文,其他什么都不知道,这种分析难度最大。
已知明文攻击,指密码分析者不但知道密文,而且知道明文,利用知道的明文及密文推导出加密算法及密钥,分析难度低于唯密文攻击。
选择明文攻击,是指密码分析者不但可以获取明文-密文对,而且可以对这些明文—密文对进行选择,从而选择那些拥有更多特征的明文-密文对以有利于对密码的分析,其难度最小。
33.D解析:IP数据报的路由选择具有独立性,因此数据报有可能进入一条循环路径,无休止的在网络中流动。
利用IP报头中的生存周期域,在该域值递减为“0”时,报文将被删除,避免死循环的发生。
34.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进行排序。
排序使用“选择排序法”。
35.void encryptChar() { int i; char*pf; for(i=0;i<maxline;i++) pf=xx[i]; /*指针pf指向当前行的首地址*/whilie(*pf!=0) { if(*pf%2==0 ||*pf*11%256<=32); /*如果原字符的ASCII值是偶数或计算后的值小于等于32则该字符不变*/else *pf=*pf*11%256; /*否贝Jj将所对应的字符进行替代*/pf++; /*指针pf指向下一个字符*/} } }void encryptChar()\r\n {\r\n int i;\r\n char*pf;\r\n for(i=0;i<maxline;i++)\r\n pf=xx[i]; /*指针pf指向当前行的首地址*/\r\n whilie(*pf!=0)\r\n {\r\n if(*pf%2==0 ||*pf*11%256<=32); /*如果原字符的ASCII值是偶数或计算后\r\n 的值小于等于32,则该字符不变*/\r\n else\r\n *pf=*pf*11%256; /*否贝Jj将所对应的字符进行替代*/\r\n pf++; /*指针pf指向下一个字符*/\r\n }\r\n }\r\n } 解析:本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行。
当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它进行条件判断。
根据题意,条件用“if(*pf%2++0|| *pf*11%256<=32)”来实现,如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前字符乘以11的结果再去与256求余数,处理完毕后,指针去取下一个字符。
如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。
36.void main() { int cnt1cnt2xx[N];float pj; FILE *fw; int ik=0; long j; clrscr(); fw=fopen("out91.dat""w"); read_dat(xx); for(i=0j=0cnt1=0cnt2=0;i<N;i++) { if(xx[i]%2) /*求出数组XX中奇数
的个数cnt1*/ cnt1++; else cnt2++; /*求出数组xx中偶数的个数cnt2*/ if(i%2==0) { j+=xx[i];/*求数组xx下标为偶数的元素值的总和*/ k++; } } Pj=(float)(j*100/k)/100; /*求数组xx下标为偶数的元素值的算术平均值pj*/ printf("\n\ncnt1=%dcnt2=%dpj=%6.2f\n"cnt1cnt2pj); fprintf(fw"%d\n%d\n%6.2f\n"cnt1cnt2pj); fclose(fw); } [解析] 本题考查的知识点如下:(1)运算符“%”的使用。
(2)强制类型转换和小数位数的保留;一个数除以2取余所得的数为1则它是奇数否则是偶数取余使用运算符“%”。
在本题中要求算术平均值保留两位小数。
使用的方法是:将和乘以100除以个数强制类型转换后再除以100。
为了保证和有效我们定义一个长整型变量来记录和。
因为个数也为整型运算符“/”在这里的含义是整除而我们要保留小数所以要使用强制类型转换将和乘以100的结果转换为浮点类型这样就可以实现保留两位小数。
使用循环对所有数据进行访问。
void main()\r\n {\r\n int cnt1,cnt2,xx[N];\r\n float pj;\r\n FILE *fw;\r\n int i,k=0;\r\n long j;\r\n clrscr();\r\n fw=fopen('out91.dat','w');\r\n read_dat(xx);\r\n for(i=0,j=0,cnt1=0,cnt2=0;i<N;i++)\r\n {\r\n if(xx[i]%2) /*求出数组XX 中奇数的个数cnt1*/\r\n cnt1++;\r\n else\r\n cnt2++; /*求出数组xx中偶数的个数cnt2*/\r\n if(i%2==0)\r\n {\r\n j+=xx[i];/*求数组xx下标为偶数的元素值的总和*/\r\n k++;\r\n }\r\n }\r\n Pj=(float)(j*100/k)/100; /*求数组xx下标为偶数的元素值的算术平均值pj*/\r\n printf('\\n\\ncnt1=%d,cnt2=%d,pj=%6.2f\\n',cnt1,cnt2,pj);\r\n
fprintf(fw,'%d\\n%d\\n%6.2f\\n',cnt1,cnt2,pj);\r\n
fclose(fw);\r\n }\r\n[解析] 本题考查的知识点如下:\r\n (1)运算符“%”的使用。
\r\n (2)强制类型转换和小数位数的保留;\r\n 一个数除以2取余所得的数为1,则它是奇数,否则是偶数,取余使用运算符“%”。
在
本题中,要求算术平均值保留两位小数。
使用的方法是:将和乘以100除以个数强制类型转换后再除以100。
为了保证和有效,我们定义一个长整型变量来记录和。
因为个数也为整型,运算符“/”在这里的含义是整除,而我们要保留小数,所以要使用强制类型转换将和乘以100的结果转换为浮点类型,这样就可以实现保留两位小数。
使用循环对所有数据进行访问。