模拟考试系统C#源码
- 格式:doc
- 大小:423.50 KB
- 文档页数:26
职业考证-软考-系统分析师模拟考试题含答案1. 单选题著作权中,()的保护期不受限制。
问题1选项A.发表权B.发行权C.署名权D.展览权【答案】C【解析】本题考查知识产权中的著作权的保护期限。
2. 单选题多核CPU环境下进程的调度算法一般有全局队列调度和局部队列调度两种。
()属于全局队列调度的特征。
问题1选项A.操作系统为每个CPU维护一个任务等待队列B.操作系统维护一个任务等待队列C.任务基本上无需在多个CPU核心间切换,有利于提高Cache命中率D.当系统中有一个CPU核心空闲时,操作系统便从该核心的任务等待队列中选取适当的任务执行【答案】B【解析】对于多核CPU,优化操作系统任务调度算法是保证效率的关键。
一般任务调度算法有全局队列调度和局部队列调度。
前者是指操作系统维护一个全局的任务等待队列,当系统中有一个CPU核心空闲时,操作系统就从全局任务等待队列中选取就绪任务开始在此核心上执行。
这种方法的优点是CPU核心利用率较高。
后者是指操作系统为每个CPU内核维护一个局部的任务等待队列,当系统中有一个CPU内核空闲时,便从该核心的任务等待队列中选取恰当的任务执行,这种方法的优点是任务基本上无需在多个CPU核心间切换,有利于提高CPU核心局部Cache命中率。
目前多数多核CPU操作系统采用的是基于全局队列的任务调度算法。
3. 单选题()的开发过程一般是先把系统功能视作一个大的模块,再根据系统分析与设计的要求对其进行进一步的模块分解或组合。
()使用了建模的思想,讨论如何建立一个实际的应用模型,包括对象模型、动态模型和功能模型,其功能模型主要用()实现。
问题1选项A.面向对象方法B.OMT方法C.结构化方法D.Booch方法问题2选项A.面向对象方法B.OMT方法C.结构化方法D.Booch方法问题3选项A.状态图B.DFDC.类图D.流程图【答案】第1题:C第2题:B第3题:B【解析】第1题:结构化方法假定待开发的系统是一个结构化的系统,其基本思想是将系统的生命周期划分为系统规划、系统分析、系统设计、系统实施、系统维护等阶段。
2021年度现代数控技术期末模拟考试题及参考答案(试卷C )一、单项选择题:C 系统软件必须完成管理和控制两大任务,下面任务中哪个不属于控制任务?( );A 、诊断;B 、插补;C 、位控;D 、译码;2.下列正确表示机床坐标系的是( );A 、XB 、XC 、 ZZYYZXYD 、 Y3.脉冲当量的大小决定了加工精度,下面哪种脉冲当量对应的加工精度最高? ( );A 、1um/脉冲;B 、5um/脉冲;C 、10um/脉冲;D 、0.01mm/脉冲;4.设编程原点在工件的上表面,执行下列程序后,钻孔深度是( )。
G90 G01 G43 Z-50 H01 F100 (H01补偿值-2.00mm )。
A .48mm ; B. 52mm ; C. 50mm 。
5.直线的起点坐标在坐标原点,终点坐标为A (x a 、y a ),刀具的坐标为P (x 、y )。
用逐点比较法对该直线进行插补时的偏差函数是( )。
A. F =x ·y -x a ·y a ;B. F =x a ·y -y a ·x ;C. F =x a ·x -y a ·y ;D. F =x a +y a -x -y ;6. 加工中心与其他数控机床的主要区别是( )。
A.有刀库和自动换刀装置;ZXB.机床转速高;C.机床刚性好;D.进刀速度高7. 数控机床的数控装置包括( )。
A.光电读带机和输入程序载体;B.步进电机和伺服系统C.输入、信息处理和输出单元;D.位移、速度传感器和反馈系统8. G00的指令移动速度值是()。
A.机床参数指定;B 数控程序指定;C 操作面板指定。
9.编程坐标系一般指的是()。
A.机床坐标系;B. 工件坐标系;10.下面哪项任务不是数据预处理(预计算)要完成的工作?()。
A、位置控制;B、刀具半径补偿计算;C、刀具长度补偿计算;D、象限及进给方向判断;11. A步进电机的转速是否通过改变电机的()而实现。
一级c类计算机模拟考试试题及答案一、单项选择题(每题2分,共20分)1. 在计算机系统中,CPU指的是什么?A. 中央处理器B. 存储器C. 输入设备D. 输出设备答案:A2. 下列哪个设备不是计算机的输入设备?A. 键盘B. 鼠标C. 显示器D. 扫描仪答案:C3. 在计算机存储系统中,1GB等于多少MB?A. 1024B. 1000C. 512D. 256答案:A4. 下列哪个选项不是计算机病毒的特点?A. 破坏性B. 传染性C. 可预防性D. 潜伏性答案:C5. 在计算机中,二进制数1011转换为十进制数是多少?A. 10B. 11C. 12D. 13答案:B6. 计算机操作系统的主要功能不包括以下哪一项?A. 管理计算机硬件资源B. 提供用户界面C. 执行所有程序D. 打印文档答案:D7. 下列哪个选项是计算机软件的分类?A. 系统软件和应用软件B. 硬件软件和应用软件C. 系统软件和硬件软件D. 应用软件和硬件软件答案:A8. 在计算机中,RAM代表什么?A. 随机存取存储器B. 只读存储器C. 可编程只读存储器D. 动态随机存取存储器答案:A9. 下列哪个选项是计算机硬件的组成部分?A. 操作系统B. 应用程序C. 中央处理器D. 数据库管理系统答案:C10. 在计算机术语中,"CPU"的全称是什么?A. Central Processing UnitB. Central Processing UnitC. Central Processing UnitD. Central Processing Unit答案:A二、多项选择题(每题3分,共15分)1. 计算机病毒可能通过哪些途径传播?A. 电子邮件B. 网络下载C. 移动存储设备D. 以上都是答案:D2. 计算机硬件系统主要包括哪些部分?A. 中央处理器B. 存储器C. 输入输出设备D. 以上都是答案:D3. 计算机软件系统通常分为哪两大类?A. 系统软件B. 应用软件C. 网络软件D. 以上都是答案:A B4. 计算机存储设备包括哪些?A. 硬盘B. 光盘C. 固态硬盘D. 以上都是答案:D5. 计算机的主要性能指标包括哪些?A. 处理器速度B. 内存容量C. 存储容量D. 以上都是答案:D三、判断题(每题1分,共10分)1. 计算机病毒只会破坏软件,不会影响硬件。
精品文档以下程序的输出结果是【38】。
# include<stdio.h># define FUDGE(y) 2.84+y * H& O- |+ J7 K# define PR(a) printf(%d,(int)(a)) N/ L; u- b7 ~2 e# define PRINT1(a) PR(a);putchar('\n') s G/ V; K/ b main(){int x=2; PRINT1(FUDGE(5)*x); } 5 d0 r9 i) l* o【38】A) 11 B) 12 C) 13 D) 15 以下程序的输出结果是【39】。
# include<stdio.h> ! t4 W0 n1 S' U: \/ a main(){ int i=1,j=3; . y$ d8 u2 ^$ d @( N6 D printf(%d,i + + );{ int i=0; i+=j*2; printf(%d,%d,i,j); } 0 m( c( T/ T+ ^) E4 K `) v printf(%d,%d\n,i,j); }【39】A) 1,6,3,1,3 B) 1,6,3,2,3 C) 1,6,3,6,3 D) 1,7,3,2,3以下程序的输出结果是【40】。
5 m9 t p4 j+ n* ]- Z. s. C# include <stdio.h> ! T% B1 z! {1 k- _! S$ Y$ a3 g& w main() + D$ D* y |- e0 `- a- b{ int k=4,m=1,p; ; t5 {( ~1 G g* N3 L$ [9 w. x p=func(k,m); printf(%d,,p); p=func(k,m); printf(%d\n,p);} $ B( Z3 r5 ^* @5 C. ^) W func(a,b)int a,b; 7 J3 O, w- f' M6 |! t* N5 L0 Z9 t{ static int m=0,i=2; & {* n; N% g; Y; ]2 ^( K i+=m+1; m=i+a+b; return(m); } ) G( v+ J) z( O1 u【40】A) 8,17 B) 8,16 C) 8,20 D) 8,8 * Q& r) D4 `1 T m8 W+ h; _设有以下语句:! F/ p% T; V9 g( H' M1 j+ J char str[4][12]={aaa,bbb,ccccc,dddddd}, # d- q# S; \2 R3 `, v, A*strp[4]; int i; ! D2 Z1 D, h+ Z0 v3 o( E+ H: @for(i=0;i<4;i + + )strp[i]=str[i];【41】不是对字符串的正确引用,其中0≤k<4。
1、通过铁路道口时,不得超车。
2、机动车仪表板上(如图所示)亮时,表示什么?A、没有系好安全带B、安全带出现故障C、已经系好安全带D、安全带系的过松3、机动车仪表板上(如图所示)一直亮,表示发动机控制系统故障4、车辆在高速公路行驶时,可以仅凭感觉确认车速5、在这个路口右转弯如何通行?A、先让对面车左转弯B、直接向右转弯C、抢在对面车前右转弯D、鸣喇叭催促6、这个标志是何含义?A、旅游区类别B、旅游区距离C、旅游区方向D、旅游区符号7、道路交通事故中,驾驶人有饮酒、醉酒嫌疑时,要保护现场并立即报警。
8、行车中遇交通事故受伤者需要抢救时,应怎样做?A、及时将伤者送医院抢救或拨打急救电话B、尽量避开,少惹麻烦C、绕过现场行驶D、借故避开现场9、这个标志是何含义?A、禁止借道B、禁止变道C、禁止超车D、禁止掉头10、这个路面标记是什么标线?A、禁驶区B、网状线C、导流线D、中心圈11、记分满12分的驾驶人拒不参加学习和考试的将被公告驾驶证停止使用。
12、驶近没有人行横道的交叉路口时,发现有人横穿道路,应怎样做?A、减速或停车让行B、鸣喇叭示意其让道C、抢在行人之前通过D、立即变道绕过行人13、这个标志是何含义?A、禁止掉头B、禁止向右转弯C、禁止直行D、禁止向左转弯14、驾驶机动车在没有交通信号的路口要尽快通过。
15、在路口遇这种情形怎样通行?A、鸣喇叭告知让行B、直接加速转弯C、让左方来车先行D、减速缓慢转弯16、驾驶机动车驶离高速公路时,在这个位置怎样行驶?A、继续向前行驶B、驶入减速车道C、车速保持100公里/小时D、车速降到40公里/小时以下17、在这种情况下可以借右侧公交车道超车。
18、路口最前端的双白虚线是什么含义?A、等候放行线B、停车让行线C、减速让行线D、左弯待转线19、安全头枕在发生追尾事故时,能有效保护驾驶人的什么部位?A、腰部B、胸部C、颈部D、头部20、对驾驶已达到报废标准的机动车上路行驶的驾驶人,会受到下列哪种处罚?A、处15日以下拘留B、吊销机动车驾驶证C、处20以上200元以下罚款D、追究刑事责任21、这个标志是何含义?A、注意行人B、有人行横道C、村庄或集镇D、有小学校22、驾驶机动车在这种情况下不能左转弯。
校园网计算机二级C机试在线模拟系统操作指南
第一步:打开校园网,,进入你的校园网账户,在校园网的
左边有很多学习组件其中有计算机考试,如下图1。
点击
图1
第二步:点击计算机考试后,进入以下这个界面(图2),大家一定要注意我们是要选上机考试里的二级C。
有的同学会不小心进入了二级VFP,千万要注意别犯这种错误!
图2
第三步:如果你的电脑是第一次在校园网上进入在线模拟上机考试,一定要记得
安装校园网组件,请点击温馨提示里第3项的,或者点击后出现图4的界面中的提示,都是提示你需要加载校园网组件。
如果你已经安装了
校园网的组件,则直接点击,就可以答题了。
图4
第四步:如何加载校园网组件。
点击图4中的在线安装。
这时请注意你自己的浏览器上方的提示
你单击此处,加载ActiveX控件,会出现图5的对话框,你点击安装后就可以了!
图5
注意事项
其实校园网上已经有安装校园网组件的详细步骤了,如下图6,但是大多数同学
犯的错误是直接点击安装步骤里的而不是点击自己浏览器下方出现的安装控件的提示,或者是大部分同学根本没有看到自己浏
览器下方有加载控件的提示!!
这里请注意,一般情况下大家务必都使用IE浏览器,不要使用搜狗浏览器、QQ 浏览器等等,否则可能不会出现这种加载控件的提示!
图5安装步骤解释
第五步:安装完毕后,就刷新页面,即可开始考试了!!
上机考试分为3种题型,时间60分钟。
具体的上机注意事项和上机技巧请参考之前上传到群共享里的2011年的串讲资料!!!。
C语言程序设计模拟考试试卷及答案(五)1、下列电子邮件地址中正确的是(其中□表示空格)A) Malin&B) malin@C) Lin□Ma&D) Lin□Ma@2、下列说法中正确的是A) 为了使用Novell网提供的服务,必须采用FTP协议B) 为了使用Internet网提供的服务,必须采用TELNET协议C) 为了使用Novell网提供的服务,必须采用TCP/IP协议D) 为了使用Internet网提供的服务,必须采用TCP/IP协议3、下列说法中不正确的是A) 调制解调器(Modem)是局域网络设备B) 集线器(Hub)是局域网络设备C) 网卡(NIC)是局域网络设备D) 中继器(Repeater)是局域网络设备4、十进制数397的十六进制值为A) 18D B) 18EC) 277 D) 3615、下列说法中不正确的是A) CD-ROM是一种只读存储器但不是内存储器B) CD-ROM驱动器是多媒体计算机的基本部分C) 只有存放在CD-ROM盘上的数据才称为多媒体信息D) CD-ROM盘上最多能够存储大约650兆字节的信息6、Windows应用环境中鼠标的拖动操作不能完成的是A) 当窗口不是最大时,可以移动窗口的位置B) 当窗口最大时,可以将窗口缩小成图标C) 当窗口有滚动条时可以实现窗口内容的滚动D) 可以将一个文件移动(或复制)到另一个目录中去7、从Windows中启动MS-DOS方式进入了DOS状态,如果想回到Windos 状态,在DOS提示符下,应键入的命令为A) EXITB) QUITC) WIND) DOS -U8、要在Windows标准窗口的下拉菜单中选择命令,下列操作错误的是A) 用鼠标单击该命令选项B) 用键盘上的上下方向键将高亮度条移至该命令选项后再按回车键C) 同时按下ALT键与该命令选项后括号中带有下划线的字母键D) 直接按该命令选项后面括号中带有下划线的字母键9、ASCLL码(含扩展)可以用一个字节表示,则可以表示的ASCLL码值个数为A) 1024B) 256C) 128D) 8O10、字长为32位的计算机是指A) 该计算机能够处理的最大数不超过2(32)B) 该计算机中的CPU可以同时处理32位的二进制信息C) 该计算机的内存量为32MBD) 该计算机每秒钟所能执行的指令条数为32MIPS11、在DOS系统中,下列文件名中非法的是A) ABCDEFG1B) ABCDEFG1.234C)ABCD_EFGD)ABCD\\EFG12、DOS系统启动后,下列文件中驻留内存的是A) CONFIG.SYSB) C) AUTOEXEC.BATD) MEM.EXE13、DOS下的"DIR *2"命令将列出当前目录下的A) 所有名字末尾为字符2的非隐含文件和目录B) 所有名字末尾为字符2的非隐含文件C) 所有非隐含文件D) 所有非隐含文件和目录14、软驱的盘符为A,A盘上只有一个目录\XYZ,而\XYZ下有若干子目录和文件,若想把A盘的所有内容复制到C盘根目录下,应使用的命令为A) COPY A:\\*.* C:B) COPY A:\\*.* C:\\*.*C) XCOPY A:\\*.* C:\\ /SD) DISKCOPY A: C:15、若要将当前盘目录下的文件A.TXT连接在文件B.TXT后面,应使用的命令为A) COPY A.TXT>>B.TXTB) MOVE A.TXT>>B.TXTC) PATH A.TXT>>B.TXTD) TYPE A.TXT>>B.TXT16、若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b+1B) a=b=c+2C) int 18.5%3D) a=a+7=c+b17、C语言中运算对象必须是整型的运算符是A) %=C) =D) 〈=18、若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是A) 1B) 2C) 2.0D) 2.519、若变量a、iI已正确定义,且i已正确赋值,合法的语句是A) a==1B) ++i;C) a=a++=5;D) a=int(i);20、若有以下程序段,int c1=1,c2=2,c3; c3=1.0/c2*c1;则执行后,c3中的值是A) 0B) 0.5C) 1D) 221、若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是B) 0.5C) 1D) 222、能正确表示逻辑关系:"a≥=10或a≤0"的C语言表达式是A) a>=10 or a<=0B) a>=0|a<=10C) a>=10 &&a<=0D) a>=10‖a<=023、有如下程序main0{int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++case 2: a++;b++}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是A) a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=224、有如下程序main0{ float x=2.0,y;if(x<0.0) y=0.0; elseif(x<10.0) y=1.0/x; else y=1.0;printf("%f\n",y); }该程序的输出结果是A) 0.000000B) 0.250000C) 0.500000D) 1.00000025、有如下程序main0{int a=2,b=-1,c=2; if(a<b)if(b<0) c=0;else c++printf("%d\n",c);}该程序的输出结果是A) 0B) 1C) 2D) 326、有如下程序main0{ int i,sum;for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum); }该程序的执行结果是A) 6B) 3C) 死循环D) 027、有如下程序main0{int x=23;do{printf("%d",x--);}while(!x);}该程序的执行结果是A) 321B) 23C) 不输出任何内容D) 陷入死循环28、有如下程序main0{int n=9;while(n>6){n--;printf("%d",n);}}该程序段的输出结果是A) 987B) 876C) 8765D) 987629、设有说明语句:char a='\72';则变量aA) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法30、有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是A) 3B) 4C) 5D) 有语法错31、有如下程序int runc(int a,int b){return(a+b);}main0{int x=2,y=5,z=8,r;r=func(func(x,y),z);printf("%\d\n",r);}该程序的输出的结果是A) 12B) 13C) 14D) 1532、有如下程序段int *p,a=10,b=1p=&a; a=*p+b;执行该程序段后,a的值为A) 12B) 11C) 10D) 编译出错33、对于基类型相同的两个指针变量之间,不能进行的运算是A) <B) =C) +D) -34、以下函数返回a所指数组中最小的值所在的下标值fun(int *a, int n){int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p])__________;return(p);}在下划线处应填入的是A) i=pB) a[p]=a[i]C) p=jD) p=I35、有如下程序long fib(int n){if(n>2)return(fib(n-1)+fib(n-2)); elsereturn(2);}main0{ printf("%d\n",fib(3)); 该程序的输出结果是A} 2B} 4C} 6D} 836、有如下程序#define N 2#define M N+1#define NUM 2*M+1#main(){ int i;for(i=1;i<=NUM;i++)printf("%d\n",i); }该程序中的for循环执行的次数是A) 5B) 6C) 7D) 837、有以下函数char fun(char *p){ return p; }该函数的返回值是A) 无确切的值B) 形参p中存放的地址值C) 一个临时存储单元的地址D) 形参p自身的地址值38、有如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为A) tureB) falseC) 0D) 139、若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是A) EOFB) 0C) 非零值D) NULL40、若有以下说明和定义fun(int *c){ }main(){int (*a)()=fun,*b(),w[10],c;┆}在必要的赋值之后,对fun函数的正确调用语句是A) a=a(w);B) (*a)(&c);C) b=*b(w);D) fun (b);41、有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是A) *P+9B) *(P+8)C) *P+=9D) P+842、有如下程序main0{int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++)n[i]=n[i]+1;printf("%d\n",n[k]);}该程序的输出结果是A) 不确定的值B) 2C) 1D) 043、若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是A) &t[3][2]B) t[3]C) t[1]D) t[2]44、有如下程序main0{int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++)for(j=0;j<i;j++) s+=a[i][j]printf("%d\n",s);}该程序的输出结果是A) 18B) 19C) 20D) 2145、有如下定义struct person{char name[9]; int age;}; strict person class[10]={"Johu", 17, "Paul", 19"Mary", 18,"Adam 16,};根据上述定义,能输出字母M的语句是A) prinft("%c\\n",class[3].mane);B) pfintf("%c\\n",class[3].name[1]);C) prinft("%c\\n",class[2].name[1]);D) printf("%^c\\n",class[2].name[0]);46、以下对结构体类型变量的定义中,不正确的是A) typedef struct aa{ int n;float m;}AA;AA td1;B) #define AA struct aaAA {int n;float m;}td1;C) struct{ int n;float m;}aa;stuct aa td1;D) struct{ int n;float m;}td1;47、有如下程序main(){char s[]="ABCD",*P;for(p=s+l; p<s+4; p++) printf ("%s\n",p);}该程序的输出结果是A) ABCDBCDCDDB) ABCDC) BCDD)BCDCDD48、有如下程序main(){char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}该程序的输出结果是A) 69825B) 63825C) 6385D) 693825答案BDAAC BACBBDBDCD BACBAADACC CBBAADBCDB BBDCBBDDAD CDC。
开始窗体////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Exam{public partial class ExamForm : Form{public ExamForm(){InitializeComponent();}/// <summary>/// ExamForm/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void ExamForm_Load(object sender, EventArgs e){CenterToScreen();Text = "模拟考试系统";this.Width = 360;this.Height = 230;this.progressBar1.Width = 360;this.progressBar1.Height = 10;this.progressBar1.Left = 0;this.progressBar1.Top = 220;this.timer1.Start();}int i = 8;private void timer1_Tick(object sender, EventArgs e){this.progressBar1.PerformStep();i--;if (i==0){this.timer1.Stop();FormExam f = new FormExam();f.Show();this.Hide();}}}}数据库辅助类////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace Exam{public class DataBase{public string connString =@"Data Source=XUTAO;Initial Catalog=Exam;Integrated Security=True";private SqlConnection conn;/// <summary>/// SqlConnection/// </summary>public SqlConnection Conn{get{if (conn == null){conn = new SqlConnection(connString);}return conn;}}/// <summary>/// 打开数据库/// </summary>public void openData(){if (Conn.State == ConnectionState.Closed){Conn.Open();}else if (Conn.State == ConnectionState.Broken){Conn.Close();Conn.Open();}}/// <summary>/// 关闭数据库/// </summary>public void closeData(){if (Conn.State == ConnectionState.Open ||Conn.State == ConnectionState.Broken){Conn.Close();}}}}主窗体////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Exam{public partial class FormExam : Form{public FormExam(){InitializeComponent();}/// <summary>/// 调用数据库/// </summary>DataBase db = new DataBase();/// <summary>/// ExamForm/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void FormExam_Load(object sender, EventArgs e) {CenterToScreen();this.Cursor = Cursors.Hand;this.Text = "模拟考试系统";this.tscmbExamType.SelectedIndex = 0;this.timerDate.Start();this.Width = 1000;this.Height = 600;this.MaximizeBox = false;this.Top = 50;this.groupBox1.Top = 40;this.groupBox1.Left = 10;this.groupBox1.Height = 250;this.groupBox1.Width = 200;this.listExam.GridLines = true;this.listExam.FullRowSelect = true;this.groupBox2.BackColor = Color.Transparent;this.groupBox2.Text = "试题题干";this.groupBox2.Height = 250;this.groupBox2.Width = 755;this.groupBox2.Left = 215;this.groupBox2.Top = 40;this.groupBox2.ForeColor = Color.White;this.rtbExam.ReadOnly = true;this.groupBox3.Text = "试题选项";this.groupBox3.ForeColor = Color.White;this.groupBox3.BackColor = Color.Transparent;this.groupBox3.Left = 215;this.groupBox3.Width = 755;this.groupBox3.Height = 250;this.groupBox3.Top = 295;this.groupBox4.Text = "操作区域";this.groupBox4.ForeColor = Color.White; this.groupBox4.BackColor = Color.Transparent; this.groupBox4.Width = 200;this.groupBox4.Height = 250;this.groupBox4.Top = 295;this.groupBox4.Left = 10;this.button1.Text = "开始答题";this.button1.Top = 40;this.button1.Left = 50;this.button1.Width = 90;this.button1.Height = 25;this.button1.ForeColor = Color.Blue;this.button2.Text = "上一试题";this.button2.Top = 80;this.button2.Left = 50;this.button2.Width = 90;this.button2.Height = 25;this.button2.ForeColor = Color.Blue;this.button3.Text = "下一试题";this.button3.Top = 120;this.button3.Left = 50;this.button3.Width = 90;this.button3.Height = 25;this.button3.ForeColor = Color.Blue;this.button4.Text = "停止答题";this.button4.Top = 160;this.button4.Left = 50;this.button4.Width = 90;this.button4.Height = 25;this.button4.ForeColor = Color.Blue;this.button5.Text = "提交试题";this.button5.Top = 200;this.button5.Left = 50;this.button5.Width = 90;this.button5.Height = 25;this.button5.ForeColor = Color.Blue;this.radioButton1.Text = "A";this.radioButton1.Left = 5;this.radioButton1.Top = 50;this.radioButton1.ForeColor = Color.GreenYellow; this.radioButton1.Enabled = false;this.radioButton2.Text = "B";this.radioButton2.Left = 5;this.radioButton2.Top = 100;this.radioButton2.ForeColor = Color.GreenYellow; this.radioButton2.Enabled = false;this.radioButton3.Text = "C";this.radioButton3.Left = 5;this.radioButton3.Top = 150;this.radioButton3.ForeColor = Color.GreenYellow; this.radioButton3.Enabled = false;this.radioButton4.Text = "D";this.radioButton4.Left = 5;this.radioButton4.Top = 200;this.radioButton4.ForeColor = Color.GreenYellow; this.radioButton4.Enabled = false;bel1.Left = 40;bel1.Top = 52;bel1.Text = "";bel2.Left = 40;bel2.Top = 102;bel2.Text = "";bel3.Left = 40;bel3.Top = 152;bel3.Text = "";bel4.Left = 40;bel4.Top = 202;bel4.Text = "";bel5.Left = 5;bel5.Top = 20;bel5.Text = "";bel5.ForeColor = Color.Red;bel6.Left = 35;bel6.Top = 20;bel6.Text = "";this.listExam.Enabled = false;this.button2.Enabled = false;this.button3.Enabled = false;this.button4.Enabled = false;this.button5.Enabled = false;this.toolStripButton1.Enabled = false;}/// <summary>/// 时间/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void timerDate_Tick(object sender, EventArgs e){this.toolStripLabel2.Text = DateTime.Now.ToString();}int j = 600;/// <summary>/// 计时器/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void timerP_Tick(object sender, EventArgs e){j--;this.toolStripLabel4.Text = j.ToString();if (j > 60){this.toolStripLabel4.ForeColor = Color.GreenYellow;}else{this.toolStripLabel4.ForeColor = Color.Red;}if (j == 0){this.timerP.Stop();this.radioButton1.Enabled = false;this.radioButton2.Enabled = false;this.radioButton3.Enabled = false;this.radioButton4.Enabled = false;bel1.Enabled = false;bel2.Enabled = false;bel3.Enabled = false;bel4.Enabled = false;this.listExam.Enabled = false;this.button1.Enabled = false;this.button2.Enabled = false;this.button3.Enabled = false;this.button4.Enabled = false;this.button5.Enabled = true;MessageBox.Show("时间到,请提交试题!");return;}}/// <summary>/// 开始答题/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button1_Click(object sender, EventArgs e) {this.timerP.Start();this.radioButton1.Enabled = true;this.radioButton2.Enabled = true;this.radioButton3.Enabled = true;this.radioButton4.Enabled = true;bel1.Enabled = true;bel2.Enabled = true;bel3.Enabled = true;bel4.Enabled = true;this.listExam.Enabled = true;this.listExam.Focus();//第一行默认选中this.listExam.Items[0].Selected = true;this.button1.Enabled = false;this.button2.Enabled = true;this.button3.Enabled = true;this.button4.Enabled = true;this.button5.Enabled = true;}/// <summary>/// 停止答题/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button4_Click(object sender, EventArgs e){this.timerP.Stop();this.radioButton1.Enabled = false;this.radioButton2.Enabled = false;this.radioButton3.Enabled = false;this.radioButton4.Enabled = false;bel1.Enabled = false;bel2.Enabled = false;bel3.Enabled = false;bel4.Enabled = false;this.listExam.Enabled = false;this.button1.Enabled = true;this.button2.Enabled = false;this.button3.Enabled = false;this.button4.Enabled = false;this.button5.Enabled = false;}/// <summary>/// 显示试题表数据/// </summary>public void ListShow(){Random random = new Random();int rand = random.Next(0, 190);string sql = string.Format(@"select top 10ExamPaper.SubjectNo,ExamPaper.SubjectName,ExamResult.A,ExamResult.B,ExamResult.C,ExamResult.D,ExamPaper.TypeIDfrom ExamPaperinner joinExamResultonExamPaper.TypeID=ExamResult.TypeIDandExamPaper.SubjectNo=ExamResult.SubjectNowhere ExamPaper.SubjectNonot in(select top {0} ExamPaper.SubjectNo from ExamPaper)and ExamResult.TypeID=(select TypeID from ExamPaperTypewhereExamPaperType.TypeName like '%{1}%')",rand, this.tscmbExamType.Text.Substring(0, 3));try{db.openData();SqlCommand comm = new SqlCommand(sql, db.Conn);SqlDataReader reader = comm.ExecuteReader();if (!reader.HasRows){return;}else{while (reader.Read()){string SubjectNo = reader["SubjectNo"].ToString();//题号string SubjectName = reader["SubjectName"].ToString();//题干string TypeID = reader["TypeID"].ToString();string A = reader["A"].ToString();string B = reader["B"].ToString();string C = reader["C"].ToString();string D = reader["D"].ToString();ListViewItem items = new ListViewItem(SubjectNo);items.SubItems.Add(SubjectName);items.SubItems.Add(TypeID);items.SubItems.Add(A);items.SubItems.Add(B);items.SubItems.Add(C);items.SubItems.Add(D);this.listExam.Items.Add(items);}}reader.Close();}catch (Exception ex){MessageBox.Show(ex.Message);}finally{db.closeData();}}/// <summary>/// listShow/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void tscmbExamType_SelectedIndexChanged(object sender, EventArgs e) {if (this.listExam.Items.Count != 0){this.listExam.Items.Clear();}this.timerP.Stop();j = 600;this.toolStripLabel4.Text = "00";this.radioButton1.Enabled = false;this.radioButton2.Enabled = false;this.radioButton3.Enabled = false;this.radioButton4.Enabled = false;bel1.Enabled = false;bel2.Enabled = false;bel3.Enabled = false;bel4.Enabled = false;this.listExam.Enabled = false;this.rtbExam.Text = "";bel1.Text = "";bel2.Text = "";bel3.Text = "";bel4.Text = "";bel5.Text = "";bel6.Text = "";this.button1.Enabled = true;this.button2.Enabled = false;this.button3.Enabled = false;this.button4.Enabled = false;this.button5.Enabled = false;this.ListShow();}string TypeID = "";//类型号/// <summary>/// 显示题干和选项/// </summary>public void ShowExam(){if (this.listExam.SelectedItems.Count != 0){bel5.Text = this.listExam.SelectedItems[0].SubItems[0].Text;this.rtbExam.Text = this.listExam.SelectedItems[0].SubItems[1].Text;TypeID = this.listExam.SelectedItems[0].SubItems[2].Text;bel1.Text = this.listExam.SelectedItems[0].SubItems[3].Text;bel2.Text = this.listExam.SelectedItems[0].SubItems[4].Text;bel3.Text = this.listExam.SelectedItems[0].SubItems[5].Text;bel4.Text = this.listExam.SelectedItems[0].SubItems[6].Text;}else{return;}}/// <summary>/// 选项/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void listExam_SelectedIndexChanged(object sender, EventArgs e) {this.ShowExam();}private void button3_Click(object sender, EventArgs e){this.radioButton1.Checked = false;this.radioButton2.Checked = false;this.radioButton3.Checked = false;this.radioButton4.Checked = false;bel6.Text = "";for (int i = 0; i < listExam.Items.Count - 1; i++){if (listExam.Items[i].Selected) // 得到当前选中项,因为这个控件支持多选,所以只能通过遍历得到{if (i != 0 || i == 0){listExam.Items[i + 1].Selected = true;listExam.Select();break;}}}}/// <summary>/// 上一题/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button2_Click(object sender, EventArgs e){this.radioButton1.Checked = false;this.radioButton2.Checked = false;this.radioButton3.Checked = false;this.radioButton4.Checked = false;bel6.Text = "";for (int i = 0; i < listExam.Items.Count; i++){if (listExam.Items[i].Selected) // 得到当前选中项,因为这个控件支持多选,所以只能通过遍历得到{if (i != 0){listExam.Items[i - 1].Selected = true;listExam.Select();break;}}}}/// <summary>/// 所选答案/// </summary>public int InsertData(){string rightname = "";if (this.radioButton1.Checked == true){rightname = radioButton1.Text;}else if (this.radioButton2.Checked == true){rightname = radioButton2.Text;}else if (this.radioButton3.Checked == true){rightname = radioButton3.Text;}else if (this.radioButton4.Checked == true){rightname = radioButton4.Text;}int result = 0;string sql = string.Format(@"if exists(select AnswerName from ExamAnswer where AnswerName='{0}' and TypeID={1} and SubjectNo={2})beginif exists (select * from ExamRight where SubjectNo={3} and TypeID={4})beginupdate ExamRight set RightType =0, RightDate=GETDA TE(), RightName='{5}'where SubjectNo={6} and TypeID={7}endelsebegininsert into ExamRight (RightType,SubjectNo,TypeID,RightDate,RightName)values(0,{8},{9},GETDATE(),'{10}')endendelsebeginif exists (select * from ExamRight where SubjectNo={11} and TypeID={12})beginupdate ExamRight set RightType =1,RightDate=GETDATE(), RightName='{13}'where SubjectNo={14} and TypeID={15}endelsebegininsert into ExamRight (RightType,SubjectNo,TypeID,RightDate,RightName)values(1,{16},{17},GETDA TE(),'{18}')endend", rightname, TypeID, bel5.Text,bel5.Text, TypeID, rightname,bel5.Text, TypeID, bel5.Text,TypeID, rightname, bel5.Text,TypeID, rightname, bel5.Text,TypeID,bel5.Text,TypeID, rightname);SqlCommand comm = new SqlCommand(sql, db.Conn);try{db.openData();result = comm.ExecuteNonQuery();if (result != 0){bel6.Text = "答题成功,请继续答题!";bel6.ForeColor = Color.GreenYellow;return result;}else{bel6.Text = "答题失败,请重新答题!";bel6.ForeColor = Color.Red;return result;}}catch (Exception ex){MessageBox.Show(ex.Message);}finally{db.closeData();}return result;}/// <summary>/// 总计/// </summary>public void CountExam(){string sql = string.Format(@"select COUNT(*) as 总计from ExamRight where RightType in(select top 10 RightType from ExamRightwhere TypeID=(select TypeID from ExamPaperTypewhereExamPaperType.TypeName like '%{0}%')order by RightDate desc)and RightType=1 andTypeID=(select TypeID from ExamPaperTypewhereExamPaperType.TypeName like '%{1}%') ",this.tscmbExamType.Text.Substring(0, 3),this.tscmbExamType.Text.Substring(0, 3));try{db.openData();SqlCommand comm = new SqlCommand(sql, db.Conn);SqlDataReader reader = comm.ExecuteReader();if (!reader.HasRows){return;}else{while (reader.Read()){this.toolStripLabel6.Text = reader["总计"].ToString();}}reader.Close();}catch (Exception ex){MessageBox.Show(ex.Message);}finally{db.closeData();}}/// <summary>/// 提交试卷/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button5_Click(object sender, EventArgs e){this.button1.Enabled = false;this.button2.Enabled = false;this.button3.Enabled = false;this.button4.Enabled = false;this.timerP.Stop();this.radioButton1.Enabled = false;this.radioButton2.Enabled = false;this.radioButton3.Enabled = false;this.radioButton4.Enabled = false;bel1.Enabled = false;bel2.Enabled = false;bel3.Enabled = false;bel4.Enabled = false;this.listExam.Enabled = false;this.toolStripButton1.Enabled = true;this.CountExam();}private void radioButton1_Click(object sender, EventArgs e){InsertData();}private void radioButton2_Click(object sender, EventArgs e){InsertData();}private void radioButton3_Click(object sender, EventArgs e){InsertData();}private void radioButton4_Click(object sender, EventArgs e){InsertData();}/// <summary>/// 查看详情/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void toolStripButton1_Click(object sender, EventArgs e){FormMsg f = new FormMsg();f.Show();this.Hide();}private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) {Application.Exit();}private void 关于ToolStripMenuItem_Click(object sender, EventArgs e){FormAbout fa = new FormAbout();fa.Show();}private void FormExam_FormClosing(object sender, FormClosingEventArgs e){}}}次窗体////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Exam{public partial class FormMsg : Form{public FormMsg(){InitializeComponent();}/// <summary>/// 调用数据库/// </summary>DataBase db = new DataBase();/// <summary>/// FormMsg/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void FormMsg_Load(object sender, EventArgs e){CenterToScreen();this.Width = 800;this.Height = 460;MaximizeBox = false;this.groupBox1.Text = "所答题目";this.groupBox1.BackColor = Color.Transparent;this.groupBox1.Width = 765;this.groupBox1.Height = 150;this.groupBox1.Left = 10;this.groupBox1.Top = 40;this.groupBox1.ForeColor = Color.White;this.Cursor = Cursors.Hand;this.listView1.GridLines = true;this.toolStripComboBox1.SelectedIndex = 0;this.toolStripLabel3.Text = "";this.groupBox2.Width = 765;this.groupBox2.Height = 200;this.groupBox2.Top = 200;this.groupBox2.Text = "所答题目";this.groupBox2.BackColor = Color.Transparent;this.groupBox2.ForeColor = Color.White;this.groupBox2.Left = 10;this.richTextBox1.ReadOnly = true;this.Text = "模拟考试系统";this.listView1.FullRowSelect = true;}/// <summary>/// 显示/// </summary>public void ShowList(){try{string sql = string.Format(@" select top 10 ExamPaper.SubjectNo,ExamPaper.SubjectName,ExamRight.TypeID,ExamAnswer.AnswerName,ExamRight.RightName,ExamRight.RightType,ExamRight.RightDate,ExamResult.A,ExamResult.B,ExamResult.C,ExamResult.DfromExamRightinner joinExamAnsweronExamAnswer.TypeID=ExamRight.TypeIDandExamAnswer.SubjectNo=ExamRight.SubjectNoinner joinExamPaperonExamPaper.TypeID=ExamRight.TypeIDandExamPaper.SubjectNo=ExamRight.SubjectNoinner joinExamResultonExamPaper.TypeID= ExamResult.TypeIDandExamPaper.SubjectNo= ExamResult.SubjectNowhere ExamRight.TypeID=(select TypeID from ExamPaperTypewhereExamPaperType.TypeName like '%{0}%')order by RightDate desc",this.toolStripComboBox1.Text.Substring(0, 3));db.openData();SqlCommand comm = new SqlCommand(sql, db.Conn);SqlDataReader reader = comm.ExecuteReader();if (!reader.HasRows){return;}else{while (reader.Read()){string SubjectNo = reader["SubjectNo"].ToString();int TypeID = int.Parse(reader["TypeID"].ToString());string AnswerName = reader["AnswerName"].ToString();string RightName = reader["RightName"].ToString();int RightType = int.Parse(reader["RightType"].ToString());string SubjectName = reader["SubjectName"].ToString();string RightDate = reader["RightDate"].ToString();string A = reader["A"].ToString();string B = reader["B"].ToString();string C = reader["C"].ToString();string D = reader["D"].ToString();ListViewItem items = new ListViewItem(SubjectNo);items.SubItems.Add(RightName);items.SubItems.Add(RightDate);if (TypeID == 1){items.SubItems.Add("计算机等级试题");}else if (TypeID == 2){items.SubItems.Add("四六级等级试题");}if (RightType == 0){items.SubItems.Add("√");}else if (RightType == 1){items.SubItems.Add("╳");}items.SubItems.Add(SubjectName);items.SubItems.Add(AnswerName);items.SubItems.Add(A);items.SubItems.Add(B);items.SubItems.Add(C);items.SubItems.Add(D);this.listView1.Items.Add(items);}}reader.Close();}catch (Exception ex){MessageBox.Show(ex.Message);}finally{db.closeData();}}/// <summary>/// LIST/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void listView1_SelectedIndexChanged(object sender, EventArgs e){if (this.listView1.SelectedItems.Count != 0){this.toolStripLabel3.Text = this.listView1.SelectedItems[0].SubItems[6].Text;this.richTextBox1.Text = this.listView1.SelectedItems[0].SubItems[5].Text +"\nA:"+this.listView1.SelectedItems[0].SubItems[7].Text+"\nB:"+this.listView1.SelectedItems[0].SubItems[8].Text+"\nC:"+this.listView1.SelectedItems[0].SubItems[9].Text+"\nD:"+this.listView1.SelectedItems[0].SubItems[10].Text;}}/// <summary>/// 选项/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e) {this.toolStripLabel3.Text = "";this.richTextBox1.Text = "";this.listView1.Items.Clear();this.ShowList();}private void FormMsg_FormClosed(object sender, FormClosedEventArgs e){FormExam f = new FormExam();f.Show();}/// <summary>/// 清扫记录/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void toolStripButton1_Click(object sender, EventArgs e) {string sql = "";SqlCommand comm = null;if (this.toolStripComboBox1.Text == "计算机等级考试"){sql = "delete from ExamRight where TypeID=1 ";comm = new SqlCommand(sql, db.Conn);try{db.openData();int result = comm.ExecuteNonQuery();if (result != 0){this.listView1.Items.Clear();this.richTextBox1.Clear();this.toolStripLabel3.Text = "";ShowList();MessageBox.Show("清扫成功!");return;}else{return;}}catch (Exception ex){MessageBox.Show(ex.Message);}finally{db.closeData();}}else if (this.toolStripComboBox1.Text == "四六级等级考试") {sql = "delete from ExamRight where TypeID=2 ";comm = new SqlCommand(sql, db.Conn);try{db.openData();int result = comm.ExecuteNonQuery();if (result != 0){this.listView1.Items.Clear();ShowList();MessageBox.Show("清扫成功!");return;}else{return;}}catch (Exception ex){MessageBox.Show(ex.Message);}finally{db.closeData();}}}}}附:软件截图。