文档视界 最新最全的文档下载
当前位置:文档视界 › 计算机网络通信程序设计--TCP文件传输程序要点

计算机网络通信程序设计--TCP文件传输程序要点

计算机网络通信程序设计--TCP文件传输程序要点
计算机网络通信程序设计--TCP文件传输程序要点

目录

一、实验名称:TCP文件传输程序 (2)

二、实验要求 (2)

三、总体规划 (2)

1、网络传输协议的选择 (2)

2、TCP协议在VC++中的实现 (2)

3、传输数据的缓冲问题 (3)

4、Socket的文件化管理 (3)

5、数据的串行化问题 (4)

6、接收数据判断是否传输完毕的方法 (4)

四、实验运行测试 (4)

五、心得体会 (7)

六、程序源代码 (8)

1、建立服务器侦听套接字的类CListenSocket的定义与实现 (8)

2、建立数据传输套接字的类CTransSocket的定义与实现 (8)

3、用于数据串行化的类CSave的定义与实现: (9)

4、主对话框CTcpDlg类的定义与实现: (10)

七、参考文献 (20)

一、实验名称:TCP文件传输程序

二、实验要求

1、设计一个应用程序,该应用程序能够实现网络中两台计算机之间传输文件。

2、一个程序既能够建立服务器又能够以终端的形式连接服务器。

3、终端或者服务器既能够发送文件又能够接收文件。

4、传送文件类型应为任何类型,文件大小为任意。

三、总体规划

1、网络传输协议的选择

在TCP/IP协议栈中,有两个高级协议是我们网络应用程序编写者应该了解的,它们"传输控制协议"(Transmission Control Protocol,简称TCP)和"用户数据报协议"(User Datagrm Protocol,简称UDP)。

TCP是面向连接的通信协议,TCP提供两台计算机之间的可靠无错的数据传输。应用程序利用TCP进行通信时,源和目标之间会建立一个虚拟连接。这个连接一但建立,两台计算机之间就可以把数据当作一个双向字节流进行交换。

UDP是无连接通信协议,UDP不保证可靠数据的传输,但能够向若干个目标发送数据,接收发自若干个源的数据。简单地说,如果一个主机向另外一台主机发送数据,这一数据就会立即发出,而不管另外一台主机是否已准备接收数据。如果另外一台主机收到了数据,它不会确认收到与否。

为了使两台计算机之间传输的文件数据不会丢失或发生错误,应该采用TCP协议。

2、TCP协议在VC++中的实现

在VC++中,网络协议的实现有以下几种方式:

a、采用WinSocket API函数。

API函数中提供了基本Socket的系统调用,具体实现方法为服务器端首先要调用socket()函数建立一个流式套接字,用bind()函数与本机的一个端口建立关联,继续调用listen()函数将套接字置于被动的侦听方式以监听连接,然后调用accept()函数进入等待状态之后才可以接收来自客户端的请求,一旦接收到客户端通过connect发出的连接请求,accept将返回一个新的套接字描述符。通过此套接字描述符调用send()或recv()函数即可与客户端进行数据收发。待数据传送完成,服务器客户端调用closesocket()关闭套接字。

该方法在编程过程中需要注意socket连接的整个过程,编程工作量大,编程效率低,单却可以加深对网络协议的认识。

程序流程示意图如下:

b、采用VC++中提供的MFC类,CAsyncSocket或CSocket.

两个类都对WinSocket API进行了封装,CSocket对它的封装比CAsyncSocket更深,使得对于从未接触过WinSockets API的编程程序员,也能够编写网络程序。

而本程序也是采用了CSocket类进行编程。

3、传输数据的缓冲问题

本机要传给对方的文件不是从外存直接通过网络发送的,而对方发送的数据也不是直接存入外存的。而是在内存中开辟一块缓冲区,从外存取出的文件先存入缓冲区,然后传给socket。而从socket接收的数据也是先存入缓冲区然后再存到外存。

为了解决缓冲问题,VC++添加了CArchive类,CArchive类专门用来管理一块内存单元,其大小可以自己来定义。用CArhive类既以把数据载入分配的内存区,又可以将内存区的数据存入文件。在该类的对象初始化时,需要和某个文件建立连接,这样数据就可以载入或存储了。

4、Socket的文件化管理

在大多数编程环境和编程语言中大多把socket看作一个特殊的文件,其传输过程就可以看作是对文件的读写操作。而VC++也是如此。

为了便于网络Socket的管理,在VC++中,可以对网络Socket实现文件化管理。为了实现该功能,需要用到VC++中的类CSocketFile类,该类直接派生于CFile类,使用该类可以达到对Socket文件化管理的目的。如CSocketFile类可以与CArchive类建立连接,这样就为Socket创立了一块缓冲区。应该注意的是虽然CSocketFile类直接从CFile 类中派生过来,但CFile类中的一些函数CSocket是不能调用的,如果调用,系统便会返回错误。

5、数据的串行化问题

从对方的计算机传输过来的数据存入了内存,如何将这些数据写入文件呢?要发送的文件如何将其载入内存?在这个程序里我采用了数据串行化方法。也就是通过对象的Serialize()的重载来实现文件的存取。我在程序中采用了通过重载CObject类中的Serialize()的方式,具体做法是:从文件中读取文件数据存入数组,利用CArchive的重载运算符<< ,将数组数据读入内存,而存数据过程与其相反。

6、接收数据判断是否传输完毕的方法

文件接受数据时怎样才能判断已经接受完毕呢?我采用的方法是在传输包上加标记位的方法。每发送一个数据包,总在最前面加一个位m_WEnd,如果标记为0,说明未传输完毕,以后还有数据传送过来,如果标记为1,说明已经传输完毕,可以进行一些后续工作。而另一端,每接受一个数据包,就检查以下该标记位,以确定是否传输完毕。

