文档库 最新最全的文档下载
当前位置:文档库 › 基于PC机Windows环境下数据通信、处理及存储程序设计与实现(DOC)

基于PC机Windows环境下数据通信、处理及存储程序设计与实现(DOC)

基于PC机Windows环境下数据通信、处理及存储程序设计与实现(DOC)
基于PC机Windows环境下数据通信、处理及存储程序设计与实现(DOC)

专业综合课程设计任务书

学生姓名: 专业班级:

指导教师: 工作单位:

题目: 基于PC机Windows环境下数据通信、处理及存储程序设计与实现。初始条件:

(1)提供实验室机房及安装Windows系统的PC机;

(2)数据通信的基本理论学习。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):

(1)在PC机Windows环境下设计出一款集数据发送、接收处理及存储程序;(2)通信接口为RS-232,USB,网卡任意一款;

(3)通信的数据流自定,处理操作自定;

(4)接收的数据以文件的形式存在硬盘上;

(5)对结果进行分析;

(6)要求阅读相关参考文献不少于5篇;

(7)根据课程设计有关规范,按时、独立完成课程设计说明书。

时间安排:

(1) 布置课程设计任务,查阅资料,确定方案四天;

(2) 进行编程设计一周;

(3) 完成课程设计报告书三天;

指导教师签名: 年月日

系主任(或责任教师)签名: 年月日

目录

摘要 ........................................................................ I

1 Proteus软件简介 (1)

2 Visual Basic 6.0简介 (2)

3 串口通信原理 (3)

3.1串行通信定义 (3)

3.2串行通信的异步通信 (4)

3.3波特率 (4)

3.4串行接口的基本特点 (5)

3.4.1串行端口工作方式 (5)

4单片机与PC机通信 (8)

4.1 AT89C51单片机上对应端口介绍 (8)

4.3单片机通信代码 (9)

4.4仿真电路图 (11)

5 VB设计PC机 (12)

5.1界面设计 (12)

5.2 VB设计的窗体 (12)

5.3 VB代码 (12)

6 串口通信结果及其分析 (22)

6.1通信结果 (22)

6.2结果分析 (24)

7 实物图 (25)

8心得体会 (26)

参考文献 (27)

摘要

为了实现本次课设的要求,完成基于PC机Windows环境下数据通信、处理及存储程序设计与实现。我们采用Visual Basic 6.0软件设计和Proteus单片机串口仿真来完成课程设计的要求。

我们选取的是通信接口为RS-232,利用单片机与PC机的之间相互通信来实现课设要求,Visual Basic软件主要用于设计代表PC机的窗体,实现PC机进行串口通信的基本功能;Proteus软件仿真的单片机用于模拟单片机,完成与PC机的通信。本次课设除了要用到VB和Proteus软件外,还需使用KEIL软件生成适用于51单片机的.HEX文件,以及用到Virtual Serial Port Driver软件来对PC 机和单片机之间串口进行连接,使用VSPD软件来设置连接串口的时候我将单片机设为COM3,PC机设为COM1。

关键字:RS-232 ,串口通信,Proteus,Visual Basic 6.0

1 Proteus软件简介

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、A VR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1.原理布图

2.PCB自动或人工布线

3.SPICE电路仿真

4.互动的电路仿真

5.仿真处理器及其外围电路

Proteus拥有丰富的资源,它体现在:

1.Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。

2.Proteus可提供的仿真仪表资源:示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。

3.除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。

4.Proteus可提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。

Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行

过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台

随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。

2 Visual Basic 6.0简介

Visual Basic(VB)是由微软公司开发的包含协助开发环境的事件驱动编程语言。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速创建一个应用程序。

VB的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单创建应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。

窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值

可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。

VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。

VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。

VB使用引用计数的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组建的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。

VB使得大量的外界控件有了自己的生存空间。大量的第三方控件针对VB 提供。VB也提供了创建、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。

3 串口通信原理

3.1串行通信定义

串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS-232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

3.2串行通信的异步通信

字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等四部分组成。

在串行通信中,发送端一帧一帧发送信息,接收端一帧一帧接收信息。两相邻字符帧之间可以无空闲位,也可以由若干空闲位,自行定义。

串行通信的数据或者字符是一帧一帧地传送,在异步通信中,一帧数据先用

一个起始位“0”表示字符的开始,然后是5~8位上数据,即该字符的代码,规定低位在前,高位在后,接下来是奇偶校验位,最后一个停止位“1”表示字符的结束。下面是异步通信一帧数据为10位的帧格式见图3-1。

图3-1字符帧格式图

3.3波特率

波特率是通信中对数据传送速率的要求。在计算机通信中,其意义是每秒钟

传送多少位二进制数。假如异步传送速率为每秒120个字符,每个字符有1个起始位,8个数据位,1个停止位组成,则其传送波特率为 波特1200bps 120012010==?

波特

1200120012010==?bps

传送一位所需要的时间为波特率的倒数,即 ms Td 833.01200

1== 在串行传输中,二进制数据序列是以数字波形出现的,发送时在发送时钟下

将通信线上传来的数据串行移入移位寄存器,所以,发送时钟和接受时钟也可作移位时钟。能产生该时钟的电路称为波特率发生器。

为提高采样的分辨率,准确地测定数据位的上升沿或下降沿,时钟频率总是

高于波特率的若干倍,这个倍数称为波特率因子。在单片机中,发送和接收时钟可以由系统时钟f osc 产生,其波特率因子为12,32,64.如果波特率由f osc 决定称为固定波特率方式。也可以由单片机的内部定时器T1产生,它工作于自动重装8位定时方式,由于定时器的计数初值可以人为的改变,T1产生的时钟频率就可以改变,称为可变波特率方式。

3.4串行接口的基本特点

3.4.1串行端口工作方式

MCS-51单片机的串行端口有4种基本工作方式,通过编程设置,可以使其

工作在任一方式,以满足不同场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的I /O 电路;工作方式1多用于双机之间或与外设电路的通信;方式2、3除有方式1的功能外,还可以作多机通信,以构成分布式多微机系统。

串行端口有两个控制寄存器SCON 、PCON ,用于设置工作方式、发送或接

