第一篇:2009年3月全国计算机考试三级网络技术笔试试题及答案
09年3月全国计算机考试三级网络技术笔试试题及答案
(1)1959年10月我国研制成功的一台通用大型电子管计算机是(B)
A)103计算机B)104计算机C)120计算机D)130计算机
(2)关于计算机应用的描述中,错误的是(C)
A)模拟操作是一种特殊的研究方法B)大气预报采用了巨型计算机处理数据
C)经济运行模型还不能用计算机模拟D)过程控制可采用抵挡的处理芯片
(3)关于服务器的描述中,正确的是(D)
A)按体系结构分为入门级、部门级、企业级服务器B)按用途分为台式、机架式、机柜式服务器
C)按处理器类型分为文件、数据库服务器D)刀片式服务器的每个刀片是一块系统主板
(4)关于计算机配置的描述中,错误的是(A)
A)服务器机箱的个数用1U/2U/3U/....../8U表示B)现在流行的串接口硬盘是SATA硬盘
C)独立磁盘冗余阵列简称磁盘阵列D)串行SCSI硬盘简称SAS硬盘
(5)关于软件开发的描述中,正确的是(B)
A)软件生命周期包括计划、开发两个阶段B)开发初期进行需求分析、总体设计、详细设计
C)开发后期进行编码、测试、维护D)软件运行和使用中形成文档资料
(6)关于多媒体的描述中,错误的是(D)
A)多媒体的数据量很大,必须进行压缩才能实用B)多媒体数据有许多冗余,这是进行的基础
C)信息编码法提供了无损压缩D)常用的预测编码是变换编码
(7)关于数据报交换方式的描述中,错误的是(A)
A)在报文传输前建立源结点与目标的结点之间的虚电路B)同一报文的不同分组可以经过不同路径进行传输
C)同一报文的每个分组中都要有源地址和目标地址D)同一报文的不同分组可能不按顺序到达目的结点
(8)IEEE802.11无线局域网的介质访问控制方法中,帧间间隔大小取决于(D)
A)接入点B)交换机C)帧大小D)帧类型
(9)以下网络应用中不属于Web应用的是(B)
A)电子商务B)域名解析C)电子政务D)博客
(10)关于千兆以太网的描述中,错误的是(C)
A)与传统以太网采用相同的帧结构B)标准中定义了千兆介质专用接口
C)只使用光纤作为传输介质D)用GMII分割MAC子层与物理层
(11)虚拟局域网的技术基础是(C)
A)路由技术B)宽带分配C)交换技术D)冲突检测
(12)关于OSI参考模型的描述中,正确的是(C)
A)高层为低层提供所需的服务B)高层需要知道低层的实现方法
C)不同结点的同等层有相同的功能D)不同结点需要相同的操作系统
(13)如果网络结点传输10bit数据需要1×10-8,则该网络的数据传输速度是(B)
A)10MbpsB)1GbpsC)100MbpsD)10Gbps
(14)关于传统Ethernet的描述中,错误的是(D)
A)是一种典型的总线型局域网B)结点通过广播方式发送数据
C)需要解决介质访问控制问题D)介质访问控制方法是CSMA/CA
(15)网桥实现网络互联的层次是(A)
A)数据链路层B)传输层C)网络层D)应用层
(16)在TC/IP参考模型中,负责提供面向连接服务的协议是(C)
A)FTPB)DNSC)TCPD)TDP
(17)以下哪一个不是无线局域网IEEE80211规定的物理层传输方式?(C)
A)直接序列扩频B)跳频扩频C)蓝牙D)红外
(18)关于网络层的描述中,正确的是(B)
A)基本数据传输单位是帧B)主要功能是提供路由选择
C)完成应用层信息格式的转换D)提供端到端的传输服务
(19)1000BASE-T标准支持的传输介质是(C)
A)单模光纤B)多模光纤C)非屏蔽双绞线D)屏蔽双绞线
(20)电子邮件传输协议是(D)
A)DHCPB)FTPC)CMIPD)SMTP
(21)关于IEEE802模型的描述中,正确的是(B)
A)对应于OSI模型的网络层B)数据链路层分为LLC与MAC层
C)只包括一种局域网协D)针对广域网环境
(22)关于Ad Hoc网络的描述中,错误的是(B)
A)是一种对等的无线移动网络B)在WALN的基础上发展起来
C)采用无基站的通信模式D)在军事领域应用广泛
(23)以下P2P应用软件中不属于文件共享类应用的是(A)
A)SkypeB)GnutellaC)NapsterD)BitTorrent
(24)关于服务器操作系统的描述中,错误的是(D)
A)是多用户、多任务的系统B)通常采用多线程的处理方式
C)线程比进程需要的系统开销小D)线程管理比进程管理复杂
(25)关于Windows Server基本特征的描述中,正确的是(B)
A)Windows 2000开始与IE集成,并摆脱了DOSB)Windows 2003依据.NET架构对NT技术做了实质的改进
C)Windows 2003 R2可靠性提高,安全性尚显不足D)Windows 2008重点加强安全性,其他特征与前面版本类似
(26)关于活动目标的描述中,错误的是(D)
A)活动目标包括目录和目录服务B)域是基本管理单位,通常不再细分
C)活动目标采用树状逻辑结构D)通过域构成树,树再组成森林
(27)关于Unix操作系统的描述中,正确的是(A)
A)Unix由内核和外壳两部分组成B)内核由文件子系统和目录子系统组成C)外壳由进程子系统和线程子系统组成D)内核部分的操作原语对用户程序起作用
(28)关于Linux操作系统的描述中,错误的是(C)
A)内核代码与Unix不同B)适合作为Internet服务平台
C)文件系统是网状结构D)用户界面主要有KDE和GNOME
(29)关于TCP/IP协议集的描述中,错误的是(A)
A)由TCP和IP两个协议组成B)规定了Internet中主机的寻址方式
C)规定了Internet中信息的传输规则D)规定了Internet中主机的命名机制
(30)关于IP互联网的描述中,错误的是(C)
A)隐藏了低层物理网络细节B)数据可以在IP互联网中跨网传输
C)要求物理网络之间全互连D)所有计算机使用统一的地址描述方法
(31)以下哪个地址为回送地址?(B)
A)128.0.0.1B)127.0.0.1C)126.0.0.1D)125.0.0.1
(32)如果一台主机的IP地址为20.22.25.6,子网掩码为255.255.255.0,那么该主机的主机号为(A)
A)6B)25C)22D)20
(33)一个连接两个以太网的路由器接收到一个IP数据报,如果需要将该数据报转发到IP地址为202.123.1.1的主机,那么该路由器可以使用哪种协议寻找目标主机的MAC地址?(B)
A)IPB)ARPC)DNSD)TCP
(34)在没有选项和填充的情况下,IPv4数据报报头长度域的值应该为(C)
A)3B)4C)5D)6
(35)对IP数据报进行分片的主要目的是(D)
A)提高互联网的性能B)提高互联网的安全性
C)适应各个物理网络不同地址的长度D)适应各个物理网络不同的MTU长度
(36)以下关于ICMP差错报文特点的描述中,错误的是(A)
A)享受特别优先权和可靠性B)数据包含故障IP数据报数据区的前64比特
C)伴随抛弃出错IP数据报产生D)目的地址通常为抛弃数据报的源地址
(37)一个路由器的路由表如下所示。如果该路由器接收到一个目的IP地址为10.1.2.5的报文,那么它应该将其投递到(B)
要到达的网络下一路由地址
10.2.0.0直接投递
10.3.0.0直接投递
10.1.0.010.2.0.5
10.4.0.010.3.0.7
A)10.1.0.0B)10.2.0.5C)10.4.0.0D)10.3.0.7
(38)关于RIP与OSPF协议的描述中,正确的是(C)
A)RIP和OSPF都采用向量-距离算法B)RIP和OSPF都采用链路-状态算法
C)RIP采用向量-距离算法,OSPF采用链路-状态算法D)RIP采用链路-状态算法,OSPF采用向量-距离算法
(39)为确保连接的可靠建立,TCP采用的技术是(D)
A)4次重发B)3次重发C)4次握手D)3次握手
(40)关于客户机/服务器模式的描述中,正确的是(A)
A)客户机主动请求,服务器被动等待B)客户机和服务器都主动请求
C)客户机被动等待,服务器主动请求D)客户机和服务器都被动等待
(41)关于Internet域名系统的描述中,错误的是(C)
A)域名解析需要一组既独立又协作的域名服务器B)域名服务器逻辑上构成一定的层次结构
C)域名解析总是从根域名服务器开始D)递归解析是域名解析的一种方式
(42)pwd是一个FTP用户接口命令,它的意义是(A)
A)请求用户输入密码B)显示远程主机的当前工作目录
C)在远程主机中建立目录D)进入主动传输方式
(43)为了使电子邮件能够传输二进制信息,对RFC822进行扩充后的标准为(C)
A)RFC823B)SNMPC)MIMED)CERT
(44)关于WWW服务系统的描述中,错误的是(B)
A)WWW采用客户/机服务器模式B)WWW的传输协议采用HTML
C)页面到页面的链接信息由URL维持D)客户端应用程序称为浏览器
(45)下面哪个不是Internet网络管理协议?(D)
A)SNMPv1B)SNMPv2C)SNMPv3D)SNMPv
4(46)根据计算机信息系统安全保护等级划分准则,安全要求最高的防护等级是(D)
A)指导保护级B)强制保护级C)监督保护级D)专控保护级
(47)下面那种攻击属于被动攻击?(A)
A)流量分析B)数据伪装C)消息重放D)消息篡改
(48)AES加密算法处理的分组长度是(B)
A)56位B)64位C)128位D)256位
(49)RCS加密算法没有采用的基本操作是(C)
A)异或B)循环C)置换D)加
(50)关于消息认证的描述中,错误的是(C)
A)消息认证称为完整性校验B)用于识别信息源的真伪
C)消息认证都是实时的D)消息认证可通过认证码实现
(51)关于RSA密码体制的描述中,正确的是(D)
A)安全性基于椭圆曲线问题B)是一种对称的密码体制
C)加密速度很快D)常用于数字签名
(52)关于Kerberors认证系统的描述中,错误的是(D)
A)有一个包含所有用户密钥的数据库B)用户密钥是一个加密口令
C)加密算法必须使用DESD)Kerberos提供会话密钥
(53)RSA算法加密时,已知公钥是(e=7,n=20),私钥是(d=3,n=20),用公钥对消息M=3加密,得到的密文是:(D)
A)19B)13C)12D)7
(54)下面哪个地址不是组播地址?(还不确定)
A)224.0.1.1B)232.0.0.1C)233.255.255.1D)240.255.255.1
(55)下面哪种P2P网络拓扑不是分布式非结构化的?(B)
A)GnutellaB)MazeC)LimeWireD)BearShare
(56)关于即时通信的描述中,正确的是(C)
A)只工作在客户机/服务器方式B)QQ是最早推出的即时通信软件
C)QQ的聊天通信是加密的D)即时通信系统均采用SIP协议
(57)下面哪种服务不属于IPTV通信类服务?(C)
A)IP语音服务B)即时通信服务C)远程教育服务D)电视短信服务
(58)从技术发展角度看,最早出现的IP电话工作方式是(A)
A)PC-to-PCB)PC-to-PhoneC)Phone-to-PCD)Phone-to-Phone
(59)数字版权管理主要采用数据加密、版权保护、数字签名和(B)
A)认证技术B)数字水印技术C)访问控制技术D)防篡改技术
(60)网络全文搜索引擎一般包括搜索器、检索器、用户接口和(A)
A)索引器B)机器人C)爬虫
二、填空题(每题2分,共40分)
(1)精简指令集计算机的英文缩写是【RISC】。
(2)流媒体数据流具有连续性、实时性和【时序性】三个特点。
(3)00-60-38-00-08-A6是一个【MAC】地址。
(4)Ethernet V2.0规定帧的数据字段的最大长度是【1500B】。
(5)RIP协议用于在网络设备之间交换【路由】信息。
(6)网络协议的三个要素是【语法】、语义与时序。
(7)TCP/IP参考模型的主机—网络层对应于OSI参考模型的物理层与【数据链路层】。
(8)一台Ethernet交换机提供24个100Mbps的全双工端口与1个1Gbps的全双工端口,在交换机满配
置情况下的总带宽可以达到【6.8Gps】。
(9)Web/OS是运行在【浏览器】中的虚拟操作系统。
(10)Novell公司收购了SUSE,以便通过SUSE【Linux】Professional产品进一步发展网络操作系统业务。
(11)IP服务的三个特点是:不可靠、面向非连接和【尽最大努力投递】。
(12)如果一个IP地址为10.1.2.20,子网掩码为255.255.255.0的主机需要发送一个有限广播数据报,该有限广播数据报的目的地址为【255.255.255.255】。
(13)IPv6的地址长度为【128】位。
(14)浏览器结构由一个【控制单元】和一系列的客户单元、解释单元组成。
(15)为了解决系统的差异性,Telnet协议引入了【网络虚拟终端(或NVT)】,用于屏蔽不同计算机系统对键盘输入解释的差异。
(16)SNMP从被管理设备收集数据有两种方法:基于【轮询】方法和基于中断方法。
(17)数字签名是笔迹签名的模拟,用于确认发送者身份,是一个【加密】的消息摘要。
(18)包过滤防火墙依据规则对收到的IP包进行处理,决定是【转发】还是丢弃。
(19)组播允许一个发送方发送数据包到多个接收方。不论接收组成员的数量是多少,数据源只发送【一次】数据包。
(20)P2P网络存在四种主要结构类型,Napster是【集中】目录式结构
第二篇:计算机三级网络技术临考练习试题及答案
很多人觉得临考前应该放松,什么都不做,其实临考前做一份相对简单的试题是可以增加考试的信心的。下面小编为大家整理了计算机三级网络技术临考练习试题及答案,希望能帮到大家!
一、选择题
1).计算机网络能够不受地理上的束缚实现资源共享,下列不属于共享的资源是()。
A.数据
B.办公人员
C.软件
D.硬件
正确答案:B
2).一台主机的IP地址为168.113.81.78,子网屏蔽码为255.255.255.0则主机号为
A.168
B.11
3C.8
1D.78
正确答案:D
3).下面属于A类IP地址的是
A.61.11.68.1
B.128.168.119.10
2C.202.199.15.32
D.294.125.13.1
正确答案:A
4).认证是防止什么攻击的重要技术?
A.主动
B.被动
C.黑客
D.偶然
正确答案:A
5).Linux的基本特点是()。
A.多用户,单任务,实时
B.多用户,多任务,交互式
C.单用户,单任务,分时
D.多用户,多任务,分时
正确答案:D
二、操作题
1.已知数据文件in34.dat中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的4位数的平均值pjz1,以及所有不满足此条件的4位数的平均值pjz2,最后调用函数writeDat()把结果cnt,pjz1,pjz2输出到out34.dat文件。
例如:7153,7+1=5+3,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。
8129,8+1≠2+9,则该数不满足条件计算平均值pjz2。
注意:部分源程序已给出。
程序中已定义数组:a[300],b[300],已定义变量:cnt,pjz1,pjz2。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
#include
int a[300], cnt=0;
double pjz1=0.0,pjz2=0.0;
void readDat();
void writeDat();
void jsValue()
{
int i,n=0;/*定义循环变量和计数器变量*/
int a1,a2,a3,a4;/*定义变量保存4位数的每位数字*/
for(i=0;i<300;i++)/*逐个取每一个4位数*/
{
a4=a[i]/1000;/*求4位数的千位数字*/
a3=a[i]00/100;/*求4位数的百位数字*/
a2=a[i]0/10;/*求4位数的十位数字*/
a1=a[i];/*求4位数的个位数字*/
if(a4+a3==a2+a1)/*如果千位数加百位数等于十位数加个位数*/
{
cnt++;/*统计满足条件的数的个数*/
pjz1+=a[i];/*将满足条件的数求和*/
}
else
{
n++;/*否则统计不满足条件的数的个数*/
pjz2+=a[i];/*将不满足条件的数求和*/
}
}
pjz1/=cnt;/*求满足条件的数的平均值*/
pjz2/=n;/*求不满足条件的数的平均值*/
}
void main()
{
readDat();
jsValue();
writeDat();
printf(“cnt=%d 满足条件的平均值pjz1=%7.2lf 不满足条件的平均值pjz2=%7.2lf ”,cnt,pjz1,pjz2);
}
void readDat()
{
FILE *fp;
int i;
fp=fopen(“in34.dat”,“r”);
for(i=0;i<300;i++)
fscanf(fp,“%d,”,&a[i]);
fclose(fp);
}
void writeDat()
{
FILE *fp;
fp=fopen(“out34.dat”,“w”);
fprintf(fp,“%d %7.2lf %7.2lf ”,cnt ,pjz1,pjz2);
fclose(fp);
}
第三篇:全国计算机等级考试三级网络技术考试大纲(2013年版)
全国计算机等级考试三级网络技术考试大
纲(2013年版)
基本要求
1.了解大型网络系统规划、管理方法;2.具备中小型网络系统规划、设计的基本能力
;3.掌握中小型网络系统组建、设备配置调试的基本技术
;4.掌握企事业单位中小型网络系统现场维护与管理基本技术
;5.了解网络技术的发展。考试内容
一、网络规划与设计 1.网络需求分析。2.网络规划设计。3.网络设备及选型。
4.网络综合布线方案设计。5.接入技术方案设计。
6.IP地址规划与路由设计。7.网络系统安全设计。
二、网络构建
1.局域网组网技术。(1)网线制作方法。
(2)交换机配置与使用方法。(3)交换机端口的基本配置。(4)交换机VLAN配置。(5)交换机STP配置。2.路由器配置与使用。
(1)路由器基本操作与配置方法。(2)路由器接口配置。
(3)路由器静态路由配置。(4)RIP动态路由配置。(5)OSPF动态路由配置。3.路由器高级功能。
(1)设置路由器为DHCP服务器。(2)访问控制列表的配置。(3)配置GRE协议。(4)配置IPSec协议。(5)配置MPLS协议。
4.无线网络设备安装与调试。
三、网络环境与应用系统的安装调试1.网络环境配置。
2.WWW服务器安装调试。3.E-mail服务器安装调试。4.FTP服务器安装调试。5.DNS服务器安装调试。
四、网络安全技术与网络管理 网络安全。
(1)网络防病毒软件与防火墙的安装与使用。(2)网站系统管理与维护。(3)网络攻击防护与漏洞查找。
(4)网络数据备份与恢复设备的安装与使用。(5)其他网络安全软件的安装与使用。2.网络管理。
(1)管理与维护网络用户账户。
(2)利用工具软件监控和管理网络系统。(3)查找与排除网络设备故障。
(4)常用网络管理软件的安装与使用。
五、上机操作在仿真网络环境下完成以下考核内容:
1.交换机配置与使用。
2.路由器基本操作与配置方法。
3.网络环境与应用系统安装调试的基本方法。4.网络管理与安全设备、软件安装、调试的基本方法。考试方法
上机考试,120分钟,总分100分。
第四篇:2018全国计算机等级考试三级网络技术知识点总结
全国计算机等级考试三级网络技术知识点
看书第一遍:仔细认真,不放过任何一个字;结果:知道大纲就行。第二遍:详细,理解,标出自己认为重要的知识点,解决所有课后题。
第三遍:理解所有内容,熟悉课本→做历年真题前4套→结合真题看课本→做剩下几套真题→看书、真题→过关。自2018年3月的全国计算机三级网络技术考试采用16年版新版笔试教材,部分内容有改动;上机考试采用在xp操作系统下VisualC++环境的C语言编程,您可以认为无变化;另,考试大纲没有变化,虽然称16年新大纲,但继续采用的13年版(您也可以认为是08年版)考试大纲。笔试教材部分变动主要如下:
1、删除第七章电子商务电子政务(但大纲上明确表示有这一章,不敢保证不考,所以您应该有保留旧版本教材的必要);
2、拆分第五章因特网基础为第五章第六章;
3、原来第六章网络安全顺延到第七章,部分内容有更新;
4、改动第八章网络技术展望为网络应用技术(组播技术、P2P网络、即时通信系统、IPTV、VoIP、网络搜索技术);
5、其他章节部分有改动,比例约为20%;不影响以前的知识点。
6、笔试教材习题改动较大(新版习题也将是09年3月考试的重要题目);
7、虽然新教材部分变动,如您能保证自02年笔试历年真题都会做且理解,保证您2018年9月及格,但更好成绩需要您努力。
第一章计算机基础
分析:考试形式:选择题和填空题,6个的选择题和2个填空题共10分,都是基本概念。
1、计算机的四特点:有信息处理的特性,有广泛适应的特性,有灵活选择的特性。有正确应用的特性。(此条不需要知道)
2、计算机的发展阶段:经历了以下5个阶段(它们是并行关系):大型机阶段(58、59年103、104机)、小型机阶段、微型机阶段、客户机/服务器阶段(对等网络与非对等网络的概念)和互联网阶段(Arpanet是1969年美国国防部运营,在1983年正式使用TCP/IP协议;在1991年6月我国第一条与国际互联网连接的专线建成,它从中国科学院高能物理研究所接到美国斯坦福大学的直线加速器中心;在1994年实现4大主干网互连,即全功能连接或正式连接;1993年www.xiexiebang.com等形式。电子邮件应用程序在向邮件服务器传送邮件时及邮件服务器间互相传输时采用SMTP协议,从邮件服务器读取时候可以使用POP3协议或IMAP协议。报文格式须符合RFC822或MIME协议。
7、WWW服务采用C/S模式,以超文本标记语言HTML和超文本传输协议HTTP为基础。第一个浏览器是Mosaic。HTTP会话过程包括以下4个步骤:连接、请求、应答、关闭。URL(统一资源定位符)由三部分组成:协议类型,主机名、路径及文件名。WWW服务器所存储的页面是一种结构化的文档,采用超文本标记语言HTML书写而成。HTML主要特点是可以包含指向其他文档的链接项,即其他页面的URL;可以将声音,图象,视频等多媒体信息集合在一起,一般这些信息不集合在网页上,而在服务器或其他位置。WWW浏览器由客户、解释、控制单元组成;控制单元是浏览器中心,接收键盘或鼠标输入后,协调管理客户单元和解释单元。
8、WWW的安全性:浏览器的安全性、Web服务器的安全性(IP地址限制、用户验证、Web权限、NTFS权限)
第七章网络管理与网络安全分析:
这部分是次重点,一般6道选择题和2~3道填空题,约10-12分。注意问题:
1、网络管理的五大功能:配置管理、故障管理、性能管理、计费管理和安全管理,及其各管理的作用。
2、信息安全等级,美国国防部安全准则中的A1级是最高安全级。
3、网络安全的基本要素:机密性、完整性、可用性和合法性,及相应的四个基本威胁,以及常见的可实现的威胁:渗入威胁和植入威胁的相关知识。
4、安全攻击是安全威胁的具体表现,中断、截取、修改和捏造。
5、加密技术相关知识的介绍。
6、认证技术中的数字签名的原理,及它与消息认证的区别。
7、防火墙只能防止外部网队内部网的侵犯。
1、网络管理包括五个功能:配置管理,故障管理,性能管理,计费管理和安全管理。配置管理的负责网络的建立、业务的展开及配置数据的维护,功能:清单管理、资源开通、业务开通;故障管理一般步骤:发现故障、判断故障、隔离故障、修复故障、记录故障;目前是:检测、隔离、纠正故障;计费管理的目标是跟踪个人和团体用户对网络资源的使用情况,对其收取合理的费用。性能管理的目标是维护网络服务质量和网络运营效率。性能管理包括性能检测、性能分析、性能管理控制功能。安全管理的目标是按照一定策略控制对网络资源的访问,保证重要的信息不被未授权用户访问,并防止网络遭到恶意或是无意的攻击。
2、网络管理的目标与网络管理员的职责:目标:a、减少停机时间,缩短响应时间,提高设备利用率;b、减少运行费用,提高效率;c、减少或消除网络瓶颈;d、使网络更容易使用;e、使网络安全可靠。职责:规划、建设、维护、扩展、优化和故障检修。不包括编写应用程序,那是程序员的职责。
3、管理者/代理模型:管理者实质上是运行在计算机操作系统之上的一组应用程序,管理者从各代理处收集信息,进行处理,获取有价值的管理信息,达到管理的目的。代理位于被管理的设备内部,它把来自管理者的命令或信息请求转换为本设备特有的指令,完成管理者的指示,或返回它所在设备的信息。管理者和代理之间的信息交换可以分为两种:从管理者到代理的管理操作;从代理到管理者的事件通知。
4、网络管理协议(1)概念:是网络管理者和代理之间进行信息的规范。(2)网络管理协议是高层网络应用协议,它建立在具体物理网络及其基础通信协议基础上,为网络管理平台服务。网络管理协议包括:简单网络管理协议SNMP,公共管理信息服务/协议CMIS/CMIP(电信管理网常用)管理节点一般是面向工程应用的工作站级计算机,拥有很强的处理能力。代理节点可以是网络上任何类型的节点。SNMP是一个应用层协议,它使用传输层和网络层的服务向其对等层传输信息;SNMP采用轮循监控方式。CMIP的优点是安全性高,功能强大,不仅可用于传输管理数据,还可以执行一定的任务。
5、信息安全包括3个方面:物理安全、安全控制、安全服务,实现真实性、保密性、完整性、可用性等目标;
6、信息安全性等级:(1)美国国防部橘皮书准则(_STD):(D1级计算机系统标准规定对用户没有验证,例如DOS、Windows3.X、Windows95(不在工作组方式中)、Apple的System7.X;C1级提供自主式安全保护,它通过将用户和数据分离,满足自主需求。C2级为处理敏感信息所需要的最低安全级别,进一步限制用户执
行一些命令或访问某些文件的权限,而且还加入了身份验证级别,例如UNIX系统、XENIX、NovellNetWare3.0或更高版本、WindowsNT;B1级是第一种需要大量访问控制支持的级别,安全级别存在保密,绝密级别。B2级要求计算机系统中的所有对象都要加上标签,而且给设备分配安全级别。B3级要求用户工作站或终端通过可信任途径连接到网络系统,而且这一级采用硬件来保护安全系统的存储区,B3级系统的关键安全部件必须理解所有客体到主体的访问。A1级最高安全级别,表明系统提供了最全面的安全。)(2)我国计算机信息安全等级:自主保护级、指导保护级、监督保护级、强制保护级、专控保护级。
8、网络安全(1)目的:信息的存储安全和信息的传输安全;基本要素是实现信息的机密性、完整性、可用性和合法性。(2)安全威胁是某个人、物、事或概念对某个资源的机密性、完整性、可用性或合法性所造成的危害。(3)安全威胁分为故意的和偶然的两类。故意威胁又可以分为被动和主动两类。基本威胁:信息泄露或丢失-机密性、破坏数据完整性-完整性、拒绝服务-可用性、非授权访问-合法性;渗入威胁:假冒、旁路控制、授权侵犯;植入威胁:特洛伊木马、陷门;潜在威胁:窃听、通信量分析、人员疏忽、媒体清理。(4)安全攻击:截取是未授权的实体得到
了资源的访问权,是对机密性的攻击;修改是未授权的实体不仅得到了访问权,而且还篡改了资源,是对完整性的攻击;中断是系统资源遭到破坏或变得不能使用,是对可用性的攻击;捏造是未授权的实体向系统中插入伪造的对象,是对合法性的攻击。(5)主动攻击和被动攻击:被动攻击的特点是监听或监测。其目的是获得正在传送的信息。被动攻击有:泄露信息内容和通信量分析等。主动攻击涉及修改数据流或创建错误的数据流,它包括伪装,重放,修改信息、拒绝服务、分布式拒绝服务等。从网络高层协议角度看,攻击方法可以概括为:服务攻击与非服务攻击。服务攻击是针对某种特定网络服务(如E-mail(邮件炸弹)、telnet、FTP、HTTP等)的攻击。非服务攻击不针对某项具体应用服务,而是基于网络层等低层协议进行的。非服务攻击利用协议或操作系统实现协议时的漏洞来达到攻击的目的,是一种更有效的攻击手段,如源路由攻击和地址欺骗、NetXBay等。(9)安全策略的组成:威严的法律、先进的技术、严格的管理(10)安全管理原则:多人负责原则、任期有限原则、职责分离原则
9、加密技术(1)几个相关概念:需要隐藏的消息叫做明文。明文被变换成另一种隐藏形式被称为密文,这种变换叫做加密,加密的逆过程称为解密;对明文进行加密所采用的一组规则称为加密算法,对密文解密时采用的一组规则称为解密算法;加密算法和解密算法通常是在一组密钥控制下进行的,加密算法所采用的密钥成为加密密钥,解密算法所使用的密钥叫做解密密钥;密码编码学是加密所用,密码分析学(分析、穷举一般要尝试所有可能的一半)是解密所用,都是密码学范畴。(4)密码系统分类:按将明文转化为密文的操作类型分为:代换或置换密码和易位密码。按密钥的使用个数分为:对称密码体制和非对称密码体制。(5)数据加密技术可以分为3类:对称型加密,不对称型加密和不可逆加密。对称加密使用单个密钥对数据进行加密或解密,又称单密钥加密、常规密码加密、或保密密钥加密,如DES算法。不对称加密算法其特点是有两个密钥,只有两者搭配使用才能完成加密和解密的全过程。不对称加密的另一用法称为“数字签名”,常用的是RSA算法和数字签名算法DSA。不可逆加密算法即单向散列算法,特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有同样输入的输入数据经过同样的不可逆算法才能得到同样的加密数据。(6)加密方案是安全的两种情形:一是破译密文的成本超过了加密信息本身的价值;二是破译秘闻所要的时间超过了信息的有效期。(7)对称加密体制的模型的组成部分:明文、加密算法、密钥、密文、解密算法。对称加密又称为常规加密、单密钥加密、保密密钥加密,有两个安全要求:①需要强大的加密算法;②发送方和接受方必须用安全的方式来获得保密密钥的副本,必须保证密钥的安全。其安全性取决于密钥的保密性,而不是算法的保密性。数据加密标准:DES,算法本身被称为数据加密算法DEA,密钥长度56位(106次/秒,10h可破),分组长度64位;其他常见对称加密算法:三重DES:密钥长度128位;AES:密钥128/192/256位,分组长度128位;Blowfish算法:可变密钥长度分组算法;RC-5:参数可变的分组算法;(8)公钥加密又叫做非对称加密,是建立在数学函数基础上的一种加密方法,而不是建立在位方式的操作上的。公钥加密算法的适用公钥密码体制有两个密钥:公钥和私钥。常规加密使用的密钥叫做保密密钥。公钥加密使用的密钥对叫做公钥或私钥,私钥总是保密的。RSA算法基于大因数分解;第一个用于数据加密和数字签名的算法,但安全性未能在理论上证明;其他公钥加密算法:ElGamal算法(基于离散对数)、背包加密算法;公钥加密涉及高次幂运算,加密速度一般较慢,占空间大。(9)密钥分发技术:通常KDC技术用于保密密钥分发,CA用于公钥和保密密钥的分发。
10、认证是防止主动攻击的重要技术,是验证一个最终用户或设备的声明身份的过程。认证主要目的:验证信息的发送者是真正的,而不是冒充的,这称为信源识别;验证信息的完整性,认证使用的技术主要有:消息认证,身份认证和数字签名。(1)消息认证是意定的接收者能够检验收到的消息是否真实的方法,又称完整性校验。消息认证的内容包括为:①证实消息的信源和信宿;②消息内容是否完整,是否曾受到偶然或有意的篡改;③消息的序号和时间性是否正确。消息认证模式:单向认证、双向认证;认证函数:信息加密函数、信息认证码、散列函数(MD5,SHA-1等)(2)数字签名应该满足:收方能确认发方签名但不能伪造;发方发出后就不能否认发过;收方收到后不能否认,即收报认证;第三者可以确认收发双方的消息传送但不能伪造。数字签名没有提供消息内容的机密性,最常用的数字签名算法有RSA算法和数字签名标准算法DSS。(3)身份认证大致分为3类:①口令认证;②持证认证;③生物识别。账户名/口令认证方法是被广泛使用的一种身份验证方法,比如一次性口令方案,常见的有S/Key和令牌口令认证方案。持证是个人所有物,比如磁卡等;生物识别指指纹、虹膜、脸像、掌纹、声音、签名、笔迹、手纹步态等生物特征。常用的身份认证协议:一次一密机制;X.509认证协议;Kerberos协议。
11、安全技术应用:(1)电子邮件的安全:PGP、S/MIME;(2)网络层安全:IPSec,包括身份认证头AH协议和ESP协议;(3)Web安全:网络级(IP安全,IPSec)、传输级(SSL安全套接层,运输层安全)、应用级(SET)
12、两大最广泛的安全威胁:入侵者和病毒。
13、防火墙:为了保障网络安全,防止外部网对内部网的侵犯,常在内外网间设置防火墙。(1)分类:数据包过滤,应用级网关、电路级网关、堡垒主机。(2)防火墙的设计目标是:进出内部
网的通信量必须通过防火墙,只有那些在内部网安全策略中定义了的合法的通信量才能进出防火墙,防火墙自身应该能够防止渗透。(3)防火墙的优缺点:优点:保护脆弱的服务、控制对系统的访问、集中的安全管理、增强的保密性、记录和统计网络使用数据以及非法使用数据、策略执行。缺点:无法阻止绕过防火墙的攻击;无法阻止来自内部的威胁;无法防止病毒感染程序或文件的传输。(4)防火墙通常有两种设计策略:允许所有服务除非被明确禁止;禁止所有服务除非被明确允许。(5)防火墙实现站点安全策略的技术:服务控制、方向控制、用户控制、行为控制
14、病毒:共性:破坏、可自我复制;常见病毒分类:宏病毒、电子邮件病毒、特洛伊木马、计算机蠕虫。病毒防治:检测、标识、清除。
第八章网络技术展望
分析:这部分主要讨论网络技术的展望。一般会有3道选择和1-2道填空约5-7分。
注意基本概念:
1、IP组播技术:允许一个或多个发送方发送单一数据包到多个接收方的网络传输方式,不论组成员多少,数据源只发一次,采用组播地址寻址,只向需要的主机和网络发包。(1)特点:使用组地址,组播网中拥有惟一的组播地址;动态组成员;低层硬件支持;(2)技术基础:D类IP,前四位为1110,后面28位为组播地址;(2)相关协议:IP组播组管理协议(IGMP)、IP组播路由协议(域内(密集模式、稀疏模式)或域间组播路由协议)。
2、P2P网络:(PeertoPeer)通过直接交换来共享资源和服务、采用非集中式,各结点地位平等,兼作服务器和客户机;(1)分类:集中式拓扑结构的P2P网络,以Napster为代表,有中心服务器,只保留索引信息,包括服务器的各实体对等;分布式非结构化拓扑结构的P2P网络:以Gnutella等为代表,无中心服务器,都是对等点,扩展性差;分布式结构化拓扑结构的P2P网络:以Pastry等为代表,基于分布式散列表(DHT)的分布式发现和路由算法;混合式结构的P2P网络:以Skype、Kazaa、eDonkey、BitTorent、PPlive为代表;(2)应用:分布式科学计算;文件共享;协同工作;分布式搜索引擎;流媒体直播(PPlive、PPStream等)。
3、即时通信(IM)系统:实时信息交互和用户状态追踪(1)附加功能:音视频聊天、应用共享、文件传输、文件共享、游戏邀请、远程助理、白板等;(2)基础通信模式:P2P通信模式、中转通信模式等;(3)代表性软件:腾讯QQ、网易泡泡、新浪UC、MSNNMessenger、YahooMessnger等;(4)通信协议:SIP(由用户代理、代理服务器、重定向服务器、注册服务器组成,请求消息包含请求行,响应消息包含状态行)、SIMPLE(对SIP协议的扩展)、XMPP(C/S通信模式、分布式网络、简单的客户端、XMl的数据格式);
4、IPTV系统:互联网协议电视或网络电视,交互性和实时性;(1)基本业务:视频点播VOD、直播电视(组播方式)、时移电视(点播方式);(2)基本技术形态:视频数字化、传输IP化、播放流媒体化;(3)系统组成:节目采集、存储与服务、节目传送、用户终端设备、相关软件;(4)关键技术:媒体内容分发技术、数字版权管理技术(数据加密、版权保护、数字水印)、IPTV运营支撑管理系统。
5、VoIP:即IP电话,利用IP网络实现语音通信,基于IP网络的语音传输技术;(1)实现方法:PC-to-PC、PC-to-Phone、Phone-to-Phone等;(2)系统组成:终端设备、网关、多点控制单元、网守;(3)代表软件:Kazaa公司的Skype,其融合了VoIP和P2P技术。
6、网络搜索技术:(1)搜索引擎组成部分:搜索器、索引器、检索器、用户接口;(2)Google:成立于98年;主要技术:①网页采集技术-分布式爬行系统;②页面等级技术;③超文本匹配分析技术(3)百度:成立于99年,主要技术:①智能化可扩展搜索技术;②超级链接分析技术;③智能化中文语言处理技术;④分布式结构优先化算法技术等
通过分析历年考试题,三级网络笔试课本有个知识点属于笔试必考……(1)奔腾芯片的技术特点(2)主机板的分类(3)城域网的特点
(4)网络拓扑结构的定义
(5)数据传输率和误码率(6)OSI与TCP/IP的对比(7)OSI七层结构技术细节(8)局域网的特点(9)802.3、4、5(10)虚拟局域网(11)局域网交换机
(12)网络操作系统的功能(13)NetWare三级容错技术(14)因特网的四大组成
(15)IP地址判定A,B,C类(16)IP地址掩码技术(17)路由选择(18)TCP协议特点(19)域名
(20)电子邮件传输协议:SMTP,POP3,IMAP,MIME(21)网络管理协议SNMP(22)安全等级A--D(22)渗入威胁和植入威胁(24)服务攻击和非服务攻击
(25)给你一种具体加密技术,问是对称还是非对称、(26)数字签名
(27)Web服务器的安全
(28)防火墙的技术三个缺点四个技术(29)域名解析(P121)
(30)TCP和UDP的端口号(31)顶级域名分配(表)(32)书上的课后习题每年都要考原题,占20分左右
(33)历年真题重复率在50%左右三级网络教材书中的一些计算题总结
1、B、KB、MB、GB、TB之间的换算:1TB=1024GB≈103GB≈106MB≈109KB≈1012B
2、目的子网地址=子网屏蔽码“中的1对应的”目的IP地址(几乎每次都考)
3、数据传输速率:S=1/T(bps)(T为发送1比特所需时间)
4、唇同步要求偏移在+-80ms传输延迟的典型植:540msATM信元长度:53B(5B信头;48B信息)
5、关于数据传输所需时间的计算:
如果网络的传输速率为28.8kbps,要传输2M字节的数据大约需要的时间为:时间=传输数据位数/数据传输速率 计算可得:时间=(2*1024*1024*8)/(28.8*1024)=568.9秒=约9.48分钟。
第五篇:全国计算机等考试三级网络技术上机试题总结
100个产品销售记录排序(此类共10题)
code: /* 已知在文件IN.DAT中存有100个产品销售记录, 每个产品销售记录由产品代码dm(字符型4位), 产品名称mc(字符型10位), 单价dj(整型), 数量sl(整型), 金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()读取这100个销售记录
并存入结构数组sell中。请编制函数SortDat(), 其功能要求:按金额从小到大进行排列, 若金额相等, 则按产品代码从小到大进行排列, 最终排列结果仍存入结构数组sell中。最后main()函 数调用函数WriteDat()把结果输出到文件OUT1.DAT中。注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。*/ #include
1)in.dat 内容完全相同。
2)程序也基本雷同,仅排序的要求不一样。
3)考生应熟悉 strcmp()函数,否则有的题相当不好处理。
之二
排序要求:
按金额从小到大进行排列, 若金额相等, 则按产品代码从大到小
进行排列
相应语句:
if(sell[k].je>sell[j].je||(sell[k].je==sell[j].je)&&(strcmp(sell[k].dm, sell[j].dm)< 0))之三
排序要求:
按金额从大到小进行排列, 若金额相等, 则按产品代码从小到大 进行排列
相应语句:
if((sell[k].je <
sell[j].je)||(sell[k].je==sell[j].je)&&(strcmp(sell[k].dm, sell[j].dm)>0))之四
排序要求:
按金额从大到小进行排列, 若金额相等, 则按产品代码从大到小
进行排列
相应语句:
if((sell[k].je <
sell[j].je)||(sell[k].je==sell[j].je)&&(strcmp(sell[k].dm,sell[j].dm)<0))
之五
排序要求:
按产品名称从小到大进行排列, 若产品名称相同, 则按金额从小
到大进行排列
相应语句:
if((strcmp(sell[k].mc,sell[j].mc)>0)||(strcmp(sell[k].mc,sell[j].mc)==0)&&(sell[k].je>sell[j].je))
之六
排序要求:
按产品名称从小到大进行排列, 若产品名称相同, 则按金额从大
到小进行排列
相应语句:
if(strcmp(sell[i].mc, sell[j].mc)>0 ||(strcmp(sell[i].mc, sell[j].mc)==0)&&(sell[i].je < sell[j].je))
之七
排序要求:
按产品名称从大到小进行排列, 若产品名称相同, 则按金额从小
到大进行排列
相应语句:
if((strcmp(sell[k].mc, sell[j].mc)< 0)||
(strcmp(sell[k].mc,sell[j].mc)==0)&&(sell[k].je>sell[j].je))
之八
排序要求:
按产品名称从大到小进行排列, 若产品名称相同, 则按金额从大
到小进行排列
相应语句:
if((strcmp(sell[k].mc, sell[j].mc)< 0)||(strcmp(sell[k].mc, sell[j].mc)==0)&&(sell[k].je < sell[j].je))
之九 排序要求:
按产品代码从小到大进行排列, 若产品代码相同, 则按金额从小
到大进行排列
相应语句:
if((strcmp(sell[k].dm,sell[j].dm)>0)||(strcmp(sell[k].dm,sell[j].dm)==0)&&(sell[k].je>sell[j].je
code: /* 已知在文件IN.DAT中存有100个产品销售记录, 每个产品销售记录由产品代码dm(字符型4位), 产品名称mc(字符型10位), 单价dj(整型), 数量sl(整型), 金额je(长整型)五部分组成。其中: 金额=单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(), 其功能要求:按产品代码从大到小进行排列, 若产品代码相同, 则按金额从大 到小进行排列, 最终排列结果仍存入结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件OUT10.DAT中。注意: 部分源程序存放在PROG1.C中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。*/ #include
300个四位数问题(此类共10题)
本类10题中,五题产生数组B,并对B按一定要求排序; 其余五题是求平均值。我把它们分成两组五题来讨论。
以下为产生数组B之题一:
code: /* 已知数据文件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, 则该数不满足条件忽略。
注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a[300], b[300], 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读 函数readDat()和写函数writeDat()的内容。*/ #include
求出所有这些四位数是素数的个数cnt,再把所有满足此
条件的四位数依次存入数组b中, 然后对数组b的四位数按从小到
大的顺序进行排序。
out.dat 文件内容应当为: 1231 1277 1283 1319 2543 2609 3793 3911 4013 4549 4817 4933 5591 5843 5939 6733 6791 6841 6871 6917 7297 7369 7703 8101 8221 8941 9013 9461 9689 9887 之四
要求:
求出千位数上的数减百位数上的数减十位数上的数减个位
数上的数大于零的个数cnt,再把所有满足此条件的四位数依次
存入数组b中, 然后对数组b的四位数按从小到大的顺序进行排序。
out.dat 文件内容应当为: 20 4002 4102 5111 5400 6014 6302 7050 7105 7113 8101 8130 8203 8221 8303 8700 9013 9016 9052 9053 9800
之五
要求:
求出千位数上的数加百位数上的数等于十位数上的数加个 位数上的数的个数cnt,条件的四位数依次存入 数组b中, 然后对数组b的四位数按从大到小的顺序进行排序。out.dat 文件内容应当为: 7795 7429 7328 7153 6978 6767 6556 6226 5591 5555 5427 4509 4013 3672 3663 3205 3131 2855
再把所有满足此
2763 2543 2507 1625 __________________ 老枪
求满足条件的数的个数、平均值……
求满足条件的数的个数、平均值及不满足条件的数的平均 值等,此类也是五题。本处仅给出一个全题,其余题只给出不同 之处。
code: /* 已知数据文件IN.DAT中存有300个四位数, 并已调用读函数readDat()把这些数存入数组a中, 请编制一函数jsvalue(),其功能是: 求出千位数上的数减百位数上的数减十位数上的数减个位
数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1, 以及所有不满足此条件的四位数平均值pjz2。最后main()函数调用写函数writeDat()把结果cnt,pjz1,pjz2输出到 OUT.DAT文件。
例如: 9123, 9-1-2-3>0, 则该数满足条件计算平均值pjz1, 且个数cnt=cnt+1。
9812, 9-8-1-2<0, 则该数不满足条件计算平均值pjz2。注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义数组: a[300], 已定义变量: cnt,pjz1,pjz2 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读 函数readDat()和写函数writeDat()的内容。*/ #include
int a[300], cnt=0;double pjz1=0.0, pjz2=0.0;jsvalue(){/**/ int i;for(i=0;i < 300;i++)if(a[i]/1000-a[i]/100%10-a[i]/10%10-a[i]%10>0){ cnt++;pjz1+=a[i];} else pjz2+=a[i];if(cnt)pjz1/=cnt;if(cnt<300)pjz2/=300-cnt;/**/ } main(){ int i;readDat();jsvalue();writeDat();printf(“cnt=%dn满足条件的平均值pzj1=%7.2lfn不满足条件的平均值pzj2=%7.2lfn”, cnt,pjz1,pjz2);} readDat(){ FILE *fp;int i;fp = fopen(“in.dat”,“r”);for(i = 0;i < 300;i++)fscanf(fp, “%d,”, &a[i]);fclose(fp);} writeDat(){ FILE *fp;int i;fp = fopen(“out.dat”,“w”);fprintf(fp, “%dn%7.2lfn%7.2lfn”, cnt, pjz1, pjz2);fclose(fp);} in.dat 与前面给出的完全相同,out.dat 内容应当如下:
7389.55 5524.03 __________________ 满足条件数的平均数……四题之说明
之二
要求:
求出千位数上的数加百位数上的数等于十位数上的数加个 位数上的数的个数cnt,再求出所有满足此条件的四位数平均值 pjz1, 以及所有不满足此条件的四位数平均值pjz2。
正确程序生成的 out.dat 文件内容应当如下:
4876.86 5709.46
之三
要求:
求出个位数上的数减千位数上的数减百位数上的数减十位 数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1, 以及所有不满足此条件的四位数平均值pjz2。
正确程序生成的 out.dat 文件内容应当如下:
2926.08 5761.83
之四
要求:
求出所有这些四位数是素数的个数cnt,再求出所有满足 此条件的四位数平均值pjz1, 以及所有不满足此条件的四位数平均值pjz2。
正确程序生成的 out.dat 文件内容应当如下: 5782.87 5633.46
之五
要求:
求出千位数上的数加个位数上的数等于百位数上的数加十 位数上的数的个数cnt,再求出所有满足此条件的四位数平均值 pjz1, 以及所有不满足此条件的四位数平均值pjz2。
正确程序生成的 out.dat 文件内容应当如下:
6681.22 5582.48 __________________ 老枪
200个四位数(此类共10题)此部分题与300个数的题有相似之处。
之一
code: /* 已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数ab(新
十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字, 新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数ab>cd, ab必须是偶数且能被5整除, cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从
大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a[200], b[200], 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/ #include
之二
要求:
把千位数字和十位数字重新组成一个新的十位数(新十 位数的十位数字是原四位数的千位数字,新十位数的个位数字是 原四位数的十位数字), 以及把个位数字和百位数字组成另一个 新的十位数(新十位数的十位数字是原四位数的个位数字, 新十 位数的个位数字是原四位数的百位数字), 如果新组成的两个十 位数均是素数且新数的十位数字均不为零,则将满足此条件的四
位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的 四位数的个数cnt。
out.dat 的内容应当为: 9971 8398 7711 6375 4719 4173 2736 2398 2397 1997
之三
要求:
把个位数字和千位数字重新组成一个新的十位数(新十 位数的十位数字是原四位数的个位数字,新十位数的个位数字是 原四位数的千位数字), 以及把百位数字和十位数字组成另一个
新的十位数(新十位数的十位数字是原四位数的百位数字, 新十 位数的个位数字是原四位数的十位数字), 如果新组成的两个十 位数必须是一个奇数,另一个为偶数并且两个十位数中至少有一
个数能被17整除,同时两个新数的十位数字均不为零, 则将满足 此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足 上述条件的四位数的个数cnt。
out.dat 的内容应当为: 8656 8174 7781 7683 4313 4173 2513
之四
要求:)把这些数存入数组a中,请考生编制一函数jsVal(),其 功能是: 把千位数字和十位数字重新组成一个新的十位数ab(新 十位数的十位数字是原四位数的千位数字,新十位数的个位数字
是原四位数的十位数字), 以及把个位数字和百位数字组成另一 个新的十位数cd(新十位数的十位数字是原四位数的个位数字, 新十位数的个位数字是原四位数的百位数字), 如果新组成的两
个十位数ab-cd>=10且ab-cd<=20且两个数均是偶数,同时两个新 数的十位数字均不为零,则将满足此条件的四位数按从大到小的
顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。
out.dat 的内容应当为: 9068 5224 5024 3821 2281
之五
要求:
如果四位数各位上的数字均是0或2或4或6或8, 则统计 出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存 入数组b中。
out.dat 的内容应当为: 8448 6820 4488 4060 2888 2884 2686 2624 2484 2420 2042
之六
要求:
把千位数字和个位数字重新组成一个新的十位数(新十 位数的十位数字是原四位数的千位数字,新十位数的个位数字是 原四位数的个位数字), 以及把百位数字和十位数字组成另一个 新的十位数(新十位数的十位数字是原四位数的百位数字, 新十 位数的个位数字是原四位数的十位数字), 如果新组成的两个十 位数均是奇数并且两个十位数中至少有一个数能被5整除, 同时
两个新数的十位数字均不为零,则将满足此条件的四位数按从大 到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个 数cnt。
out.dat 的内容应当为: 9851 8275 6375 5755 5359 4951 4595 4395 3575 3135
之七
要求:
把个位数字和千位数字重新组成一个新的十位数(新十 位数的十位数字是原四位数的个位数字,新十位数的个位数字是 原四位数的千位数字), 以及把百位数字和十位数字组成另一个
新的十位数(新十位数的十位数字是原四位数的百位数字, 新十 位数的个位数字是原四位数的十位数字), 如果新组成的两个十 位数均是偶数并且两个十位数中至少有一个数能被9整除, 同时 两个新数的十位数字均不为零,则将满足此条件的四位数按从大 到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个 数cnt。
out.dat 的内容应当为: 8761 8724 8441 6722 6603 6545 6323 6181 4369 4285 4125 2724 2362
之八
要求:
把千位数字和十位数字重新组成一个新的十位数ab(新 十位数的十位数字是原四位数的千位数字,新十位数的个位数字 是原四位数的十位数字), 以及把个位数字和百位数字组成另一
个新的十位数cd(新十位数的十位数字是原四位数的个位数字, 新十位数的个位数字是原四位数的百位数字), 如果新组成的两 个十位数ab 同时两个新数的十位数字均不为零,则将满足此条件的四位数按 从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数 的个数cnt。
out.dat 的内容应当为: 7878 5437 3897 2893 2877 2438 2039 2035 2033 1619 1494 1493
之九
要求:
如果四位数各位上的数字均是奇数,则统计出满足此条 件的个数cnt并把这些四位数按从大到小的顺序存入数组b中。
out.dat 的内容应当为: 9971 7973 7711 7511 5755 5359 5311 3575 3537 3135 1997 1979 1531 之十
要求:
把千位数字和十位数字重新组成一个新的十位数ab(新 十位数的十位数字是原四位数的千位数字,新十位数的个位数字 是原四位数的十位数字), 以及把个位数字和百位数字组成另一
个新的十位数cd(新十位数的十位数字是原四位数的个位数字, 新十位数的个位数字是原四位数的百位数字), 如果新组成的两 个十位数ab-cd>=0且ab-cd<=10且两个数均是奇数, 同时两个新 数的十位数字均不为零,则将满足此条件的四位数按从大到小的 顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。
out.dat 的内容应当为: 8398 7996 5954 4313 2311 __________________ 老枪
小于200个四位数之一(共四题)code: /* 已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数, 函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数Calvalue(), 其功能要求: 1.求出这文件中共有多少个正整数totNum;2.求出这些数中的各位数字之和是奇数的数的个数totCnt, 以及满足此条件的这些的算术平均值totPjz。最后main()函数调用函数WriteDat()把所求的结果输出到OUT.DAT文 件中。
注意: 部分源程序存放在PROG1.C中。请勿改动数据文件IN.DAT中的任何数据,主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。*/ #include
6045,6192,1885,3580,8544,6826,5493,8415,3132,5841, 6561,3173,9157,2895,2851,6082,5510,9610,5398,5273, 3438,1800,6364,6892,9591,3120,8813,2106,5505,1085, 5835,7295,6131,9405,6756,2413,6274,9262,5728,2650, 6266,5285,7703,1353,1510,2350,4325,4392,7573,8204, 7358,6365,3135,9903,3055,3219,3955,7313,6206,1631, 5869,5893,4569,1251,2542,5740,2073,9805,1189,7550, 4362,6214,5680,8753,8443,3636,4495,9643,3782,5556, 1018,9729,8588,2797,4321,4714,9658,8997,2080,5912, 9968,5558,9311,7047,6138,7618,5448,1466,7075,2166, 4025,3572,9605,1291,6027,2358,1911,2747,7068,1716, 9661,5849,3210,2554,8604,8010,7947,3685,2945,4224, 7014,9058,6259,9503,1615,1060,7787,8983,3822,2471, 5146,7066,1029,1777,7788,2941,3538,2912,3096,7421, 9175,6099,2930,4685,8465,8633,2628,7155,4307,9535, 4274,2857,6829,6226,8268,9377,9415,9059,4872,6072, out.dat 文件内容应当如下:
160 69 5460.51 __________________ 老枪
小于200个四位数之二(共四题)code:/* 已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数, 函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数Calvalue(), 其功能要求: 1.求出这文件中共有多少个
正整数totNum;2.求出这些数中的各位数字之和是偶数的数的个数totCnt, 以及满足此条件的这些数的算术平均值totPjz。最后main()函数调用函数WriteDat()把所求的结果输出到OUT.DAT文 件中。注意: 部分源程序存放在PROG1.C中。请勿改动数据文件IN.DAT中的任何数据,主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。*/ #include #include
#define MAXNUM 200 int xx[MAXNUM];int totNum = 0;/* 文件IN.DAT中共有多少个正整数 */ int totCnt = 0;/* 符合条件的正整数的个数 */ double totPjz = 0.0;/*平均值 */ int ReadDat(void);void WriteDat(void);void Calvalue(void){/**/ for(;xx[totNum];totNum++)if((xx[totNum]/1000+xx[totNum]/100%10+xx[totNum]/10%10+xx[totNum]%10)%2==0){ totCnt++;totPjz+=xx[totNum];} if(totCnt)totPjz/=totCnt;/**/ } void main(){ int i;clrscr();for(i = 0;i < MAXNUM;i++)xx[i] = 0;if(ReadDat()){ printf(“数据文件IN.DAT不能打开! 07n”);return;} Calvalue();printf(“文件IN.DAT中共有正整数=%d个n”, totNum);printf(“符合条件的正整数的个数=%d个n”, totCnt);printf(“平均值=%.2lfn”, totPjz);WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;if((fp = fopen(“in.dat”, “r”))== NULL)return 1;while(!feof(fp)){fscanf(fp, “%d,”, &xx[i++]);} fclose(fp);return 0;} void WriteDat(void){ FILE *fp;fp = fopen(“OUT.DAT”, “w”);fprintf(fp, “%dn%dn%.2lfn”, totNum, totCnt, totPjz);fclose(fp);} out.dat 文件内容应当如下:
160 91
5517.1200个四位数之三(共四题)code:/* 已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数, 函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数Calvalue(), 其功能要求: 1.求出这文件中共有多少个
正整数totNum;2.求这些数右移1位后, 产生的新数是奇数的数的个数totCnt, 以及满足此条件的这些数(右移前的值)的算术平均值totPjz。最后main()函数调用函数WriteDat()把所求的结果 输出到文件OUT.DAT中。注意: 部分源程序存放在PROG1.C中。请勿改动数据文件IN.DAT中的任何数据,主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。*/ #include #include
#define MAXNUM 200 int xx[MAXNUM];int totNum = 0;/* 文件IN.DAT中共有多少个正整数 */ int totCnt = 0;/* 符合条件的正整数的个数 */double totPjz = 0.0;/*平均值 */ int ReadDat(void);void WriteDat(void);void Calvalue(void){/**/ for(;xx[totNum];totNum++)if((xx[totNum]>>1)%2){ totCnt++;totPjz+=xx[totNum];} if(totCnt)totPjz/=totCnt;/**/ } void main(){int i;clrscr();for(i = 0;i < MAXNUM;i++)xx[i] = 0;if(ReadDat()){ printf(“数据文件IN.DAT不能打开! 07n”);return;} Calvalue();printf(“文件IN.DAT中共有正整数=%d个n”, totNum);printf(“符合条件的正整数的个数=%d个n”, totCnt);printf(“平均值=%.2lfn”, totPjz);WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;if((fp = fopen(“in.dat”, “r”))== NULL)return 1;while(!feof(fp)){ fscanf(fp, “%d,”, &xx[i++]);} fclose(fp);return 0;} void WriteDat(void){ FILE *fp;fp = fopen(“OUT.DAT”, “w”);fprintf(fp, “%dn%dn%.2lfn”, totNum, totCnt, totPjz);fclose(fp)} out.dat 文件内容应当如下:
160 80 5537.54 __________________ 老枪
小于200个四位数之四(共四题)code: /* 已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数, 函数ReadDat()读取这若干个正整数并存入数组xx中。请编
制函数Calvalue(), 其功能要求: 1.求出这文件中共有多少个 正整数totNum;2.求这些数右移1位后, 产生的新数是偶数的数 的个数totCnt, 以及满足此条件的这些数(右移前的值)的算术平均值totPjz。最后main()函数调用函数WriteDat()把所求的结果 输出到文件OUT.DAT中。
注意: 部分源程序存放在PROG1.C中。
请勿改动数据文件IN.DAT中的任何数据,主函数main()、读 数据函数ReadDat()和输出数据函数WriteDat()的内容。*/ #include #include
#define MAXNUM 200 int xx[MAXNUM];int totNum = 0;/* 文件IN.DAT中共有多少个正整数 */ int totCnt = 0;/* 符合条件的正整数的个数 */ double totPjz = 0.0;/*平均值 */ int ReadDat(void);void WriteDat(void);void Calvalue(void){/**/ for(;xx[totNum]>0;totNum++)if((xx[totNum]>>1)%2==0){ totCnt++;totPjz+=xx[totNum];} if(totCnt)totPjz/=totCnt;/**/ } void main(){ int i;clrscr();for(i = 0;i < MAXNUM;i++)xx[i] = 0;if(ReadDat()){ printf(“数据文件IN.DAT不能打开! 07n”);return;} Calvalue();printf(“文件IN.DAT中共有正整数=%d个n”, totNum);printf(“符合条件的正整数的个数=%d个n”, totCnt);printf(“平均值=%.2lfn”, totPjz);WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;if((fp = fopen(“in.dat”, “r”))== NULL)return 1;while(!feof(fp)){ fscanf(fp, “%d,”, &xx[i++]);} fclose(fp);return 0;} void WriteDat(void){ FILE *fp;fp = fopen(“OUT.DAT”, “w”);fprintf(fp, “%dn%dn%.2lfn”, totNum, totCnt, totPjz);fclose(fp);} out.dat 文件内容应当如下:
160 80 5447.93 __________________ 老枪
英文文章——字符串处理(共10题)
之一
code: /* 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到 字符串数组xx中;请编制函数SortCharD(), 其函数的功能是: 以 行为单位对字符按从大到小的顺序进行排序, 排序后的结果仍按行 重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把 结果xx输出到文件OUT2.DAT中。例: 原文: dAe,BfC.CCbbAA 结果: fedCBA., bbCCAA 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含 标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。*/ #include
in.dat 文件内容为:
You can create an index on any field, on several fields to be used
together, or on parts thereof, that you want to use as a key.The
keys in indexes allow you quick access to specific records and define
orders for sequential processing of a ISAM file.After you no longer
need an index, you can delete it.Addition and indexes have no effect
on the data records or on other indexes.You may want a field in field in each record to uniquely identify that
record from all other records in the file.For example, the Employee
Number field is unique if you do not assign the same number to two
different employees, and you never reassign these numbers to other
employees.If you wish to find or modify the record belonging to a
specific employee, this unique field saves the thouble of determining
whether you have the correct record.If you do not have a unique field, you must find the first record
the matches your key and determine whether the record is the one you
want.If it is not the correct one, you must search again to find others.If you know that you have a unique field within your records, you
can include this fact in the key description, and ISAM will allow only
unique keys.For example, if you specify that the employee numbers are
unique, ISAM only lets you add records to the file for, or change
numbers to, employee numbers that do not alreadly exist int file.out2.dat 文件内容应当为:
yxvuuttsssrroooonnnnnnllliiiffeeeeeeeeeddddccbaaaaaY, yywuuttttttttsssrrrrpoooooonnkhhhhgfeeeeeeeaaaaaT.,,yyxwuutssssssrrqpoooonnnnllkkiiiiiiffeeeeeeeeddddccccccaaa yuuttssssrrrrrrqpooooooonnnnllliiiggffffeeeeeeedcaaSMIAA.yxxvuttttsooonnnnnnnnliiiiihffeeeeeeeeeeedddddddccaaaaA., xtttssrrrrooooonnnihheeeeedddcaa.yyywuuutttttrrqooonnnnnmllliiiiiiihhfffeeeeeeddddccaaaaaY yxtttsrrrrrrrppoooooonmmmllllliihhhffeeeeeeeeeeddccaaFE., ywuuuuuttttssssrrqooooonnnnmmmliiiiihgffeeeeeeddbbaaN yyvuuttttsssssrrrrrpoooonnnnnmmliihhgffeeeeeeeeeeeeddbaa, yyywutttssrrrpoooooooonnnmmlliiiihhggfffeeeeeedddcbaI.yvuuuttttssssrqppooonnnmmllliiiiiiihhhgfffeeeeeeeeeeeddccba, ywvutttrrrrrooohhhheeeeeedccca.yyvuuuuuttttssrrrqooooonnnmliiiihhffffeeeeeddddcaaI,yyywuuttttttssrrrrroooonnnmmkiihhhhhheeeeeeeeeeeedddccaa ywuuttttttttssssrrrroooooonnnnnmiiiihhhgffeeeeedcccaaaaI.., yyyywwvuuuuuutttsrrrqoooooonnnlkiiiihhhffeeeeddcaaaI, yywwuttttssrpooonnnnnnllllllkiiiiiihhfeeeedddccccaaaaSMIA, yyyyxuuuutttsssrrrqpppooonnmmmllkiiihhffeeeeeeeeeeecbaaaF., yyuuutttssrrrrqoooooonnnllliihhgffeeeeeedddccaaSMIA, yyxuuttttttsssrrrpoooonnnnmmmlllliiihfeeeeeeeeddbbaaa., __________________ 字符串处理之二
code: /* 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入 到字符串数组xx中;请编制函数ConvertCharA(), 其函数的功能 是: 以行为单位把字符串中的所有小写字母改写成该字母的下一 个字母, 如果是字母z, 则改写成字母a,大写字母和其它字符保 持不变。把已处理的字符串仍按行重新存入字符串数组xx中。最 后main()函数调用函数WriteDat()把结果xx输出到文件OUT3.DAT 中。
例: 原文: Adb.Bcdza abck.LLhj 结果: Aec.Bdeab bcdl.LLik 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含 标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。*/ #include #include #include
char xx[50][80];int maxline = 0;/* 文章的总行数 */ int ReadDat(void);void WriteDat(void);void ConvertCharA(void){/**/ int i,j;for(i=0;i < maxline;i++)for(j=0;j < strlen(xx[i]);j++)if(xx[i][j]=='z')xx[i][j]='a';else if((xx[i][j]>='a')&&(xx[i][j]<'z'))xx[i][j]++;/**/ } void main(){ clrscr();if(ReadDat()){ printf(“数据文件IN.DAT不能打开!n 07”);return;} ConvertCharA();WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;char *p;if((fp = fopen(“IN.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(“OUT3.DAT”, “w”);for(i = 0;i < maxline;i++){ printf(“%sn”, xx[i]);fprintf(fp, “%sn”, xx[i]);} fclose(fp);}
out3.dat文件内容应当如下:
Ypv dbo dsfbuf bo joefy po boz gjfme, po tfwfsbm gjfmet up cf vtfe
uphfuifs, ps po qbsut uifsfpg, uibu zpv xbou up vtf bt b lfz.Tif
lfzt jo joefyft bmmpx zpv rvjdl bddftt up tqfdjgjd sfdpset boe efgjof
psefst gps tfrvfoujbm qspdfttjoh pg b ISAM gjmf.Agufs zpv op mpohfs
offe bo joefy, zpv dbo efmfuf ju.Aeejujpo boe joefyft ibwf op fggfdu
po uif ebub sfdpset ps po puifs joefyft.Ypv nbz xbou b gjfme jo gjfme jo fbdi sfdpse up vojrvfmz jefoujgz uibu
sfdpse gspn bmm puifs sfdpset jo uif gjmf.Fps fybnqmf, uif Enqmpzff
Nvncfs gjfme jt vojrvf jg zpv ep opu bttjho uif tbnf ovncfs up uxp
ejggfsfou fnqmpzfft, boe zpv ofwfs sfbttjho uiftf ovncfst up puifs
fnqmpzfft.Ig zpv xjti up gjoe ps npejgz uif sfdpse cfmpohjoh up b
tqfdjgjd fnqmpzff, uijt vojrvf gjfme tbwft uif uipvcmf pg efufsnjojoh
xifuifs zpv ibwf uif dpssfdu sfdpse.Ig zpv ep opu ibwf b vojrvf gjfme, zpv nvtu gjoe uif gjstu sfdpse
uif nbudift zpvs lfz boe efufsnjof xifuifs uif sfdpse jt uif pof zpv
xbou.Ig ju jt opu uif dpssfdu pof, zpv nvtu tfbsdi bhbjo up gjoe puifst.Ig zpv lopx uibu zpv ibwf b vojrvf gjfme xjuijo zpvs sfdpset, zpv
dbo jodmvef uijt gbdu jo uif lfz eftdsjqujpo, boe ISAM xjmm bmmpx pomz
vojrvf lfzt.Fps fybnqmf, jg zpv tqfdjgz uibu uif fnqmpzff ovncfst bsf
vojrvf, ISAM pomz mfut zpv bee sfdpset up uif gjmf gps, ps dibohf
ovncfst up, fnqmpzff ovncfst uibu ep opu bmsfbemz fyjtu jou gjmf.__________________ 老枪
字符串处理之三
code: /* 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到 字符串数组xx中;请编制函数SortCharA(), 其函数的功能是: 以 行为单位对字符按从小到大的顺序进行排序, 排序后的结果仍按行 重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把 结果xx输出到文件OUT1.DAT中。例: 原文: dAe,BfC.CCbbAA 结果: ,.ABCdef AACCbb 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含 标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。*/ #include #include #include
char xx[50][80];int maxline = 0;/* 文章的总行数 */ int ReadDat(void);void WriteDat(void);void SortCharA(void){/**/ int i,j,k,m,n;char ch;for(i=0;i < maxline;i++){ j=strlen(xx[i]);for(m=0;m < j-1;m++){ k=m;for(n=m+1;n < j;n++)if(xx[i][k] > xx[i][n])k=n;if(k!=m){ ch=xx[i][k];xx[i][k]=xx[i][m];xx[i][m]=ch;} } } /**/ } void main(){ clrscr();if(ReadDat()){ printf(“数据文件IN.DAT不能打开!n 07”);return;} SortCharA();WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;char *p;if((fp = fopen(“IN.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(“OUT1.DAT”, “w”);for(i = 0;i < maxline;i++){ printf(“%sn”, xx[i]);fprintf(fp, “%sn”, xx[i]);} fclose(fp);}
out1.dat 文件内容如下(注意每行的前面有若干空格):,Yaaaaabccddddeeeeeeeeeffiiilllnnnnnnoooorrsssttuuvxy ,.Taaaaaeeeeeeefghhhhknnooooooprrrrsssttttttttuuwyy
aaaccccccddddeeeeeeeeffiiiiiikkllnnnnoooopqrrsssssstuuwxyy.AAIMSaacdeeeeeeeffffggiiilllnnnnooooooopqrrrrrrssssttuuy ,.Aaaaaccdddddddeeeeeeeeeeeffhiiiiilnnnnnnnnooosttttuvxxy.aacdddeeeeehhinnnooooorrrrsstttx
Yaaaaaccddddeeeeeefffhhiiiiiiilllmnnnnnoooqrrtttttuuuwyyy ,.EFaaccddeeeeeeeeeeffhhhiilllllmmmnoooooopprrrrrrrstttxy Naabbddeeeeeeffghiiiiilmmmnnnnoooooqrrssssttttuuuuuwy ,aabddeeeeeeeeeeeeffghhiilmmnnnnnooooprrrrrsssssttttuuvyy.Iabcdddeeeeeefffgghhiiiillmmnnnooooooooprrrsstttuwyyy ,abccddeeeeeeeeeeefffghhhiiiiiiilllmmnnnoooppqrssssttttuuuvy.acccdeeeeeehhhhooorrrrrtttuvwy ,Iaacddddeeeeeffffhhiiiilmnnnoooooqrrrssttttuuuuuvyy
aaccdddeeeeeeeeeeeehhhhhhiikmmnnnoooorrrrrssttttttuuwyyy ,..Iaaaacccdeeeeeffghhhiiiimnnnnnoooooorrrrssssttttttttuuwy ,Iaaacddeeeeffhhhiiiiklnnnooooooqrrrstttuuuuuuvwwyyyy ,AIMSaaaaccccdddeeeefhhiiiiiikllllllnnnnnnoooprssttttuwwyy ,.Faaabceeeeeeeeeeeffhhiiikllmmmnnooopppqrrrssstttuuuuxyyyy ,AIMSaaccdddeeeeeeffghhiilllnnnooooooqrrrrsstttuuuyy ,.aaabbddeeeeeeeefhiiillllmmmnnnnooooprrrsssttttttuuxyy __________________ 老枪
字符串处理之四
code: /* 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到 字符串数组xx中;请编制函数StrCharJL(), 其函数的功能是: 以 行为单位把字符串中的所有字符的ASCII值左移4位, 如果左移后, 其字符的ASCII值小于等于32或大于100, 则原字符保持不变, 否则 就把左移后的字符ASCII值再加上原字符的ASCII值, 得到新的字符 仍存入原字符串对应的位置上,之后把已处理的字符串仍按行重新 存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果 xx输出到OUT7.DAT文件中。
原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含 标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。*/ #include #include #include
char xx[50][80];int maxline = 0;/* 文章的总行数 */ int ReadDat(void);void WriteDat(void);void StrCharJL(void){/**/ int i,j;char m;/****老王注:此题的关键是定义 char m。记得往年的考试类似题可以不必定义,如果要定义的话,则必须定义为 int 结果才能正确。看来理解出题 者的意图是机试的难点之一。****/ for(i=0;i < maxline;i++)for(j=0;j < strlen(xx[i]);j++){ m=xx[i][j]<<4;if((m>32)&&(m<=100))xx[i][j]+=m;} /**/ } void main(){ clrscr();if(ReadDat()){ printf(“数据文件IN.DAT不能打开!n 07”);return;} StrCharJL();WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;char *p;if((fp = fopen(“IN.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(“OUT7.DAT”, “w”);for(i = 0;i < maxline;i++){ printf(“%sn”, xx[i]);fprintf(fp, “%sn”, xx[i]);} fclose(fp);}
字符串处理之五
code: /* 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到 字符串数组xx中;请编制函数StrCharJR(), 其函数的功能是: 以 行为单位把字符串中的所有字符的ASCII值右移4位, 然后把右移后 的字符ASCII值再加上原字符的ASCII值, 得到新的字符仍存入原字 符串对应的位置上,之后把已处理的字符串仍按行重新存入字符串 数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文 件OUT8.DAT中。
原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含 标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。*/ #include #include #include
char xx[50][80];int maxline = 0;/* 文章的总行数 */ int ReadDat(void);void WriteDat(void);void StrCharJR(void){/**/ int i,j;for(i=0;i for(j=0;j xx[i][j]+=xx[i][j]>>4;/**/ } void main(){ clrscr();if(ReadDat()){ printf(“数据文件IN.DAT不能打开!n 07”);return;} StrCharJR();WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;char *p;if((fp = fopen(“IN.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(“%sn”, xx[i]);fprintf(fp, “%sn”, xx[i]);} fclose(fp);}
out8.dat 文件内容应当如下:
^u|“igt”iykg{k“gt”otjk•“ut”gt?“lokrj.”ut“zk}kygr”lokrjz“{u”hk“|zkj
{umk{nky.”uy“ut”wgy{z“{nkykul.”{ng{“?u|”~gt{“{u”|zk“gz”g“qk?0”Ynk qk?z“ot”otjk•kz“grru~”?u|“x|oiq”giikzz“{u”zwkioloi“ykiuyjz”gtj“jklotk
uyjkyz”luy“zkx|kt{ogr”wyuikzzotm“ul”g“MXEQ”lork0“El{ky”?u|“tu”rutmky tkkj“gt”otjk•.“?u|”igt“jkrk{k”o{0“Ejjo{out”gtj“otjk•kz”ng}k“tu”kllki{ ut“{nk”jg{g“ykiuyjz”uy“ut”u{nky“otjk•kz0
^u|”sg?“~gt{”g“lokrj”ot“lokrj”ot“kgin”ykiuyj“{u”|tox|kr?“ojkt{ol?”{ng{ ykiuyj“lyus”grr“u{nky”ykiuyjz“ot”{nk“lork0”Juy“k•gswrk.”{nk“Iswru?kk R|shky”lokrj“oz”|tox|k“ol”?u|“ju”tu{“gzzomt”{nk“zgsk”t|shky“{u”{~u jollkykt{“kswru?kkz.”gtj“?u|”tk}ky“ykgzzomt”{nkzk“t|shkyz”{u“u{nky kswru?kkz0”Ml“?u|”~ozn“{u”lotj“uy”sujol?“{nk”ykiuyj“hkrutmotm”{u“g zwkioloi”kswru?kk.“{noz”|tox|k“lokrj”zg}kz“{nk”{nu|hrk“ul”jk{kysototm ~nk{nky“?u|”ng}k“{nk”iuyyki{“ykiuyj0
Ml”?u|“ju”tu{“ng}k”g“|tox|k”lokrj.“?u|”s|z{“lotj”{nk“loyz{”ykiuyj
{nk“sg{inkz”?u|y“qk?”gtj“jk{kysotk”~nk{nky“{nk”ykiuyj“oz”{nk“utk”?u|
~gt{0“Ml”o{“oz”tu{“{nk”iuyyki{“utk.”?u|“s|z{”zkgyin“gmgot”{u“lotj”u{nkyz0 Ml“?u|”qtu~“{ng{”?u|“ng}k”g“|tox|k”lokrj“~o{not”?u|y“ykiuyjz.”?u|
igt“otir|jk”{noz“lgi{”ot“{nk”qk?“jkziyow{out.”gtj“MXEQ”~orr“grru~”utr? |tox|k“qk?z0”Juy“k•gswrk.”ol“?u|”zwkiol?“{ng{”{nk“kswru?kk”t|shkyz“gyk |tox|k.”MXEQ“utr?”rk{z“?u|”gjj“ykiuyjz”{u“{nk”lork“luy.”uy“ingtmk t|shkyz”{u.“kswru?kk”t|shkyz“{ng{”ju“tu{”grykgjr?“k•oz{”ot{“lork0 __________________ 老枪
字符串处理之六
code: /* 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到 字符串数组xx中;请编制函数StrOL(), 其函数的功能是: 以行为 单位对行中以空格或标点符号为分隔的所有单词进行倒排,同时去 除标点符号,之后把已处理的字符串(应不含标点符号)仍按行重新 存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果 xx输出到文件OUT6.DAT中。例如: 原文: You He Me I am a student.结果: Me He You student a am I 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含 标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。
**** 同1998年3B第六题 **** */ #include
如果漏写,结果显然不正确,但并不影响得分。*/ yy[n]=0;strcpy(xx[i],yy);} /* 标准答案与此法结果相比,每行后面多一个空格。*/ } void main(){ clrscr();if(ReadDat()){ printf(”数据文件IN.DAT不能打开!n 07“);return;} StrOL();WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;char *p;if((fp = fopen(”IN.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(”OUT6.DAT“, ”w“);for(i = 0;i < maxline;i++){ printf(”%sn“, xx[i]);fprintf(fp, ”%sn“, xx[i]);} fclose(fp);} out6.dat 内容应当如下:
used be to fields several on field any on index an create can You
The key a as use to want you that thereof parts on or together define and records specific to access quick you allow indexes in keys
longer no you After file ISAM a of processing sequential for orders
effect no have indexes and Addition it delete can you index an need
indexes other on or records data the on
that identify uniquely to record each in field in field a want may You
Employee the example For file the in records other all from record
two to number same the assign not do you if unique is field Number
other to numbers these reassign never you and employees different
a to belonging record the modify or find to wish you If employees
determining of thouble the saves field unique this employee specific
record correct the have you whether
record first the find must you field unique a have not do you If
you one the is record the whether determine and key your matches the
others find to again search must you one correct the not is it If want
you records your within field unique a have you that know you If
only allow will ISAM and description key the in fact this include can
are numbers employee the that specify you if example For keys unique
change or for file the to records add you lets only ISAM unique
file int exist alreadly not do that numbers employee to numbers 字符串处理之七
code: /* 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入 到字符串数组xx中;请编制函数ConvertCharD(), 其函数的功能 是: 以行为单位把字符串中的所有小写字母改写成该字母的上一 个字母, 如果是字母a, 则改写成字母z,大写字母和其它字符保 持不变。把已处理的字符串仍按行重新存入字符串数组xx中。最 后main()函数调用函数WriteDat()把结果xx输出到文件OUT4.DAT
中。
例: 原文: Adb.Bcdza abck.LLhj 结果: Aca.Bbcyz zabj.LLgi 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含 标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。*/ #include
i++;} maxline = i;fclose(fp);return 0;} void WriteDat(void){ FILE *fp;int i;clrscr();fp = fopen(”OUT4.DAT“, ”w“);for(i = 0;i < maxline;i++){ printf(”%sn“, xx[i]);fprintf(fp, ”%sn“, xx[i]);} fclose(fp);} out4.dat 文件内容应当如下:
Ynt bzm bqdzsd zm hmcdw nm zmx ehdkc, nm rdudqzk ehdkcr sn ad trdc
snfdsgdq, nq nm ozqsr sgdqdne, sgzs xnt vzms sn trd zr z jdx.Tgd
jdxr hm hmcdwdr zkknv xnt pthbj zbbdrr sn rodbhehb qdbnqcr zmc cdehmd
nqcdqr enq rdptdmshzk oqnbdrrhmf ne z ISAM ehkd.Aesdq xnt mn knmfdq
mddc zm hmcdw, xnt bzm cdkdsd hs.Acchshnm zmc hmcdwdr gzud mn deedbs
nm sgd czsz qdbnqcr nq nm nsgdq hmcdwdr.Ynt lzx vzms z ehdkc hm ehdkc hm dzbg qdbnqc sn tmhptdkx hcdmshex sgzs
qdbnqc eqnl zkk nsgdq qdbnqcr hm sgd ehkd.Fnq dwzlokd, sgd Eloknxdd
Ntladq ehdkc hr tmhptd he xnt cn mns zrrhfm sgd rzld mtladq sn svn
cheedqdms dloknxddr, zmc xnt mdudq qdzrrhfm sgdrd mtladqr sn nsgdq
dloknxddr.Ie xnt vhrg sn ehmc nq lnchex sgd qdbnqc adknmfhmf sn z
rodbhehb dloknxdd, sghr tmhptd ehdkc rzudr sgd sgntakd ne cdsdqlhmhmf
vgdsgdq xnt gzud sgd bnqqdbs qdbnqc.Ie xnt cn mns gzud z tmhptd ehdkc, xnt ltrs ehmc sgd ehqrs qdbnqc
sgd lzsbgdr xntq jdx zmc cdsdqlhmd vgdsgdq sgd qdbnqc hr sgd
nmd xnt
vzms.Ie hs hr mns sgd bnqqdbs nmd, xnt ltrs rdzqbg zfzhm sn ehmc nsgdqr.Ie xnt jmnv sgzs xnt gzud z tmhptd ehdkc vhsghm xntq qdbnqcr, xnt
bzm hmbktcd sghr ezbs hm sgd jdx cdrbqhoshnm, zmc ISAM vhkk zkknv nmkx
tmhptd jdxr.Fnq dwzlokd, he xnt rodbhex sgzs sgd dloknxdd mtladqr zqd
tmhptd, ISAM nmkx kdsr xnt zcc qdbnqcr sn sgd ehkd enq, nq bgzmfd
mtladqr sn, dloknxdd mtladqr sgzs cn mns zkqdzckx dwhrs hms ehkd.__________________ 老枪
字符串处理之八
code: /* 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到 字符串数组xx中;请编制函数CharConvA(), 其函数的功能是: 以 行为单位把字符串中的最后一个字符的ASCII值右移4位后加最后第 二个字符的ASCII值, 得到最后一个新的字符, 最后第二个字符的 ASCII值右移4位后加最后第三个字符的ASCII值,得到最后第二个新 的字符, 以此类推一直处理到第二个字符, 第一个字符的ASCII值 加原最后一个字符的ASCII值, 得到第一个新的字符, 得到的新字 符分别存放在原字符串对应的位置上,之后把已处理的字符串仍按 行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT10.DAT中。
原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含 标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。*/ #include
for(j=ll-1;j;j--)xx[i][j]=(xx[i][j]>>4)+xx[i][j-1];xx[i][0]+=ch;} /**/ } void main(){ clrscr();if(ReadDat()){ printf(”数据文件IN.DAT不能打开!n 07“);return;} CharConvA();WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;char *p;if((fp = fopen(”IN.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(”OUT10.DAT“, ”w“);for(i = 0;i < maxline;i++){ printf(”%sn“, xx[i]);fprintf(fp, ”%sn“, xx[i]);} fclose(fp);} 字符串处理之九
code: /*
函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到 字符串数组xx中;请编制函数StrOR(), 其函数的功能是: 以行为 单位依次把字符串中所有小写字母o 左边的字符串内容移到该串的 右边存放, 然后并把小写字母o删除,余下的字符串内容移到已处理 字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串 数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文 件OUT5.DAT中。
例如: 原文: You can create an index on any field.you have the correct record.结果: n any field.Yu can create an index rd.yu have the crrect rec 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含 标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。*/ #include
WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;char *p;if((fp = fopen(”IN.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(”OUT5.DAT“, ”w“);for(i = 0;i < maxline;i++){ printf(”%sn“, xx[i]);fprintf(fp, ”%sn“, xx[i]);} fclose(fp);}
out5.dat 文件内容应当如下:
be usedYu can create an index n any field, n several fields t use as a key.Thetgether, r n parts theref, that yu want t
rds and definekeys in indexes allw yu quick access t specific rec
ngerrders fr sequential prcessing f a ISAM file.After yu n l effectneed an index, yu can delete it.Additin and indexes have n
ther indexes.n the data recrds r n
uniquely identify thatYu may want a field in field in each recrd t
yeerecrd frm all ther recrds in the file.Fr example, the Empl Number field is unique if yu d nt assign the same number t tw therdifferent emplyees, and yu never reassign these numbers t aemplyees.If yu wish t find r mdify the recrd belnging t f determiningspecific emplyee, this unique field saves the
thuble
rd.whether yu have the crrect rec
rdIf yu d nt have a unique field, yu must find the first rec
uthe matches yur key and determine whether the recrd is the ne y
thers.want.If it is nt the crrect ne, yu must search again t find
uIf yu knw that yu have a unique field within yur recrds, y nlycan include this fact in the key descriptin, and ISAM will allw
yee numbers areunique keys.Fr example, if yu specify that the empl
r changeunique, ISAM nly lets yu add recrds t the file fr, t alreadly exist int file.numbers t, emplyee numbers that d n __________________ 老枪
字符串处理之10 code: /* 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到 字符串数组xx中;请编制函数ChA(), 其函数的功能是: 以行为单 位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值, 得 到第一个新的字符, 第二个字符的ASCII值加第三个字符的ASCII值, 得到第二个新的字符, 以此类推一直处理到最后第二个字符, 最后 一个字符的ASCII值加原第一个字符的ASCII值, 得到最后一个新的 字符, 得到的新字符分别存放在原字符串对应的位置上,之后把已 处理的字符串逆转后仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT9.DAT中。原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含 标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函 数WriteDat()的内容。*/ #include
for(j=0;j < strlen(xx[i])-1;j++)xx[i][j]+=xx[i][j+1];xx[i][j]+=ch;strrev(xx[i]);} /**/ } void main(){ clrscr();if(ReadDat()){ printf(”数据文件IN.DAT不能打开!n 07“);return;} ChA();WriteDat();} int ReadDat(void){ FILE *fp;int i = 0;char *p;if((fp = fopen(”IN.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(”OUT9.DAT“, ”w“);for(i = 0;i < maxline;i++){ printf(”%sn“, xx[i]);fprintf(fp, ”%sn", xx[i]);} fclose(fp);}