四、实验运行测试

1、建立服务器

2、客户端建立连接用于建立服务器

用于客户端连接

用于发送文件

用于接收文件用于显示状态

3、发送文件

a、客户端发送

b、服务器端接收

4、成功发送

5、在E:盘中查找接收到的文件

此为接收到的

文件

五、心得体会

在这五天的时间里我按照设计书的要求应用网络编程的相关知识编写了一个实现文件传输的应用程序。在编写过程中,收获颇丰。首先是对TCP协议和UDP协议有了更进一步的认识;其次在编写过程中,通过翻阅书籍学习了VC++编程和MFC的相关内容,拓展了自己的知识面,学到了很多在课堂上无法学到的东西。

当然,由于对Socket编程毕竟还不太熟练,难免会出现一些问题,现将这些问题总结如下:

1、开始时在数据串行化的设计时,直接用

CArchive类的对象<< CFile类的对象

或CArchive类的对象>> CFile类的对象

出现错误,查阅MSDN发现不能直接用<< 运算符不能直接对CFile类的对象进行操作。

2、接收端操作同数据的传输必须同步,即必须确保在接收数据时,应确保数据已经传送到了接收端,也就是防止因为数据为传送过来而导致的接收失败。为了防止接收失败而导致数据丢失,应反复接收,直到接收数目符合为止。

如:i = 0;

while(i < m_WNum)

i = ar.Read(&Bbuf[i], m_WNum - i) + i;

所幸的是这些问题都在参考资料和老师的帮助下得到了解决。最终圆满的完成了课程设计任务书的要求。自身分析问题和解决问题的能力也得到了提升,为以后的实验设计奠定了良好的基础。在这里要感谢老师对我的悉心指导,您辛苦了!

六、程序源代码

1、建立服务器侦听套接字的类CListenSocket的定义与实现

定义部分:

class CListenSocket : public Csocket//该类用于服务器端的侦听

{

public:

C TcpDlg *m_pSendDlg; //加该成员为了调用其内的函数。

public:

C ListenSocket(CTcpDlg *pSendDlg);

v irtual ~CListenSocket();

public:

v irtual void OnAccept(int nErrorCode);

};

实现部分:

CListenSocket::CListenSocket(CTcpDlg *pSendDlg)

{

m_pSendDlg = pSendDlg;

}

void CListenSocket::OnAccept(int nErrorCode) //当服务器端收到客

//户端的连接请求时执行的代码。

{

C Socket::OnAccept(nErrorCode);

m_pSendDlg->ProcessAccept();

}

2、建立数据传输套接字的类CTransSocket的定义与实现

定义部分:

class CTransSocket : public Csocket//该类用于两端的连接和传输

{

public:

C TcpDlg *m_pSendDlg;

public:

C TransSocket(CTcpDlg *pSendDlg);

v irtual ~CTransSocket();

public:

v irtual void OnReceive(int nErrorCode);

};

实现部分:

CTransSocket::CTransSocket(CTcpDlg *pSendDlg)

{

m_pSendDlg = pSendDlg;

}

void CTransSocket::OnReceive(int nErrorCode) //当收到发送

//端发送的数据时执行的代码。

计算机一级考试选择题题库150道(附答案)

计算机一级考试选择题题库150道(附答案) 1. 根据计算机使用的电信号来分类,电子计算机分为数字计算机和模拟计算机,其中,数字计算机是以( )为处理对象。 A)字符数字量 B)物理量 C)数字量 D)数字、字符和物理量 ___________________________________________________________ _____答案:C 2. 下列关于世界上第一台电子计算机ENIAC的叙述中,不正确的是( )。 A)ENIAC是1946年在美国诞生的 B)它主要采用电子管和继电器 C)它是首次采用存储程序和程序控制使计算机自动工作 D)它主要用于弹道计算 ___________________________________________________________ _____答案:C 3. 世界上第一台计算机产生于( )。 A)宾夕法尼亚大学 B)麻省理工学院 C)哈佛大学 D)加州大学洛杉矶分校

___________________________________________________________ _____答案:A 4. 第一台电子计算机ENIAC每秒钟运算速度为()。 A)5000次 B)5亿次 C)50万次 D)5万次 ___________________________________________________________ _____答案:A 5. 冯.诺依曼提出的计算机体系结构中硬件由()部分组成。 A)2 B)5 C)3 D)4 ___________________________________________________________ _____答案:B 6. 科学家( )奠定了现代计算机的结构理论。 A)诺贝尔 B)爱因斯坦 C)冯.诺依曼 D)居里 ___________________________________________________________ _____答案:C 7. 冯·诺依曼计算机工作原理的核心是( )和“程序控制”。

计算机程序设计技术证书考试大纲