收的状态、特征位、数据传送波特率[每秒传送的位数]以及作为中断标志等。 串行端口有一个数据寄存器SBUF[在特殊功能寄存器中的字节地址为99H ,该寄存器为发送和接收所共用。

串行端口的波特率可以用程序来控制。在不同工作方式中,由时钟振荡频率

的分频值或由定时器T1的定时溢出时间确定,使用十分方便灵活。

串口控制寄存器:

输入:在()1=REN 时,串行口采样RXD 引脚,当采样到1至O 的跳变时,

确认是串行发送来的一帧数据的开始位0,从而开始接收一帧数据。只有当8位数据接收完,并检测到高电平停止位后,只有满足①()01=R ;②()22=SM 或接收到的第9位数据为1时,停止位才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI ;否则信息丢失。所以在方式1接收时,应先用软件清零RI 和SM2标志。

1. 方式2

方式2为固定波特率的11位UART 方式。它比方式1增加了一位可程控为

1或0的第9位数据。

输出:发送的串行数据由TXD 端输出一帧信息为11位,附加的第9位来自

SCON 寄存器的TB8位,用软件置位或复位。它可作为多机通讯中地址/数据信息的标志位,也可以作为数据的奇偶校验位。当CPU 执行一条数据写入SUBF 的指令且01=T 时,就启动发送器发送。发送一帧信息后,置位中断标志TI 。

输入:在()1=REN 时,串行口采样RXD 引脚,当采样到1至O 的跳变时,

确认是串行发送来的一帧数据的开始位0,从而开始接收一帧数据。在接收到附加的第9位数据后,当满足①()01=R ;②()02=SM 或接收到的第9位数据为1时,第9位数据才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI ;否则信息丢失。且不置位RI 。

2. 工作方式3

方式3为波特率可变的11位UART 方式。除波特率外,其余与方式2相同。

波特率的选择

如前所述,在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。在MCS-51串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。

1.方式O

方式0的波特率固定为主振频率 的121。

2.方式2

方式2的波特率由PCON 中的选择位SMOD 来决定,可表示为:642fosc sMOD ?=波特率也就是当1=SMOD 时,波特率为fosc ?321,当0=SMOD 时,波特率为fosc ?1。

3.方式1和方式3

定时器T1作为波特率发生器,其公式如下:

溢出率定时器波特率1322T sMOD ?=

产生溢出所需的周期

计数率溢出率11T T = 式中T1计数率取决于它工作在定时器状态还是计数器状态。当工作于定时

器状态时,T1计数率为fosc 门2:当工作于计数器状态时,T1计数率为外部输

入频率,此频率应小于24fosc 。产生溢出所需周期与定时器T1的工作方式、T1的预置值有关。

定时器T1工作于方式O :X -8192=溢出所需周期

定时器T1工作于方式1:X -65536=溢出所需周期

定时器T1工作于方式2:X -256=溢出所需周期

因为方式2为自动重装入初值的8位定时器/计数器模式,所以用它来做波特率发生器最恰当。这种方式下,T1的溢出率[次/秒]计算式可以表示为:

[]X fsoc T -=256121溢出率

(二) 串行口的通信波特率

串行口的通信波特率恰好反映串行口传输数据的速率。通信波特率的选用,

不仅和所选通信设备、传输距离有关,还受传输线状况所制约。

波特率设计

1、方式0的波特率

工作方式0时,移位脉冲由机器周期的第6个状态周期S6给出,每个机器周期产生一个移位脉冲,发送或接收一位数据。因此,波特率是固定的,为振荡频率的121,不受PCON 寄存器中SMOD 的影响。用公式表示为:

工作方式0的 12fosc =波特率

2、方式2的波特率

工作方式2时,移位脉冲由振荡频率fosc 的第二节拍P2时钟(即2fosc )给出,所以,方式2波特率取决于PCON 中的SMOD 位的值,当2=SMOD 时,波特率为fosc 的1;当1=SMOD 时,波特率为fosc 的1,用公式表示为;

工作方式2: ()

f o s c S M O D ?=642波特率 3、工作方式1和方式3的波特率

在这两种方式下,串行口波特率是由定时器的溢出率决定的,因而波特率也是可变的。相应公式为:

()溢出率

定时器波特率1322T SMO D ??= ()()[]

初值溢出率-?=k fosc T 21121

实际上定时器T1通常采用方式2,因为定时器T1在方式2下工作,TH1

和TL1分别设定为两个8位重装计数器。

4单片机与PC机通信

4.1 AT89C51单片机上对应端口介绍

本次课设主要用到AT89C51单片机上的P3口,P3口的功能简介如下:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(计时器0外部输入)

P3.5 T1(计时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号

本次单片机部分只需用到P3口的P3.0口和P3.1口,用于和PC连接通信。4.2 RS-232简介

通常RS-232 接口以9个引脚(DB-9) 或是25个引脚(DB-25) 的型态出现,RS-232的电器特性、逻辑电平和各种信号线功能也有规定。

在TxD和RxD上:

逻辑1:-3V ~-15V

逻辑0:+3V~+15V

发送数据(TxD)——通过TxD终端将串行数据发送到MODEM,(DTE→DCE)。

接收数据(RxD)——通过RxD线终端接收从MODEM发来的串行数据,

(DCE→DTE)。

4.3单片机通信代码

#include

#include

#define uchar unsigned char

#define uint unsigned int unsigned char flag,a,i;

uchar code table[]="OH MY GOD"; void delay1ms()

{

uchar i,j;

for(i=0;i<10;i++)

for(j=0;j<33;j++);

}

void delay(uchar n)//延时n毫秒{

uchar i;

for(i=0;i

delay1ms();

}

void init()

{

TMOD=0x20;//T1定时器方式2 TH1=0xfd;

TL1=0xfd;//T1定时器装初值

TR1=1;//启动定时器T1

REN=1;//数据允许接受

SM0=0;设定串口方式1

SM1=1;//

EA=1;//开总中断

ES=1;//允许串口中断

}

void main()

{

uchar k;

init();

while(1)

{

if(flag==1)

{

ES=0;//关闭串口中断

for(i=0;i<17;i++)

{

SBUF=table[i];//接收数据

while(!TI);//等待是否发送完毕

TI=0;

}

SBUF=a;//发送数据

while(!TI);

TI=0;

ES=1;

flag=0;

}

}

}

void ser() interrupt 4//串口中断程序

{

RI=0;//软件清零,进入中断服务程序

a=SBUF;

flag=1;//标志位置1,判断是否已收到数据

}

4.4仿真电路图

图4-1单片机电路仿真图

5 VB设计PC机

5.1界面设计

本次设计需要添加MSComm控件,可用Project--Components—comm control 6.0进行添加。

在设计窗体时要添加以下控件:1个ComboBox 、9个Label、1个Option 、7个Command Button、2个TextBox。

5.2 VB设计的窗体

图5-1 VB设计软件

5.3 VB代码

Option Explicit

'Option Base 1

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Dim comport As Byte

Dim rate As Long

Dim data_cnt As Integer

Dim stop_cnt As Integer

Dim disp_on As Integer

Dim mut As Boolean

Dim out() As Byte ——————————————————————————————————Private Sub com_change()

Dim flag As Boolean

On Error Resume Next

Err.Clear

If mut = False Then Exit Sub '初始化完成前本过程无效

flag = MSComm1.PortOpen

If flag Then MSComm1.PortOpen = False '已打开先关闭

https://www.wendangku.net/doc/479584458.html,mPort = comport '设置串行端口

MSComm1.Settings = CStr(rate) + ",N," + CStr(data_cnt) + "," + CStr(stop_cnt) '设置波特率及数据帧格式

MSComm1.PortOpen = True

If Err.Number Then

If Err.Number = 8002 Then MsgBox "串口" + CStr(comport) + "不存在!", vbOKOnly, "警告"

If Err.Number = 8005 Then MsgBox "串口" + CStr(comport) + "已打开!", vbOKOnly, "警告"

Option1.BackColor = RGB(0, 0, 0)

Command1.Enabled = False

Command6.Enabled = False

Err.Clear

Else

Option1.BackColor = RGB(255, 0, 0)

Command1.Enabled = True

Command1.Caption = "关闭串口"

Command6.Enabled = True

End If

End Sub ——————————————————————————————————- Private Sub Combo1_click()

comport = Combo1.ListIndex + 1

com_change

End Sub ——————————————————————————————————Private Sub Combo2_click()

Select Case Combo2.ListIndex

Case 0

rate = 300

Case 1

rate = 600

Case 2

rate = 1200

Case 3

rate = 2400

Case 4

rate = 4800

Case 5

rate = 9600

Case 6

rate = 19200

Case 7

rate = 38400

Case 8

rate = 56000

Case 9

rate = 57600

Case 10

rate = 115200

End Select

com_change

End Sub ——————————————————————————————————Private Sub Combo3_click()

data_cnt = 8 - Combo3.ListIndex

com_change

End Sub ——————————————————————————————————Private Sub Combo4_click()

stop_cnt = 1 + Combo4.ListIndex

com_change

End Sub ——————————————————————————————————Private Sub Command1_Click()

If Command1.Caption = "关闭串口" Then

MSComm1.PortOpen = False

Command1.Caption = "打开串口"

Option1.BackColor = RGB(0, 0, 0)

Else

MSComm1.PortOpen = True

Command1.Caption = "关闭串口"

Option1.BackColor = RGB(255, 0, 0)

End If

End Sub ——————————————————————————————————Private Sub Command2_Click()

Text1.Text = ""

End Sub ——————————————————————————————————Private Sub Command3_Click()

Static f2 As Byte

If f2 = 0 Then

disp_on = 0

f2 = 1

Command3.Caption = "继续显示"

Else

disp_on = 0

f2 = 0

Command3.Caption = "停止显示"

End If

End Sub ——————————————————————————————————Private Sub Command4_Click()

Dim time As Date

time = Now()

Open "C:\Users\Lenovo\Desktop\NICE.txt" For Output As #5

Print #5, time

Print #5, Text1.Text

Close #5

End Sub ——————————————————————————————————Private Sub Command5_Click()

Text2.Text = ""

End Sub ——————————————————————————————————Public Function IsHex(c As String) As Integer

If c >= "0" And c <= "9" Then

IsHex = Val(c) - Val("0")

ElseIf c >= "a" And c <= "f" Then

IsHex = Asc(c) - Asc("a") + 10

ElseIf c >= "A" And c <= "F" Then

IsHex = Asc(c) - Asc("A") + 10

Else

IsHex = 16

End If

End Function ——————————————————————————————————Private Sub Command6_Click()

Dim outs As String

outs = Text2.Text

Call ToChar(out, CStr(outs))

MSComm1.Output = out

Exit Sub

Dim s As String

Dim l As Integer

Dim i As Integer, j As Integer, cnt As Integer

Dim a As Integer

Windows程序设计题(含简答题答案)

Windows 程序设计》模拟题 单项选择题 1. 在 VC++ 中,项目文件的扩展名是( B )。 A ) exe B)dsp C ) dsw D ) cpp 2. 在 MFC 中,利用 ClassWizard 不能( D )。 A )建立新类 B )进行消息映射 C )增加类的成员变量 D )插入资源 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送( 3. C )消 息。 4. 5. A ) WM_CHAR B ) WM_HSCROLL C ) W M_VSC ROLL 更新菜单状态的消息是( C A ) WM_COMMAND )。 C ) UPDATE_COMMAND_UI 对于消息队列描述正确的是( A )在Windows 中只有一个消息系统, 据结构,用于临时存储消息。 D ) WM_CHANG E B ) UPDATE D) INVALIDATE 即系统消息队列。 消息队列是一个系统定义的数 B )系统可从消息队列将信息直接发给窗口。 另外,每个正在 Windows 下运行的应用程 序都有自己的消息队列。 C )系统消息队列中的每个消息最终都要被 USER 模块传送到应用程序的消息队列中去。 应用程序的消息对列中存储了程序的所有窗口的全部消息。 D )以上都正确 6. 在 MFC 中,所有的控件都是( B )类的派生类,都可以作为一个特殊的窗口来处理。 CView B ) CWnd C) 7. 使用 CWindow C) D ) CDialog GetDC () 获取的设备上下文在退出时,必须调用( A )释放设备上下文。 ReleaseDC() B ) delete() DeleteDC () D ) Detach () 8. 希望菜单无效,应该用 CCmdUI 类的( A )成员函数。 A ) Enable B ) SetRadio C ) SetCheck D ) SetText 9.希望菜单前出现一个“V”,应该用 CCmdUI 类的(C )成员函数。 A ) Enable B ) SetRadio C ) SetCheck D ) SetText 10.下面(A )不是MFC 设备环境类CDC 类的派生类。 A ) GDI B ) CPaintDC C) CClientDC D) CWindowDC 11.在MFC 中,所有的文档类都派生于( C ),所有的视图类都派生于( A )。 A) CView B) CWindow C) CDocument D) CFormView