二维动画设计工程师技术水平证书( Flash) 考试大纲 一、考试性质、目的和要求: (1) 考试性质和目的 本考试的目的在于使合格人员熟悉运用Flash 软件进行二维动画设计的基础知识、基本概念、基本制作与应用等方面的基础知识,掌握计算机二维动画设计(FLASH)基本技能,以便考生达到计算机二维设计工程师的水平。 (2) 考试的基本要求 1) 掌握计算机二维动画制作的基本概念 2) 熟悉计算机二维动画的发展前景与市场需求,制作软件的操作原理,应熟练掌握。 3) 以动态动画为基础,掌握主要Flash 的功能及应用特点 4) 熟练掌握基础动画的制作方法,能够根据实际应用进行影视动画和网页动画的制作。 5) 熟悉场景应用特点,能够根据相应的动画效果进行制作。 6) 熟悉场景动画主要特点,能够根据需要制作出基本的场景动画。 7) 掌握动作和基本脚本工作原理,能够根据应用需要选择、配置动画交互效果。 8) 根据网站动画的需要,能熟练制作出相应的网页动画与Flash 按钮,以达到为网页增强视觉效果。 二、适应岗位 二维动画工程师/网页动画工程师 1. 具备Flash 动画制作的基本知识; 2. 可以完成场景动画元素的规划、设计、绘制与调试; 3. 可对网页的实际需求,制作出相应风格的动画、按钮。 三、考试说明 1.考试形式: 应用工业和信息化部电子教育与考试中心考试系统,上机考试。 2.考试分值比例: 二维动画设计(Flash)工程师技术水平证书考试试卷由理论考试和实践考试两部分组成。试卷总分值为 100 分,其中理论题占25 分,实践题占75 分。 3.考试时间:150 分钟。 4.考核目标: 全面考察学生对于计算机二维动画基础知识、时间轴、逐帧动画、位移动画、形变动画、蒙版动画、脚本动画,以及与原画创作思想等知识的掌握程度。 四、考试内容 一:基本操作与移位动画 1、软件的概述 2、操作界面 3、椭圆工具的使用 4、更改椭圆的颜色 5、如何将散件装换为元件 6、帧的概念 7、帧速率 8、矩形工具与多边形工具的使用 9、圆角矩形的调整

计算机程序设计训练(东北石油大学)

东北石油大学 计算机程序设计训练 2014年6月28日

程序设计训练任务书 课程C计算机程序设计训练 专业测控姓名*** 学号*** 主要内容: 【程序 1】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 【程序2】题目:文件操作,要求以二进制方式打开命令行参数中指定的文件,并将二进制方式读取的文件数据(0和1)存储为文本文件,即文件内容是ASCII的0与1方式。 【程序 3】题目:空间直角坐标系变换程序,在空间直角坐标系中,如果保持原点不动,x轴偏转α度,y 轴偏转β度,求z轴偏转的角度以及z轴在原坐标系中XY平面的投影. 【程序 4】题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 【程序 5】题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。【程序 6】题目:要求设计一个程序对从键盘输入一个字符串str,str长度小于99,然后在屏幕打印出一个新字符串,新字符串的构成为AABB10strXCCDD,其中AABB和CCDD是开始标志和结束标志,第5、6位是字符串str的长度,X是整个字符串的逻辑异或结果。 【程序 7】题目:要求设计一个程序提取程序6的输出字符串中的内容,并打印到屏幕上。 【程序 8】题目:使用递归方式求解hanoi塔问题。 【程序 9】题目:设计两个链表,分别输入2个和3个数据,然后连接两个链表,采用搜索的方式找出链表中最大值与最小值。 【程序10】题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 【程序11】题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。 【程序12】题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。 基本要求: 1.至少完成10个程序,程序运行结果正确 2.程序可读性好,要有注释 3.所有程序完成后,统一保存为.c文件,用winrar压缩后发送到邮箱dqzly@https://www.docsj.com/doc/f813769948.html, 4.撰写训练报告,7月10日交到自动化馆104 完成期限201*年7月1**号 指导教师*** 201*年6 月**日

程序设计基础期末复习汇总.doc

《程序设计基础》期末复习 考试题型和分值。 一、单选题(20小题,每题2分) 二、填空题(共20题,计20分) 三、编程填空题(给出程序的输出结果,共5题,14分) 四、读程序题(补充程序,共2小题,,共26分) 程序练习: 1. 输出1-10之间所有的偶数和它们的平方。 2. 输出所有的水仙花数。 3. 从键盘输入一行字符,统计其中有多少个单词。假设单词之间是以空格分开。 4. 编程先由计算机“想” 一个1?100之间的数请人猜,如果人猜对了,贝U 结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。 5. 编写程序,要求在main函数接受一个整型变量,将其作为参数传入IsPrime 函数中,IsPrime函数根据传入的值确定返回值,如果<2,返回0;如果不是素数,返回1; 如果是素数,返回2O主函数根据返回值输出相应的提示信息:输入不合法,不是素数,是素数。 6. 编写程序:给学生出一道加法运算题,然后判断学生输入的答案对错与否。 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示 “Right!,”否则提示重做,显示“ Not correct! Try again!",重复要求输入答案,直到输入结果正确,程序结束。

要求:用Add函数来进行两个整数的加法运算;用Print函数判断输入的答案正确与否;用main 函数输入两个相加的数和学生的答案,然后调用Add函数和Print函数判进行判断和显示输出。 7. 利用指针编写两个整数交换的函数。 8. 从10个元素的数组中找出最大值和最小值,并记录最大值和最小值对应的元 素的下标位置。 9. 给定40个数,按照要求进行排序并输出排序的结果。 程序设计ABC 1. 程序运行的方式分为哪两种?(编译运行和解释运行) 2 .什么叫编译器,其功能是什么?(把程序设计语言转换成目标代码的软件称为编译器) 数据类型、运算符与表达式 4.C程序的特点? 函数是C程序的基本单位。一个C程序有且仅有一个main函数(主函数), 总是从main函数开始执行,在main函数中结束,与其位置无关; 函数由函数头和函数体组成 C程序的书写格式:C语句都以分号结束;允许一行多句,但最好一行一 句并按照锯齿形(缩进式)书写,提高可读性和可测试性;适当使用注释 (注释中的语句不参与编译,不能发现其中的拼写错误)。 2. C语言标识符的命名规则,会判断哪些是合法的哪些不合法。

计算机一级考试题库及答案

2016计算机一级考试题库及答案 一、选择题 1以下关于编译程序的说法正确的是( zz? )。 A.编译程序属于计算机应用软件,所有用户都需要编词程序 B.编译程序不会生成目标程序,而是直接执行源程序 C.编译程序完成高级语言程序到低级语言程序的等价翻译 D.编译程序构造比较复杂,一般不进行出错处理 【参考答案】:C 【参考解析】:编译程序就是把高级语言变成计算机可以识别的二进制语言,即编译程序完成高级语言程序到低级语言程序的等价翻译。

2用8位二进制数能表示的最大的无符号整数等于十进制整数( )。 【参考答案】:A 【参考解析】:用8位二进制数能表示的最大的无符号整数是,转化为十进制整数是28-1=255。 3在数据管理技术发展的三个阶段中,数据共享最好的是( )。 A.人工管理阶段 B.文件系统阶段 C.数据库系统阶段 D.三个阶段相同 【参考答案】:C 【参考解析】:数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择C。 4在E—R图中,用来表示实体联系的图形是( )。

A.椭圆形 B.矩形 C.菱形 D.三角形 【参考答案】:C 【参考解析】:在E—R图中实体集用矩形,属性用椭圆,联系用菱形。 5软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。 A.学生成绩管理系统 语言编译程序 操作系统 D.数据库管理系统 【参考答案】:A

【参考解析】:软件按功能可以分为:应用软件、系统软件、支撑软件。操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属予系统软件。所以B、C、D都是系统软件,只有A是应用软件。 6一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。 【参考答案】:A 【参考解析】:根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为1的结点的个数是25-5-4=16个。 7下列叙述中正确的是( )。 A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

计算机程序设计员理论试题库

计算机程序设计员高级理论知识训练题计算机程序设计员高级理论知识训练题选择一个正确的答案,一、单项选择(选择一个正确的答案,将相应的字母填入题内的括号中。) 单项选择选择一个正确的答案将相应的字母填入题内的括号中。1. 计算机程序设计员在工作中不应该( )。A、谦虚谨慎、胸襟宽阔B、严格按照工作程序及相关文档的规范开展工作C、善于表现自己的成绩,力求突出自我D、时刻保持朝气和活力2. 遵纪守法指的是计算机程序设计员要遵守职业纪律和与职业相关的( )。A、刑法、民法、劳动法B、保密法、劳动法等其他法律C、法律、法规、商业道德D、道德规范3. 计算机程序员掌握着用户软件系统的重要信息,因此要求程序设计人员必须具备( )的职业道德。A、严谨务实B、工作耐心C、谦虚谨慎D、严守机密4. 计算机程序设计员在工作中要从客观实际出发,不懂不装懂,多向用户学习,切忌( )。A、服务第一B、一切向钱看C、客户第一D、主观臆断5. 从( )的角度看,计算机程序设计员必须了解和熟悉与自身职业有直接或间接关系的领域中取得的新成果,才能更好地掌握本职业的各项技能。A、管理B、发展C、效益D、业务 6. 在多个层次的存储器系统中,上一层的存储器较下一层存储器的容量小,( )。A、失效率高B、离CPU 远C、速度快D、成本低7. 按存储的工作方式分类,存储器可分为( )。A、软盘、硬盘、光盘B、半导体存储器、磁表面存储器、光存储器C、RAM、ROM、BIOS D、随机读写存储器、顺序读写存储器、只读存储器8. 按( )来划分,总线可以分为8 位总线、16 位总线、32 位总线等。A、总线所处的层次B、用途C、数据线的宽度D、信息的传输方向9. ( )翻译程序在语言程序翻译时,读入一句源程序,则翻译一句,执行一句,反反复复直到最终完成。A、编译型B、过程型C、解释型D、脱机型10. 在缓冲技术中,( )是以专用的寄存器作为缓冲器,费用较高。A、软件缓冲B、硬件缓冲C、多重缓冲D、单缓冲11. 在文件结构中,( )对用户是透明的。A、字符型文件结构B、字节型文件结构C、逻辑的文件结构D、物理的文件结构12. 在( )过程中,用户不能进行任何干预,一切由系统自动进行。A、联机作业控制B、脱机作业控制C、动态作业控制D、实时作业控制13. 数据模型按不同的应用层次可划分为两类:一类是概念数据模型,另一类是( )。A、概念模型B、逻辑模型C、实体模型D、物理模型14. 在数据库的数据模型中,( )规定了如何用基本的数据项组织成较大的数据单位,以描述实体类型和实体之间联系。1 A、数据结构B、记录结构C、数据操作D、库结构15. 数据库系统是一个复杂的系统,是存储介质、处理对象和管理系统的集合体,由数据库、硬件支持系统、软件支持系统和( )四部分组成。A、数据库管理员B、数据模型描述C、操作系统D、应用系统16. JavaScript 是一种安全语言,它( )。A、允许访问本地的硬盘B、可以将数据存入到服务器上C、能通过浏览器实现信息浏览或动态交互D、允许对网络文档进行修改和删除17. 组件技术是分布式( )的技术。 A、面向过程 B、面向对象 C、面向结构 D、模块化18. 在需求分析阶段,确定系统的功能要求,就是确定( )。A、要解决的问题是什么B、项目的验收标准C、系统的规模D、系统必须完成的所有功能19. 在模块划分中,类是( )的模块。A、面向功能B、面向过程C、面向对象D、面向结构20. ( )主要是指程序的运行效率和存储效率两个方面。A、编码风格B、代码调试C、软件测试D、程序性能优化21. 在软件测试方法中,白盒测试法把程序看成是一个透明的盒子,以程序的内部结构和( )为依据,对程序的所有逻辑路径进行细致的检查。A、功能B、算法C、外部结构D、处理过程22. 软件管理按时间可划分为( )和使用维护管理。A、软件设计管理B、生产管理C、开发进度管理D、技术管理23. 在软件质量特性中,软件的( )是指在规定条件下,在规定的时间内,不引起系统失效的概率。A、可靠性B、功能度C、易使用性D、时间经济性24. ( )是网络的核心,它的主要任务是为网络上的其它机器提供服务。 A、网络协议 B、工作站 C、服务器 D、客户机25. 域名服务器上运行着一个数据库系统,数据库中保存的是域名地址与( )的对应。A、MAC 地址B、URL 地址C、TCP 地址D、IP 地址26. 在Web 客户端存在的主要安全威胁是,Web 浏览器( )。A、用户名和口令都是原样传送B、拥有不安全的程序C、支持下载嵌在HTML 页面中的脚本程序并在浏览器中执行D、不支持任何加密传输方案27. 网络级防火墙的一个基本例子就是位于Internet 和( )之间的路由器,它根据数据包的来源、目的地址和端口来过滤。 A、外部网络 B、内部网络 C、以太网 D、服务器28. DES(数据加密标准)中,D 代表的英文单词是( )。 A、Data B、Driver C、Direct D、Database 29. 著作权是指作者及其他著作权人对其文学、艺术、科学作品所享有的人身权利和( )的总称。A、署名权利B、发行权利C、名誉权利D、财产权利30. 专利权人具有( )和接受推广应用的义务。A、缴纳年费B、转让专利C、许可他人实施其专利D、实施其专利 2 31. 商标是指商品的生产者、经营者或( )的提供者用以标明自己所生产、经营的商品或提供的服务与其他人