windows程序设计之扫雷游戏经典之作

WIN32模拟WINDOWS XP扫雷 程序 课程设计目的与要求: 本课程设计是计算机科学与技术专业重要的实践性环节之一,是对本程学习后进行的一次全面而综合的练习。本次课程设计的目的与任务主要有: 1.巩固和加深学生对C和C++语言的基本知识的理解与掌握。 2.掌握C和C++语言编程和调试的基本技能 3.运用C和C++语言对程序的简单设计 4.掌握程序设计说明文档的能力与技巧 5.提高与运用C和C++语言解决能实际问题的能力 一、题目描述: 自行分析Windows XP系统自带扫雷游戏,查找规则并对主要功能进行模仿程序实现,对于实现过程中出现的bug进 行调试解决。 二、使用语言: C和C++ 语言 选用C++语言的原因,简而言之主要是因为C++的设计目标,就是要让C++既具有适合于系统程序设计的C语言所具 有的可适应性和高效性,又能在其程序组织结构方面具有像其 他的语言所支持的程序优势。这即是说,C++所提供的抽象机 制能够被应用于那些对效率和可适应性具有极高要求的程序设 计任务之中。

三、编译以及运行环境: 编译环境:Microsoft Visual C++ 6.0 运行环境:Windows XP或其他兼容兼容系统 四、题目分析: 经过对游戏的初步分析,扫雷游戏含有如下规则: 根据输入的信息,执行相应的挖雷,插旗,疑问标记,自动蔓延开挖等。挖雷过程由计时器计时,由一个计数器统计插旗后雷的剩余个数。如果选择了标记功能,那么单机右键会依次对未知点进行插旗,标记,取消插旗与标记。如果点滴到插旗的如果点击到了未插旗子的雷区,如果是雷,则判定游戏失败,之后对雷区的点击进行屏蔽,不予响应。如果是疑问标记则像正常区域对待。如何判断胜利,如果所有的雷都被插旗或者点击后剩余的雷区, 五、程序运行流程简介以及流程图: 点击程序按默认参数进行初始化,输入,表情对鼠标左右键点击进行变化响应,对于雷区内点击进行规律响应,对雷区点击后果进行统计,判断失败与成功,失败或者成功之后,对于雷区内的输入也就是点击进行屏蔽,对菜单游戏级别、重新开始游戏按钮响应。级别选择,重新游戏时时间归零、雷数显示刷新。如此重复规则,直到点击退出。 程序简要流程图:

Windows程序设计课程复习题

Windows程序设计复习题 一选择题 1 下列程序设计方法中,()是一种基于对象的程序设计方法。 A: MFC程序设计B: 使用WindowsAPI编程 C: 使用VisualBasic语言编程 D: 使用C#程序设计语言编程 2 MFC程序框架中,最先执行的函数是()。 A: WinMain函数B: CWinApp类的构造函数 C: CWinApp类的InitInstance函数D: Cwnd的OnCreate函数 3 CWinApp类中用()成员函数实现了对消息环的封装。 A: InitInstance( ) B: Run() C: OnIdle() D: WndProc() 4 消息的4个参数中,表示消息类型的参数是()。 A: HWND hwnd B: messageID C: wParam D: lParam 5下列各消息中,与程序的菜单命令、工具栏按钮或对话框按钮相对应的消息是()。A: WM_CHAR B: WM_COMMAND C: WM_CREATE D: WM_PAINT 6 MFC消息映射机制中,下列消息映射表 BEGIN_MESSAGE_MAP(CGraphicsView, CScrollView) ON_WM_PAINT() END_MESSAGE_MAP() 把WM_PAINT消息映射到()。 A: CGraphicsView类OnPaint函数B: CGraphicsView类OnDraw函数。 C: CScrollView类的OnPaint函数D: CScrollView类的OnDraw成员函数。 7 下列MFC类中,不直接支持消息映射的MFC基类是(), A: CCmdTarget B: CWinAPP C: CWnd D: CMap 8 下列集合类中,其内部是使用散列表技术实现的MFC类的是()。 A: CArray B: CList C: CMap D: CPtrList 9 下列CWnd类成员函数中,用于任何消息的可覆盖函数是()。 A: OnCommand B: OnNotifyt C: OnUpdate D: WindowProc 10 Windows程序中,用于表示通用字符的数据类型是()。 A: char B: unsigned short C: TCHAR D: unsigned char 11 下列数据类型中,表示设备上下文句柄的数据类型是()。 A: HWND B: HDC C: HMENU D: HPEN 12 下列各个窗口类中,表示各种视图类的基类的MFC类是()。 A: CScrollView B: CTextView C: CRichEditView D: CView 13 下列各种窗口对象中,对象最好在栈(Stack)中分配MFC窗口类是()。 A: CToolBar B: CView C: CWnd D: CFrameWnd 14下列各宏命令中,应该放在类实现中以支持序列化特性的宏命令是()。 A: IMPLEMENT_DYNAMIC(class_Name) B: IMPLEMENT_DYNCREATE(class_Name) C: IMPLEMENT_SERIAL(class_Name) D: IMPLEMENT_MESSAGE_MAP() 15 CRuntimeClass类的操作中,用于从类名字符串获得该类CRunTimeClass对象指针的方法为()。

Windows程序设计题(含简答题答案)

《Windows程序设计》模拟题 一.单项选择题 1、在VC++中,项目文件得扩展名就是(B)。 A)exe????B)dsp C)dsw???D)cpp 2、在MFC中,利用ClassWizard不能(D)。 A)建立新类??B)进行消息映射 C)增加类得成员变量?D)插入资源 3、当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR??B)WM_HSCROLL C)W M_VSCROLL???D)WM_CHANGE 4、更新菜单状态得消息就是(C )。 A)WM_MANDB)UPDATE C)UPDATE_MAND_UI D)INVALIDATE 5、对于消息队列描述正确得就是(D) A)在Windows中只有一个消息系统,即系统消息队列。消息队列就是一个系统定义得 数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行得应用程序都有自己得消息队列。 C)系统消息队列中得每个消息最终都要被USER模块传送到应用程序得消息队列中去。 应用程序得消息对列中存储了程序得所有窗口得全部消息. D)以上都正确 6、在MFC中,所有得控件都就是(B)类得派生类,都可以作为一个特殊得窗口来处理。 A)CView??B)CWnd C)C Window???D)CDialog 7、使用GetDC()获取得设备上下文在退出时,必须调用(A)释放设备上下文. A)ReleaseDC()???B)delete() C)D eleteDC()???D)Detach() 8、希望菜单无效,应该用CCmdUI类得(A )成员函数。 ???B)SetRadio A)Enable?? ? C)SetCheck???D)SetText 9、希望菜单前出现一个“√",应该用CCmdUI类得(C)成员函数. A)Enable ???B)SetRadio C)SetCheck??D)SetText 10、下面(A)不就是MFC设备环境类CDC类得派生类. A)GDI ????B)CPaintDC C)CClientDC ??D)CWindowDC 11、在MFC中,所有得文档类都派生于(C),所有得视图类都派生于(A )。 A)CView B)CWindowC)CDocumentD)CFormView 12、采用C++进行绘图时,(B)用于指定图形得填充样式,(A)用于指定图形得边框样式.

windows程序设计学习笔记(一)

Windows程序设计学习笔记 2015年10月4日 一、宽字符wide-character 1、wchar_t: char的双字节(Unicode) 定义:typedef unsigned short wchar_t 示例:wchar_t c=’A’; wchar_t *pw=L”hello!”; //L(代表long)告诉编译器按宽字符保存,即每个字符占两个字节 wchar_t a[]=L”hello!”; 2、宽字符库函数 wcslen( ):计算宽字串符的长度 如:wchar_t *pw=L”hello!”; iLength=wcslen(pw); //字符串长度是6 二、windows头文件类型 1、CHAR和WCHAR typedef char CHAR; //8位 typedef wchar_t WCHAR; //16位变量前面可加wc以说明是一个宽字符 2、字符串指针 (1)8位字符串指针 tpyedef CHAR *PCHAR, *LPCH, *PCH, *NPSTR, *LPSTR, *PSTR; tpyedef CONST CHAR *LPCCH, *PCCH, *LPCSTR, *PCSTR; 前缀N和L表示“near”和“long”,指的是16位windows中两种大小不同的指针,在Win32中near和long指针没有区别 (2)16位字符串指针 tpyedef WCHAR *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR; tpyedef CONST WCHAR *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR; 3、WINAPI 定义:#define WINPAI _stdcall 该语句指定了一个调用约定,包括如何生成机器代码以在堆栈中放置函数调用的参数三、Hello程序 /*------------------------------------- HELLO.C--windows下显示Hello,world! 作者:lw 时间:2015年国庆 -------------------------------------*/ #include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT("HelloWin"); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc;

Windows程序设计题(含简答题标准答案)

《Windows程序设计》模拟题 一.单项选择题 1. 在VC++中,项目文件的扩展名是(B)。 A)exe ????B)dsp C)d sw?????D)cpp 2.在MFC中,利用ClassWizard不能(D )。 A)建立新类?????B)进行消息映射 C)增加类的成员变量?D)插入资源 3. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR ?B)WM_HSCROLL C)WM_VSCROLL???D)WM_CHANGE 4. 更新菜单状态的消息是(C)。 A)WM_COMMANDB)UPDATE C)UPDATE_COMMAND_UI D)INVALIDATE 5.对于消息队列描述正确的是( D ) A)在Windows中只有一个消息系统,即系统消息队列。消息队列是一个系统定义的数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行的应用程 序都有自己的消息队列。 C)系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。应用程序的消息对列中存储了程序的所有窗口的全部消息。 D)以上都正确 6. 在MFC中,所有的控件都是(B )类的派生类,都可以作为一个特殊的窗口来处理。 ?B)CWnd A)CView ??? C)C Window ???D)CDialog 7.使用GetDC()获取的设备上下文在退出时,必须调用(A)释放设备上下文。 A)ReleaseDC()???B)delete() C)D eleteDC() ?D)Detach() 8. 希望菜单无效,应该用CCmdUI类的(A )成员函数。 A)Enable ???B)SetRadio C)S etCheck ??D)SetText 9. 希望菜单前出现一个“√”,应该用CCmdUI类的(C)成员函数。 A)Enable??B)SetRadio C)SetCheck????D)SetText 10. 下面(A)不是MFC设备环境类CDC类的派生类。 A)GDI??????B)CPaintDC C)C ClientDC ???D)CWindowDC 11. 在MFC中,所有的文档类都派生于(C),所有的视图类都派生于(A )。 A)CViewB)CWindowC)CDocument D)CFormView 12. 采用C++进行绘图时,(B )用于指定图形的填充样式,(A)用于指定图形的边框样式。 A)画笔B)画刷C)区域D)位图

windows程序设计

消息驱动运行中发生的各种事件(鼠标键盘输入,各种状态的改变等),以消息的形式通知Windows系统Windows系统接收消息,提交给发生事件的应用程序应用程序的窗口处理函数负责处理响应收到的消息处理完成后继续等待下一个消息API application programming Interface SDK software Development kit 事件是用户对计算机操作的动作或程序中某个对象的状态发生的变化,每个事件对应一个消息,即每个事件发生的效果是产生消息消息是描述事件发生的信息事件驱动程序执行的顺序不是事先规定的,而是由事件的发生来控制在程序执行过程中,当某个对象的状态发生变化,或有外部输入等情况发生,则产生相应的事件当事件产生时,系统会发出特定的消息编写程序时可以对这些消息做出反应,也可以不做出;若要做出反应(即响应消息),则把响应此消息的程序写在与此消息相关联的函数中在程序执行时,一旦产生了一个消息,会调用与此消息相关联的函数窗口是Windows应用程序基本的操作单位,是应用程序与用户之间交互的接口,也是系统管理应用程序的基本单位消息传输事件发生,产生消息消息保存到消息队列分配给应用程序消息队列消息循环提取消息窗口函数响应消息MFC Microsoft foundation class MFC应用程序框架提供了一般应用程序需要的全部面向对象软件组件的集成集合MFC程序结构基于框架窗口的应用程序(早期的MFC)程序运行管理、窗口及数据管理分开两部分,与SDK程序类似基于文档/视图的应用程序单文档应用程序(重点)程序运行管理、窗口管理、交互管理、数据管理分开基于对话框的应用程序程序运行管理、对话框管理分开目前的MFC应用程序都采用文档/视图结构,把原来窗口框架类的工作分开窗口框架类管理窗框视图类(即视窗类)管理数据显示、接收用户输入文档类负责数据管理文档视图架构的思想数据嵌入文档中,利用文档的架构管理文档与视图通信,使数据在视图中显示视图显示数据,并与用户交互视图放入窗口中文档模板类对象管理上述对象协调工作CDocument是负责管理数据的类应用程序中的文档类是这个类的派生类作用数据管理程序员应将用户的实际数据对象内嵌在自己的文档类中需要与自己的视图类通信在程序中实现CDocument的派生类,以便嵌入数据对象,并改写成员函数实现对数据的处理用于派生应用程序的视图类CView 作用处理与用户的交互显示文档类中的数据接收用户输入(例如鼠标操作)通常要改写视图类的成员函数OnDraw或OnPrint,实现数据显示框架自动调用OnDraw函数WM_PAINT消息OnPaint()OnDraw() 菜单及响应利用菜单编辑器修改IDR_MAINFRAME 菜单资源在相应的类中为新菜单项映射消息COMMAND单击或用快捷键选中时生产UPDATE_COMMAND_UI上一级菜单显示前生产用于控制菜单状态编写新菜单项的消息处理函数快捷键在菜单项标题后面加“(&字母)”菜单动态为要添加的菜单项定义一个宏(例如ID_MENU1)用CWnd::GetMenu( )获得指向菜单条的指针(如果在子菜单上添加,应用CMenu::GetSubMenu()获得该菜单的指针)为菜单项手工映射消息处理函数在适当的地方调用InsertMenu或AppendMenu添加菜单项调用CWnd::DrawMenuBar()函数重画菜单动态删除菜单项与上面类似(使用DeleteMenu函数)动态创建菜单项用函数BOOL CreateMenu( );获得新菜单句柄,再用此句柄当作AppendMenu函数的第2个参数(需进行(UTIN)强制类型转换)通常用于创建弹出式菜单的顶级(不需映射消息)快捷菜单建立菜单如果菜单已经存在,且功能齐全,只需确定弹出方式即可也可以另加一个菜单资源,此法可使菜单条中不显示快捷菜单关联类(对于新加菜单)把此菜单资源关联到视图类上选中此菜单资源的情况下打开类向导,选视图类影射消息并编写消息处理函数选择弹出方式可在视图类的WM_CONTEXTMENU消息(鼠标右键单击客户区时产生)处理函数中弹出Windows系统有一个存放消息的队列每个应用程序也有一个消息队列Windows系统先将收到的消息存放在系统队列中,然后再分发到相应的应用程序队列中应用程序则从自身的队列中获取消息并进行处理类的消息响应一个类要响应多种消息对于每一种消息最重要的是知道是哪个消息:消息的标识(ID 身份证)这个消息对应的响应函数是什么(函数的起始地址)解决的办法建立一个结构体数组(消息映射表)一行(一个数组元素)是一个消息的信息每行至少包含消息的标识(ID)指向响应函数的指针消息的响应当收到消息后,根据消息ID在表中查找,找到后调用对应的消息处理函数消息路由当一个类收到消息后,先在自己的消息映射表中搜索,搜索到就执行相应的消息处理函数,然后结束消息处理过程未搜到,则到上一层基类中搜索,依此类推如果都未搜到,则交给系统默认的窗口处理函数去处理消息种类窗口消息命令消息控件通知消息实现消息映射消息映射的要点为每个要响应的消息建立一个处理函数为每个能够响应消息的类建立一个结构类型的数组(消息映射表)并填写这个数组编写每个消息处