VFP程序设计题汇总

一.程序设计题汇总 1.通过输入学生的学号(字符型)查找学生,若找到该学生,先输出学号与姓名,然后输出“英语”和“计算机实用技术”成绩。若找不到该学生输出“查无该生”。(设表文件“学生信息”满足题目需要) set talk off clear use 学生信息 accept "请输入学生学号:" to xh locate for 学号==xh if !eof() 学号,姓名 list fiel 英语,计算机实用技术 for 学号=xh else "查无该生" endif use 2.输入学生成绩,并要求:成绩小于60分时,输出“不及格”;成绩在60~69分之间时,输出“及格”;成绩在70~79之间时,输出“中”;当成绩在80~89之间时,输出“良”;当成绩在90~100之间时,输出“优”。 set talk off

clear input "请输入成绩: " to cj do case case cj>=90 "优秀" case cj >=80 "良好" case cj >=70 "中" case cj >=60 "及格" case cj<60 "不及格" otherwise "数据有误" endcase set talk on 3.按学号在“学生信息.dbf”文件中查找并显示指定的记录。要求可以重复查询,找到则显示该生的记录,找不到则提示“查无此人!”,按非“Y”、“y”可结束查询。

SET TALK OFF CLEAR USE 学生信息 &&设当前目录下表文件存在 ACCEPT '学号查询吗(Y/N)' TO cx &&循环条件的初始化 DO WHILE cx='Y'.='y' &&大小写均可执行查询 CLEAR ACCEPT '请输入学号:' TO xh LOCATE ALL FOR 学号=xh &&此处ALL可以缺省,默认为在全部记录查找。 IF EOF() '查无此人!' WAIT ELSE DISPLAY ENDIF ACCEPT '继续按学号查询吗(Y/N)' TO cx &&修改循环条件 ENDDO SET TALK ON USE

最新C程序设计试题汇编汇总

C程序设计试题汇编

C程序设计试题汇编 1.3以下叙述正确的是______ A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 2.2若x、y、j和k都是int 型变量,则计算下面表达式后,x的值为______ A) 7 B)16 C)32 D)52 答案:C 2.6下面四个选项中,均是不合法的用户标识符的选项是______ A)A B)float C)b-a D)_123 P_0 la0 goto temp Do _A int INT 2.23以下不正确的叙述是______ A)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量 C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b 中的值不变 D)当键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输 入实型数值 2.30若有说明语句:char c=’\72’;则变量c______ A)包含1个字符 B)包含2个字符 C)包含3个字符