Windows程序设计案例教程习题解答

《Windows程序设计案例教程》习题解答 第1章 1.1 选择题 https://www.wendangku.net/doc/479584458.html, Framework是一种( )。 A、编程语言 B、程序运行平台 C、操作系统 D、数据库管理系统 2.用Visual https://www.wendangku.net/doc/479584458.html,编写的程序被编译成中间语言(MSIL)后,运行时还要再一次被编译,这种编译被称为( )。 A、CLR B、JIT C、GC D、GDI https://www.wendangku.net/doc/479584458.html,ing namespace的作用是表示( )。 A、引入名字空间 B、使用数据库 C、使用一个文件 D、使用一段程序 4.要使程序运行,需要按( )键。 A、F5 B、Ctrl+F5 C、F10 D、F11 5.C#中的数据类型有( )和( )两种。 A.值类型B.调用类型C.引用类型D.关系类型 6.以下运算符中,()是三目运算符。 A.?:B.――C.=D.<= 7.下列不能为类的成员的是()。 A、属性 B、方法 C、索引器 D、接口 8.下列哪一个不是类的成员的访问修饰符() A、private B、base C、public D、protected 9. 调用构造函数创建对象时,通常使用( )关键字。 A.typeof B.new C.as D.is 10.关键字virtual只能用来修饰类的()成员。 A.字段 B.方法 C.属性 D.常量 11.用()关键字定义的方法,属于整个类而不属于类的某一个具体实例。 A.public B.static C.protected D.private 12.在属性的访问声明中,对属性的读操作用( )关键字标出,表明属性的值是只读的,不能改写。 A.set B.get C.private D.public 13.声明了一个数组Array[13],则Array[3]表示第( )个元素。 A.3 B.4 C.5 D.无法知道 14.在C#中,多继承通过( )来实现 A.属性 B.接口 C.索引器 D.方法 15.采用异常处理格式编写程序的目的在于使程序( )。 A.不会引发异常 B.顺利通过编译 C. 减少异常 D. 在出现异常后能够得到处理 16.窗体的标题条显示的标题由窗体的( )属性决定。 A、BackColor B、Text C、ForeColor D、Opacity 17.关闭窗体需要调用窗体( )方法。 A、Show B、Hide C、Activate D、Close 18.对文本文件写进一行,需要调用StreamWriter实例的()方法。 A.Write B.WriteLine C.Flush D.Close

windows系统权限管理分析

windows系统权限管理分析 1权限 windows中,权限指的是不同账户对文件,文件夹,注册表等的访问能力。 在Windows系统中,用户名和密码对系统安全的影响毫无疑问是最重要。通过一定方式获得计算机用户名,然后再通过一定的方法获取用户名的密码,已经成为许多黑客的重要攻击方式。即使现在许多防火墙软件不端涌现,功能也逐步加强,但是通过获取用户名和密码的攻击方式仍然时有发生。而通过加固Windows系统用户的权限,在一定程度上对安全有着很大的帮助。 Windows是一个支持多用户、多任务的操作系统,不同的用户在访问这台计算机时,将会有不同的权限。 "权限"(Permission)是针对资源而言的。也就是说,设置权限只能是以资源为对象,即"设置某个文件夹有哪些用户可以拥有相应的权限",而不能是以用户为主。这就意味着"权限"必须针对"资源"而言,脱离了资源去谈权限毫无意义──在提到权限的具体实施时,"某个资源"是必须存在的。 利用权限可以控制资源被访问的方式,如User组的成员对某个资源拥有"读取"操作权限、Administrators组成员拥有"读取+写入+删除"操作权限等。 值得一提的是,有一些Windows用户往往会将"权利"与"权限"两个非常相似的概念搞混淆,这里做一下简单解释:“权利"(Right)主要是针对用户而言的。"权力"通常包含"登录权力" (Logon Right)和"特权"(Privilege)两种。登录权力决定了用户如何登录到计算机,如是否采用本地交互式登录、是否为网络登录等。特权则是一系列权力的总称,这些权力主要用于帮助用户对系统进行管理,如是否允许用户安装或加载驱动程序等。显然,权力与权限有本质上的区别。 2六大用户组 Windows是一个支持多用户、多任务的操作系统,不同的用户在访问这台计算机时,将会有不同的权限。同时,对用户权限的设置也是是基于用户和进程而言的,Windows 里,用户被分成许多组,组和组之间都有不同的权限,并且一个组的用户和用户之间也可以有不同的权限。以下就是常见的用户组。

Windows程序设计复习资料(完整答案)

一、单项选择题: 1.WinMain()函数的工作。 WinMain()函数是Windows程序的入口点 在WinMain中进行:注册窗体类、建立窗体、显示窗体、更新窗体、建立消息循环2.非MFC的Windows程序中,不是处理WM_PAINT消息的时候怎样获得客户区的设备环境句柄。 BeginPaint ----------EndPaint GetDC---------------ReleaseDC(成对出现) 利用GetDC()函数获取设备环境句柄 3.句柄的含义。 句柄是一个(通常为32位的)无符号整数(unsigned int),它代表一个内核对象内核对象在应用层的表示 4.在MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。 当窗口客户区有滚动条时客户坐标和逻辑坐标可能不同 5.Windows程序的控制流程。 Windows程序没有固定的控制流程,事件驱动程序控制流程 6.事件驱动、消息驱动的概念。 事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。 消息是事件到达Windows内部后的称呼 7.对话框、控件的作用。 对话框是程序与用户之间进行交互,接收用户输入、并把数据显示出来的一个窗口; 控件是用户可与之交互以输入或操作数据的对象。控件通常出现在对话框中或工具栏上。 8.MFC中怎样处理WM_PAINT消息。 在OnDraw()函数中处理该消息 9.GetMessage()函数在什么情况下返回0,从而导致消息循环终止,程序结束。 在接收到WM_QUIT消息时返回0 10.Windows中,应用程序的输出是怎样进行的。 通过设备描述表DC(Device Context)来进行应用程序与物理设备之间的交互11.MFC中,大多数类的基类都是什么。 CObject类 12.一个MFC应用程序必须有且只能有一个从哪个类派生的全局应用程序对象,此对象在运行时刻控制应用程序中所有其他对象的活动。 CWinApp类 13.每次当窗口客户区需要重新绘制时,应用程序框架怎么处理。 发送WM_PAINT消息,调用OnDraw()函数进行重绘 14.CDC类的作用。 CDC是设备描述表类的基类,除了一般的窗口显示外,还用于基于桌面的全屏幕绘制和非屏幕显示的打印机输出。 15.当程序中某个函数改变了数据而需要重新绘制客户区时,OnDraw()函数不会被自动调

大连海事大学C语言与Windows程序设计6道课后题答案

大连海事大学C语言与Windows程序设计6道课后题答案 1.(1)设计具有以下功能的程序:从键盘上输入10个非负整数,统计并输出最大数和最小数,当输入负数时结束输入。 #include void main() { int a, max=-1, min=32767,num=1; cout<<"Please input a number:"<>a; if(a<0) break; //输入负数结束输入 if(a>max) max =a; if(a=0&&num<=10); if(max>=0) cout<<"Max="< void main() { inti,n,sign=1; float sum=0.0; printf("请输入n:"); scanf("%d",&n); for(i=1;i<=n;i+=2) { sum+=sign*(1.0/i); sign=-sign; } printf("\nsum=%f\n",sum); }

2.设计具有以下功能的程序:从键盘输入10个整数,然后排序。(要求:利用函数调用实现并以数组作为函数的参数) 3.编写几何点(二维平面上)的类Point,包括位置属性(二维坐标x,y), 成员函数包括: 点的位置获取函数GetX()和GetY(), 点的位置设置函数SetX()和SetY(), 点的位置移动函数MoveTo() 点的信息打印函数Display()。 void main() { Point p(100,100); p.Display(); p.MoveTo(200,200); cout<<"after moving…"<

Windows系统管理试题

《Windows系统管理》单科结业试题 考试说明:考试形式为选择题、实验题。其中选择题有一个或多个答案,全部选对才得分,错选、多选和少选均不得分,共15道题,每题3分,共计45分;实验题1道,计 55分。整张试卷满分100分,为闭卷考试,考试时间为90分钟。请将选择题的答案写在 答题纸上,实验题以电子形式提交实验报告。 一、选择题,单选或多选(共15题,每题3分,共45分) 1)以下对Windows 2008企业版硬件要求的描述中,错误的是()。(选择1项) a)CPU速度最低1GHz(x86)和(x64),推荐大于2GHz b)内存最低512MB,推荐不少于2GB c)硬盘可用空间不少于4GB,推荐40GB以上 d)硬盘可用空间不少于10GB,推荐40GB以上 2)在Windows 2008中,添加或删除服务器“功能”(例如telnet)的工具是()。(选 择1项) a)功能与程序 b)管理您的服务器 c)服务器管理器 d)添加或删除程序 3)在一台安装了Windows 2008操作系统的计算机上,如果想让用户具有创建共享文件 夹的权限,可以把该用户加入()。(选择1项) a)Administrators b)Power Users c)Backup Operators d)Print Operators 4)在Windows Server 2008中,可以通过二种方式来共享文件:通过公用文件夹共享文 件和通过任何文件夹共享文件。对于通过公用文件夹共享文件的说法错误的是()。 (选择1项) a)无法控制某个用户对于公用文件夹的访问权限 b)如果关闭共享,登录这台计算机的用户也不能访问公用文件夹 c)启用公用文件夹共享,则能访问网络的任何人都可以打开公用文件夹中文件 d)启用公用文件夹共享,默认Administrators组成员通过网络可以删除公用文 件夹中的文件 5)一台系统为Windows Server 2008的域控制器,()能将其活动目录数据库备份到本 地磁盘E盘。(选择2项) a)通过Windows Server Backup备份系统状态到E盘 b)在命令行模式下输入命令:wbadmin start systemstatebackup –backuptarget: e: c)复制C:\Windows文件夹到E盘 d)利用NTbackup备份系统状态到E盘

Windows程序设计题

《Windows程序设计》模拟题 一.单项选择题 1. 在VC++中,项目文件的扩展名是(B)。 A)exe B)dsp C)dsw D)cpp 2. 在MFC中,利用ClassWizard不能(D)。 A)建立新类B)进行消息映射 C)增加类的成员变量D)插入资源 3. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR B)WM_HSCROLL C)WM_VSCROLL D)WM_CHANGE 4. 更新菜单状态的消息是( C )。 A)WM_COMMAND B)UPDATE C)UPDATE_COMMAND_UI D)INVALIDATE 5. 对于消息队列描述正确的是( D ) A)在Windows中只有一个消息系统,即系统消息队列。消息队列是一个系统定义的数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行的应用程序都有自己的消息队列。 C)系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。 应用程序的消息对列中存储了程序的所有窗口的全部消息。 D)以上都正确 6. 在MFC中,所有的控件都是(B)类的派生类,都可以作为一个特殊的窗口来处理。 A)CView B)CWnd C)CWindow D)CDialog 7. 使用GetDC()获取的设备上下文在退出时,必须调用(A)释放设备上下文。 A)ReleaseDC() B)delete() C)DeleteDC() D)Detach() 8. 希望菜单无效,应该用CCmdUI类的(A)成员函数。 A)Enable B)SetRadio C)SetCheck D)SetText 9. 希望菜单前出现一个“√”,应该用CCmdUI类的(C)成员函数。 A)Enable B)SetRadio C)SetCheck D)SetText 10. 下面(A)不是MFC设备环境类CDC类的派生类。 A)GDI B)CPaintDC C)CClientDC D)CWindowDC 11. 在MFC中,所有的文档类都派生于(C),所有的视图类都派生于(A)。 A)CView B)CWindow C)CDocument D)CFormView 12. 采用C++进行绘图时,(B)用于指定图形的填充样式,(A)用于指定图形的边框样式。

第8章 Windows应用程序设计 习题