D)说明不合法,c的值不确定 2.37在C语言中,char型数据在内存中的存储形式是______ A)补码 B)反码 C)原码 D)ASCII码 3.2以下程序的输出结果是______.(注:︼表示空格) main() { printf(“\n*s1=%15s*”,”chinabeijing”); printf(“n*s2=%-5s*”,”chi”); } A)*s1=chinabeijing︼︼︼ * B)*s1=chinabeijing︼︼︼ * *s2= * * chi * *s2=chi ︼︼︼ * C)*s1=*︼︼chinabeijing * D)*s1=︼︼︼chinabeijing * *s2=︼︼chi * *s2=chi︼︼ 3.11已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列 开始输入数据时,正确的数据输入方式是______(注:表示回车) int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A)1020AB B)10︼20 AB C)10︼︼20︼︼AB D)10︼20AB 3.15根据题目中已给出的数据的输入形式和输出形式,程序中输入输出语句的正确内容是 ______ main() { int x; float y; prinf(“enter x,y:”) 输入语句

计算机一级选择题(参考题)

计算机一级选择题(参考题) 1、[单选题]在Word中,下列不属于文字格式的是______。 (A)字型(B)字号(C)分栏(D)字体 正确答案: C 2、[单选题]在Word的编辑状态,设置了标尺,可以同时显示水平标尺和垂直标尺的视图方式是________。 (A)页面方式(B)大纲方式(C)普通方式(D)全屏显示方式正确答案: A 3、[单选题]A*B.TXT表示所有文件名含有字符个数是_______。 (A)3个(B)2个(C)不能确定(D)4个 正确答案: C 4、[单选题]在Windows中,下列说法不正确的是__________。 (A)应用程序窗口最小化后,其对应的程序仍占用系统资源 (B)一个应用程序窗口与多个应用程序相对应 (C)应用程序窗口关闭后,起对应的程序结束运行 (D)一个应用程序窗口可含多个文档窗口 正确答案: B 5、[单选题]PowerPoint中,下列有关发送演示文稿的说法中正确的是_______。(A)如果以附件形式发送时,发送的是当前幻灯片的内容 (B)在发送信息之前,必须设置好OutLook要用到的配置文件 (C)准备好要发送的演示文稿后,选择“编辑”菜单中的链接,再选择“邮件收件人”命令

(D)如果以邮件正文形式发送时,则发送的是整个演示文稿文件,还可以在邮件正文添加说明文字 正确答案: B 6、[单选题]在下列选项中,关于域名书写正确的一项是______。 (A)https://www.docsj.com/doc/f813769948.html,1,cn (B)gdoa,https://www.docsj.com/doc/f813769948.html, (C)https://www.docsj.com/doc/f813769948.html, (D)gdoa,edu1,cn 正确答案: C 7、[单选题]已知D2单元格的内容为=B2*C2,当D2单元格被复制到E3单元格时,E3单元格的内容为________。 (A)=C3*D3 (B)=B3*C3 (C)=C2*D2 (D)=B2*C2 正确答案: A 8、[单选题]计算机病毒是可以造成计算机故障的_____。 (A)一个程序逻辑错误(B)一块特殊芯片 (C)一种特殊的程序(D)一种微生物 正确答案: C 9、[单选题]要把当前活动窗口的内容复制到剪贴板中,可按_______。 (A)【PrintScreen】(B)【Alt】+【PrintScreen】 (C)【Ctrl】+【PrintScreen】(D)【Shift】+【PrintScreen】 正确答案: B 10、[单选题]________类IP地址的前16位表示的是网络号,后16位表示的是主机号。 (A)A (B)D (C)C (D)B

计算机程序设计发展史

计算机程序设计发展史 【摘要】 程序设计语言原本是被设计成专门使用在计算机上的,但它们也可以用来定义算法或者数据结构。正是因为如此,程序员才会试图使程序代码更容易阅读。设计语言往往使程序员能够比使用机器语言更准确地表达他们所想表达的目的。对那些从事计算机科学的人来说,懂得程序设计语言是十分重要的,因为在当今所有的计算都需要程序设计语言才能完成,面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。 【关键字】 机器语言汇编语言高级语言计算机语言计算机技术编程语言【正文】 随着计算机的迅速发展,计算机程序设计已经从一种技巧发展成为一门科学,程序设计的方法也在不断的变化、发展。 50年代用机器指令代码进行手编程序是相当麻烦的,在工程技术人员中也很难得到推广。当程序设计是繁杂而又仔细的劳动,重复处理0与1又得花费大量的时间来编制与调试程序,故后期逐渐被用符号指令的汇编程序设计所代替。 1954年,第一个完全脱离机器硬件的高级语言—FORTRAN问世了,大大简化了程序设计,用高级语言编写的程序实现了基本上与机器无关。40多年来,共有几百种高级语言出现,有重要意义的有几十种,诸如FORTRAN、BASIC,ALGOL, COBOL,LISP,PL/1,C,C++等。 当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。 在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距非常大,而有许多语言并对新手来说太难学;还有,不同程序之间的运行成本各不相同。有许多用于特殊用途的语言,

《计算机程序设计基础》课后练习题参考标准答案

《计算机程序设计基础》课后练习题1 一.判断题 (1)(错)事件过程由某个用户事件或系统事件触发执行,但不能被其他过程调用。 (2)(错)若X=2, Y=5,则表达式 Y-2>X AND X+2>Y 的结果为:True。 (3)(错)常量是指在程序运行过程中其值可以改变的那些量。 (4)(错,timer没有)VB工具箱中的所有控件都具有宽度(Width)和高度(Height)属 性。 (5)(错)定义变量:Dim max,min as Single , 则max 和 min 的数据类型均为Single。 (6)(对)如果创建的菜单项的标题是一个减号“-”,则该菜单项显示为一条分隔线。 (7)(错)标准模块文件的扩展名是“*.VBP”。 (8)(错,都不能)定时器控件可以响应Click事件,但不能响应DbClick事件。 (9)(错)在默认情况下,数组下标下界的缺省值为1。 (10)(对)在使用字体对话框时,需要对其Flags属性先进行相应设置。 二.单选题 (11)在Visual Basic中,表示鼠标单击事件的是 C 。 A)Activate B)DoubleClick C)Click D)MouseDown (12)用于设置计时器时间间隔的属性是 A 。 A)Interval B)Name C)Left D)Top (13)函数Int(10*Rnd)是在 D 范围内的整数。 A)[1,10] B)[1,10] C) [0,9) D)[0,9] (14)Select case语句结构的结尾应使用 D 。 A)End B) End Case C) End Sub D) End Select (15)改变了容器的坐标系后,该容器的 A 属性值不会改变。 A)left B)scaleleft C)scaletop D)scalewidth (16)执行下列语句后,列表框中各表项顺序为 D List1.Clear For i=1 to 4 : List1.AddItem i-1,0 :Next i A)B)C)D) (17)输入对话框InputBox的返回值的类型是 A 。

编程入门基础知识总结

编程入门基础知识总结 基本知识 程序= 算法+ 数据结构,算法是对操作的描述,数据结构是对数据的描述。 伪代码:pseudo code 程序一般包括: (1)预处理命令:#include等 (2)全局声明部分 (3)函数:函数首部(声明)、函数体(局部声明+执行部分) 程序执行过程 源程序-->编译成目标程序obj-->连接目标程序成可执行文件 类:数据成员+成员函数 命名空间 实际上就是一个由程序设计者命名的内存区域。程序员可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其它全局实体分隔开,解决名字冲突,防止全局命名空间污染。 C++库的所有标识符(标准头文件中函数、类、对象、类模版)都是在std命名空间定义的 A 的ASCII码值65 a 的97 1.数据类型 ?基本类型:整型、浮点型、字符型、布尔型 ?构造类型:枚举、数组、结构体类型(struct)、公用体(union)、类类型 ?指针类型 ?引用类型 ?空类型:null int 4 unsigned int 4 short int 2 unsigned short int 2 long int 4 unsigned long int 4 char 1 uchar 1 float 4 double 8 long double 8 无符号:不用保存符号位,故比有符号多了一位 有符号:数值用补码存放(无论正负),最高位为符号位 VC中,long double与double字节数相同,故long double是无用的 GCC中,long double则有12个字节 无负值的量可以定义为unsigned int,如年龄、学号等,以增大存储范围。 short int,long int,unsigned int这些类型后面的int可以省略 整型表示: 十进制,后面加L 或l 八进制,前面加0 十六进制,前面加0x 浮点数表示: 默认为双精度型double 后面加f 或F 则为单精度float 后面加l 或L 则为长精度型long double 指数形式

计算机一级选择题(1-4章)

第一章 1.信息科学的奠基人香农(Shannon)在信息科学发展史上的主要贡献是创立了()。 A) 控制论B) 狭义信息论C) 噪声理论D) 仿生理论 2.掷一个由红、绿、蓝、白4种颜色标识的立方体,任一面朝上的概率相同。任一面朝上这一事件所获得的自信息量是()。 A) 1/4 B) 1/2 C) 2 D) 0 3.数据、消息、信号、信息等是信息论中讨论的基本术语,以下叙述中,()是错误的。 A) 数据是对客观实体的一种描述形式,是未加工的信息 B) 消息需要进行译码(解读)后才能成为信息,消息中蕴含信息 C) 信号是数据的电磁或光脉冲编码,是消息的运载工具 D) 信息源发出的消息带有明显的确定性 4.信息论发展分为三个阶段,()不属于这三个阶段。 A) 狭义信息论B) 宏观信息论C) 一般信息论D) 广义信息论 5.某信息源信号共有4种状态,每种状态出现的概率分别为1/4,则某信宿收到该信源的平均信息量(信息熵)是()。 A) 1 B) 2 C) 3 D) 4 6.扔一枚硬币,正反面出现的概率相等,任一面朝上这一事件所获得的自信息量是()比特。 A) 1/2 B) 0 C) 1 D) -l 7.信源发出的信号共有4种状态,4种状态的发生概率各为1/4,信源传给信宿的信息熵是()比特。 A) 1 B) 2 C) 3 D) 4 8.有一等差数列,共8项。已知相邻两项的差为2,第2项为4,求第3项的值。答案中含有的信息量是()比特。 A)0 B) 1 C) 2 D) 3 9.一个村在512个村民里选举1人当村长,如果这些村民当选的概率相同,则“李四当选村长”这条信息携带的自信息量是()比特。 A) 3 B) 6 C) 9 D) 12 10.信息熵是事件不确定性的度量,信息熵越小,说明不确定性()。 A) 越小B) 不变C) 越大D) 不能确定 11.从某种意义上说,信息技术是对特定人体器官的扩展,其中通信技术可以认为是对人体()的扩展。 A) 感觉器官B) 神经器官C) 视觉器官D) 听觉器官 12.以下关于图灵机的说法,错误的是()。 A) 图灵机是一种抽象计算模型,并没有真正生产出来 B) 图灵机的理论是在冯·诺依曼型计算机体系结构基础上产生的 C) 图灵机是一种数学自动机模型,包含了存储程序的思想 D) 在图灵机的基础上发展了可计算性理论 13.数码相机中的CCD器件可以将采集到的光信号转换成电信号,这一过程主要是使用了信息技术“四基元”中的()技术。 A) 计算机技术B)通信C)传感D)控制

计算机程序设计基础习题册含答案

《计算机程序设计基础》 计算机程序设 计基础_基础知识(一) 班级 学号 姓名 成 绩 一、 单选题 习题册

1.C++源程序文件的默认扩展名为A。 2.A) cpp B) exe C) obj D) lik 3.由C++源程序文件编译而成的目标文件的默认扩展名为C。 4.A) cpp B) exe C) obj D) lik 5.由C++目标文件连接而成的可执行文件的默认扩展名为B。 6.A) cpp B) exe C) obj D) lik 7.编写C++程序一般需经过的几个步骤依次是B。 8.A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接9.程序中主函数的名字为 A 。 10.A) main B) MAIN C) Main D) 任意标识 符 11.下面四个选项中,均是不合法的 用户标识符的选项的是 C。 12.A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.下列变量名中合法的是 C。 14.A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.存储以下数据,占用存储字节最 多的是 D 。 16.A) 0 B) ‘0’

C) “0” D) 17.在C++语言中,字符型数据在内存中的存储形式是D。 18.A) 补码 B) 反码 C) 原码 D) ASCII码 19.若有说明语句:char c =’\072’;则变量c A。 20.A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令 计算机程序设计基础_基础知识(二) 班级学号姓名成绩 一、单选题 1.下列哪一个是C++语言中合法的变量 C A) 8ZSe B) ±A0 C) X0_2 D) ’x0’2.已知ch是字符型变量,下面不正确的赋值语句是A 3.A) ch='a+b' B) ch='\0'

程序设计汇总

程序设计题目汇总 36、购物计费:某商场为了促销而实行购物打折,在商场购物500元以上(不包括500元),超过部分实行八折优惠。已知某顾客购物按未打折计共花费了898元,编程计算顾客实际应付的金额。A表示顾客的购物金额,x表示顾客应该实际付给商场的金额。请将程序缺失部分补充完整。 Function func() Dim a As Single, x As Single a = 898 If a <= 500 Then _______________________ Else x = 500 + ( a – 500) * 0.8 End If func = "应付金额x=" & x End Function 答案:x = a 39、计算房租费,70平方以下(包括70)每平方4元,如果超过70平方则超过部分每平方6元。程序中变量m为平方数,变量n为房租费。 Function func() Dim m As Integer, n As Integer m = 128 If m <= 70 Then n = 4 * m ________________ n = 4 * 70 + 6 * (m – 70) End If func = "房租费n=" & n End Function 答案:Else 40、已知正方形的边长A是8,下列程序的功能是计算正方形的周长L。请将程序缺失部分补充完整。Function func() Dim A As Single Dim L As Single A = 8 L = _________________ Func = "正方形的周长" & L End Function 答案:4*A 37、判断奇偶性,如果是偶数让x为0,如果是奇数让x为1 Function func() Dim a As Integer, x As Integer If a / 2 = Int( a / 2) Then x = 0 Else x = _________________ End If