第8章Windows应用程序设计 一.选择题 1.要使窗体在运行时,显示在屏幕的中央,应设置窗体的【】属性。 A) WindowState B) StartPosition C) CenterScreen D) CenterParent 2.在C#程序中,文本框控件的【】属性用来设置其是否是只读的。 A) ReadOnly B) Locked C) Lock D) Style 3.要使文本框控件能够显示多行且能自动换行,应设置它的【】属性。 A) MaxLength和Multiline B) Multiline和WordWrap C) PasswordChar和Multiline D) MaxLength和WordWrap 4.在使用RichTextBox控件进行文档编辑时,如果希望知道文档自上次设置该控件的内容后,文本框中的内容是否改变,可使用它的【】属性。 A) Modified B) SelectedText C) Undo D) SaveFile 5.当用户单击窗体上的命令按钮时,会引发命令按钮的【】事件。 A) Click B) Leave C) Move D) Enter 6.要使复选框控件能够显示出三种状态,应首先设置它的【】属性。 A) ThreeState B) Checked C) CheckState D) Indeterminate 7.在Windows应用程序中,如果复选框控件的Checked属性值设置为True,表示【】。 A) 该复选框被选中B) 该复选框不被选中 C) 不显示该复选框的文本信息D) 显示该复选框的文本信息 8.在Windows应用程序中,可以通过以下【】方法使一个窗体成为MDI窗体。 A) 改变窗体的标题信息B) 在工程的选项中设置其为启动窗体 C) 设置窗体的IsMdiContainer属性为True D) 设置窗体的ImeMode属性 9.在Windows应用程序中,若要让窗体MyForm显示为对话框模式窗体,必须【】。 A) 使用MyForm.ShowDialog()方法显示对话框 B) 将MyForm对象的isDialog属性设置为True C) 将MyForm对象的FormBorderStyle属性设置为FixedDialog D) 使用MyForm.Show ()方法显示对话框 10.决定Label控件是否可见的属性是【】。 A) Hide B) Show C) Visible D) Enabled 11.把TextBox控件的【】属性设为True,可使其在运行时接受或显示多行文本。 A) WordWrap B) Multiline C) ScrollBars D) ShowMultiline 12.利用文本框的【】属性,可以实现密码框的功能。 A) Password B) Passwords C) PasswordChar D) PasswordChars 13.如果要为“取消”按钮的文本“Cancel”创建访问键“C”,应将按钮的Text属性设置为【】。 A) &Cancel B) % Cancel C) @ Cancel D) ^ Cancel 14.Windows应用程序中,最常用的输入控件是【】。 A) Label B) TextBox C) Button D) PictureBox 15.若要显示消息框,必须调用MessageBox类的静态方法【】。 A) Show B) ShowDialog C) ShowBox D) ShowMessage 16.PictureBox控件的【】属性可以影响图像的大小及位置关系。 A) Size B) SizeMode C) Mode D) PictureMode

《Windows系统管理》试题

产品名称:BENET 3.0 科目:Windows系统管理 单科结业——问卷 1.有一台Windows server2008服务器,管理员需要在服务器上创建一个共享文件夹,并且在其它计算机上无法通过“网络”浏览到该共享文件夹,可以使用(c )作为共享名。(选择一项) a) data b) Sdata c) data$ d) data* 2.在安装Windows server 2008的过程中显示器突然蓝屏,最可能是以下(d )原因导致的。选择一项) a)硬盘空间不足 b) 版本差异 c) 用户权限不够 d)硬件兼容性 3.你是一台Windows Server2008计算机的系统管理员,你正为—个NTFS分区上的文件夹aptech设置NTFS权限。用户帐号steven同时属于sales组和supports组,sales组对文件夹aptech有“读取和运行、列出文件夹目录、读取”权限,supports组对文件夹apte ch的权限为对应权限的拒绝权限。则当用户“even从本地访问文仵夹aptech时的权限是(d )。(选择一项) a) 读取 b) 读取和运行 c) 列出文件夹日录 d) 拒绝访问 d) 配置用户访问规则 4.公司网络采用Windows单域结构,域用户账户usera的登录时间属性如下图所示,以下说法正确的是(b )。 (选择二项)

a)作为域用户usera可以在任意时间登录域 b) usera如果在星期日(sunday)登录域会被拒绝 c)usera如果在星期六(Saturday)登录域会被拒绝 d) usera如果在星期四(Thursday)登录域会被允许 5.在Windows sever 2008系统中,卸载活动目录的命令是(c )。(选择一项) a) dcpromote b) promote c) dcpromo d) undcpromo 6.有一台处于工作组中的Windows server2008服务器,要配置该服务器上的本地用户帐户密码的长度不能小于8位,可以通过(d )工具进行配置。 (选择一项) a)计算机管理 b)域安全策略 c)域控制器安全策略 d)本地安全策略 7.在Windowsserver 2008支持的动态磁盘卷中,以下(c )的磁盘读写性能最高。(选择一项) a)跨区卷 b) 简单卷 c) 带区卷 d) 镜像卷 8.在WindowsServer 2008域中,在“销售部”OU上委派了普通域用户Iiqiang“重设用户密码并强制在下次登录时更改密码”的任务,关于此情况以下说法正确的是( d)。(选择一项) a)用户liqiang具有了更改所有域用户帐户密码的权限

Windows编程复习题

一单选题 1.在Windows编程约定中,应用程序接口的英文缩写是(A)。 A.API B.SDI C.GDI D.MDI 2.在Windows编程约定中,软件开发包的英文缩写是(C)。 A.API B.SDI C.SDK D.MDI 3.在Windows编程约定中,图像设备接口的英文缩写是(C)。 A.API B.SDI C.GDI D.MDI 4.以下对应于unsigned long的数据类型为:(B) A.WORD B.DWORD C.INT D.BYTE 5.下列选项中,不属于匈牙利命名法属性部分的是(D)。 A.g_ B.m_ C.c_ D.d_ 6.如果要严格按照匈牙利命名法命名1个全局窗口句柄,以下变量命名正确的是(A)。 A.g_hWnd B.m_hWnd C.g_pWnd D.m_pWnd 7.下列Windows数据格式中,代表设备句柄的是(B)。 A.HWND B.HDC C.HINSTANCE D.HFONT 8."在一个窗口的正常运行的Windows程序中,把主窗口创建语句做如下改动: hWnd=CreateWindow(NULL,szTitle,WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL); 则下列说法正确的是(C)。" B.程序仍然正常运行,与改动前相比没有变化 C.程序出现编译错误 D.程序编译通过,但没有窗口显示 E.程序正常运行,窗口标题变为NULL

9.典型的Windows窗口程序的流程为:(A) A.注册窗口类->创建窗口->显示窗口->更新窗口->消息循环 B.创建窗口->注册窗口类->显示窗口->更新窗口->消息循环 C.创建窗口->注册窗口类->显示窗口->更新窗口->消息循环 D.注册窗口类->创建窗口->更新窗口->显示窗口->消息循环 10.菜单编辑器中,如果要设置某个项为分隔线,那么这个项的哪个属性为true。(D) A.Visible B.Grayed C.Enable D.Separator 11.在Windows消息机制中,菜单消息类型是:(B) A.WM_PAINT B.WM_COMMAND C.WM_CREATE D.WM_CLOSE 12.在Windows编程中,代表键盘的"↑"键的虚拟键值是(A)。 A.VK_UP B.WM_KEYDOWN C.WM_KEYUP D.VK_DOWN 13.在Windows编程中,响应键盘按键按下消息的Windows消息是(B)。 A.VK_UP B.WM_KEYDOWN C.WM_KEYUP D.VK_DOWN 14.在Windows编程中,按下键盘的"A"键后,返回的Windows消息是(B)。 A.VK_A B.WM_KEYDOWN C.A D.DIK_A 15.在Windows编程中,按下鼠标左键产生的Windows消息是(B)。 A.WM_KEYDOWN B.WM_LBUTTONDOWN C.WM_LEFT D.WM_RBUTTONDOWN 16.在Windows编程中,标准鼠标的按键数是(C)。 A.1 B.2 C.3 D.4 17.Windows编程中,定时器消息是(B) A.WM_TIME B.WM_TIMER C.WM_ON_TIME

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