全国最新计算机一级考试试题库

全国最新计算机一级考试试题库 1、用高级程序设计语言编写的程序称为___c___。 A、目标程序 B、可执行程序 C、源程序 D、伪代码程序 2、操作系统是计算机系统中的_____a_。 A、核心系统软件 B、关键的硬件部件 C、广泛使用的应用软件 D、外部设备 3、在微机的配置中常看到"处理器PentiumⅢ/667"字样,其中数字667表示______a。 A、处理器的时钟主频是667MHz B、处理器的运算速度是667MIPS C、处理器的产品设计系列号是第667号 D、处理器与内存间的数据交换速率是667KB/s 4、下列关于计算机病毒的叙述中,正确的选项是____b__。 A、计算机病毒只感染.exe和.com文件 B、计算机病毒可以通过读写软盘、光盘或internet网络进行传播 C、计算机病毒是通过电力网进行传播的 D、计算机病毒是由于软盘片表面不清洁而造成的 5、十进制整数100化为二进制数是__a____。 A、1100100 B、1101000 C、1100010 D、1110100 6、目前网络传输介质中传输速率最高的是____c__。 A、双绞线 B、同轴电缆 C、光缆 D、电话线 7、第一台电子计算机是1946年在美国研制的,该机的英文缩写名是____a__。 A、ENIAC B、EDVAC C、EDSAC D、MARK-II 8、为了防止病毒传染到保存有重要数据的3.5英寸软盘片上,正确的方法是______。 A、关闭盘片片角上的小方口 B、打开盘片片角上的小方口 C、将盘片保存在清洁的地方 D、不要将盘片与有病毒的盘片放在一起 9、在微机中,1MB准确等于__b____。 A、1024×1024个字 B、1024×1024个字节 C、1000×1000个字节 D、1000×1000个字 10、运算器的组成部分不包括_b_____。 A、控制线路 B、译码器 C、加法器 D、寄存器

全国计算机一级MS Office选择题

全国计算机等级考试一级MS Office模拟选择题 1.计算机采用的主机电子器件的发展顺序是(B )。 A)晶体管、电子管、中小规模集成电路、大规模和超大规模集成电路 B)电子管、晶体管、中小规模集成电路、大规模和超大规模集成电路 C)晶体管、电子管、集成电路、芯片 D)电子管、晶体管、集成电路、芯片 【解析】计算机从诞生发展至今所采用的逻辑元件的发展顺序是电子管、晶体管、集成电路、大规模和超大规模集成电路。 2.世界上第一台电子计算机诞生于(B )年。 A)1952 B)1946 C)1939 D)1958 【解析】世界上第一台名为ENIAC的电子计算机于年诞生于美国宾夕法尼亚大学。 3.世界上第一台电子计算机名叫(B )。 A)EDV AC B)ENIAC C)EDSAC D)MARK-II 【解析】世界上第一台名为ENIAC的电子计算机于年诞生于美国宾夕法尼亚大学。 4.下列不属于第二代计算机特点的一项是(A )。 A)采用电子管作为逻辑元件B)运算速度为每秒几万~几十万条指令 C)内存主要采用磁芯D)外存储器主要采用磁盘和磁带 【解析】第二代计算机采用晶体管作为主要逻辑元件。 5.下面四条常用术语的叙述中,有错误的是(B )。 A)光标是显示屏上指示位置的标志 B)汇编语言是一种面向机器的低级程序设计语言,用汇编语言编写的程序计算机能直接执行 C)总线是计算机系统中各部件之间传输信息的公共通路 D)读写磁头是既能从磁表面存储器读出信息又能把信息写入磁表面存储器的装置 【解析】用汇编语言编制的程序称为汇编语言程序,汇编语言程序不能被机器直接识别和执行,必须由"汇编程序"(或汇编系统)翻译成机器语言程序才能运行。 6.奔腾(Pentium)是(C )公司生产的一种CPU的型号。 A)IBM B)Microsoft C)Intel D)AMD 【解析】英特尔(Intel)公司生产的一种CPU的型号是奔腾(Pentium)系列的。 7.计算机系统由(D )组成。 A)主机和显示器B)微处理器和软件C)硬件系统和应用软件D)硬件系统和软件系统 【解析】计算机系统是由硬件系统和软件系统两部分组成的。 8.微型计算机硬件系统中最核心的部位是(B )。 A)主板B)CPU C)内存储器D)I/O设备 【解析】微型计算机硬件系统由主板、中央处理器(CPU)、内存储器和输入输出(I/O)设备组成,其中中央处理器(CPU)是硬件系统中最核心的部件。 9.微型计算机的主机包括(B )。 A)运算器和控制器B)CPU和内存储器C)CPU和UPS D)UPS和内存储器 【解析】微型计算机的主机包括CPU和内存储器。UPS为不间断电源,它可以保障计算机系统在停电之后继续工作一段时间,以使用户能够紧急存盘,避免数据丢失,属于外部设备。运算器和控制器是CPU的组成部分。10.微型计算机主机的主要组成部分有(D )。 A)运算器和控制器B)CPU和硬盘C)CPU和显示器D)CPU和内存储器 【解析】计算机主机主要由CPU和内存储器两部分组成。

相关文档
相关文档 最新文档