2012-VC 期中考试-答案

合集下载

2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案

2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案

2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案2012年3月全国计算机等级考试二级笔试试卷Visual Basic 语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A )、B )、C )、D )四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A )循环队列是队列的一种链式存储结构B )循环队列是队列的一种顺序存储结构C )循环队列是非线性结构D )循环队列是一种逻辑结构(2)下列叙述中正确的是A )栈是一种先进先出的线性表B )队列是一种后进先出的线性表C )栈与队列都是非线性结构D )以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为A )16B )10C )6D )4(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A )外模式B )内模式C )概念模式D )逻辑模式(5)在满足实体完整性约束的条件下A )一个关系中应该有一个或多个候选关键字B )一个关系中只能有一个候选关键字C )一个关系中必须有多个候选关键字D )一个关系中可以没有候选关键字(6)有三个关系R 、S 和T 如下:R ST 则由关系R 和S 得到关系T 的操作是A )自然连接B )并C )交D )差(7)软件生命周期中的活动不包括A )市场调研B )需求分析C )软件测试D )软件维护(8)下面不属于需求分析阶段任务的是A )确定软件系统的功能需求B )确定软件系统的性能需求C )需求规格说明书评审 A B Ca 1 2b 2 1c 3 1 A B C a 1 2d 2 1 A B C b 2 1 c 3 1整理:陈远跃D)制定软件集成测试计划(9)在黑盒测试方法中,设计测试用例的主要根据是A)程序内部逻辑B)程序外部功能C)程序数据结构D)程序流程图(10)在软件设计中不适用的工具是A)系统结构图B)PAD图C)数据流图(DFD图)D)程序流程图(11)以下合法的VB变量名是D)x*y A)case B)name10 C)t-name(12)设x是小于10的非负数。

2012考试综合

2012考试综合

2012——2013第一学期高二期中考试试题(卷Ⅰ)专业:计算机科目:理综时间:90分钟满分:100分一、单项选择题(每小题1分,共30分)1、Partition Magic中,关于合并分区的说法正确的是()A、一个物理硬盘上位置连续的两个分区可以执行合并操作B、一个物理硬盘上盘符连续的两个分区都可以执行合并操作C、只有文件系统格式相同的分区才能完成合并操作D、需合并的分区至少要有两个以上的文件或文件夹才能完成合并操作2、在使用Partition Magion进行创建分区,合并分区操作时,要想使操作生效,应单击主界面的()A、撤消B、确定C、好D、应用3、在DOS下使用一键Ghost,主界面中主菜单中没有的选项是()A、LocalB、Peer toPeerC、QuitD、Check4、启动Partition Magic软件后,在分区信息栏中有“Unallocated”标志的区域属于()A、未分配空间B、逻辑分区C、主分区D、隐藏分区5、在使用Partition Magic调整分区大小时,若要增大某分区的容量,但在打开的“减少哪一个分区的容量?”对话框中没有勾选任何分区,则()A、会出现一个错误提示B、将减少的是相邻分区C、分区容量不会有变化D、没任何变化6、一键Ghost创建的映像文件的扩展名是()A、ISO B、GHO C、SYS D、DAT7、关于一键Ghost的克隆功能,下列说法中正确的是()A克隆功能在硬盘之间进行,不能在分区进行B克隆硬盘时可以同时生成映像文件C、克隆分区时,将同时生成分区的备份文件D、克隆过程中不产生映像文件8、利用Ghost在DOS下选择分区后生成镜像文件,应依次选择( )A、Local-Disk-From imageB、Local-Partition-FromImageC、Local-Partition-To ImageD、Local-Disk-To image9、新购买的计算机配件,为防止有假,使用的检测软件可以是()A、WinRARB、Nero ExpressC、AIDA64D、Daemon tools Lite10、以下属于AIDA64软件磁盘测试功能的是()A、连续读取数据的速率B、随机读取数据的速率C、CPU租用率D、以上说法均正确11、在用AIDA64软件的报告向导生成系统完整报告或模块报告时,不能将其存储的格式是()A、纯文本B、HTMLC、MHTMLD、WORD文档12、注册表是一个()的数据库系统A、网状结构B、树状分层结构C、星型结构C、环状结构13、要使外设和CPU之间的数据传递更为流畅,可以使用Windows 优化大师的()功能A、开机速度优化B、磁盘缓存优化C、系统磁盘医生D、内存整理14、在Windows 优化大师中要调整多操作系统的默认启动顺序,应使用的优化选项是()A、文件系统优化B、系统个性优化C、桌面菜单优化D、开机速度优化15、关于磁盘缓存,以下说法正确的是()A、磁盘缓存是在硬盘上开辟的存储区域B、磁盘缓存要占用内存空间,因此越小越好C、磁盘缓存的大小要视物理内存的大小和任务的多少决定D、在Windows 优化大师中调整磁盘缓存时,磁盘缓存越大越好16.在数据库的发展阶段中, 第二代数据库是指( )A. 关系数据库系统B. 层次数据库系统C. 面向对象数据库系统D. 网状数据库系统17.数据库系统的简称是〈〉A.DBB.DBMSC.DBAD.DBS18.数据库系统的" 数据共享" 是指( 〉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..Access数据库要存放"个人简历",该字段类型应设置为( )A.文本B.备注C.超级链接D.OLE对象25..在Access的数据表视图中,要插入一个OLE对象,正确的方法是( )A.直接在相应位置输入OLE对象的路径B.使用菜单"插入→对象"命令来完成C.使用菜单"文件→导人对象"命令来完成D.双击该字段,在打开的添加对话框中完成对象的添加26.若字段学号是6 位数字, 则该字段的输入掩码可设置为( 〉A.999999B.000000C.######D.??????27.定义Access 数据表结构时, 不能定义的是〈〉A. 字段名称B. 字段类型C. 字段大小D. 字段内容28. 关于设计视图, 以下说法错误的是( 〉A. 设计视图一般用于维护表的结构B. 设计视图和数据表视图可以通过" 视图" 菜单进行切换C. 可以通过设计视图编辑修改字段的内容和属性值D. 在数据库窗口中, 选择数据表后, 单击" 设计" 按钮就可打开设计视图29. 以下不能设置为主键的数据类型是A. 文本型字段B. 数字型字段C. 日期/ 时间型字段D.OLE 对象型30. 如果要把字段类型由单精度改为整型, 原字段中的值A. 小数部分将全部丢失B. 将对小数部分进行四舍五入取整C. 全部改为空值D. 所有数值全部改为031.以下说法正确的是()A. 在关系运算的各种操作中 , 从学生表中找出所有男生的操作属于投影B. 在 Select 语句中 ,Distinct 参数表示在检索时去掉所有重复的元组C. 对文本型数据 "5" 、 "428" 、 "XYZ" 、 "abc" 排序时最小的是 "5"D. 实体描述 " 学生 ( 学号、姓名、年龄、成绩〉 " 是一个实体集32.将 Access 的 " 默认查找 / 替换方式 " 设置为 " 常规搜索 ", 则搜索时 ()A. 将以全字匹配方式搜索当前字段B. 以全字匹配方式搜索所有的字段C. 搜索当前字段并且与字段起始字符匹配D. 将搜索所有字段 , 并且只需符合字段的任一部分即可33.以下文本型字段中 , 排序最小的是()A."125"B." 计算机 "C."ABC"D."3" 34.在 Access 中 , 以下叙述错误的是〈〉A. 数据类型为备注、超级链接或 OLE 对象的字段不能排序B. 排序后 , 排序次序与表一起保存C. 英文数据按字母顺序排序 , 大、小写视为相同D. 按升序排序字段时 , 如果字段的值为空值 , 则将包含空值的记录排列在列表的最后35. 以下能参加排序的字段类型是A. 日期 / 时间型B. 超级链接型C. 备注型D.OLE 对象型二、简答题(每小题5分,共25分)1、使用PartitionMagic需要注意的问题?2、计算机上的D分区和E分区能实现合并吗?为什么?3、在DOS方式下,“Local”→“Partition”菜单下包括哪些子命令,各有什么含义?5.设计数据库的步骤有哪些 ?4.简述排序的相关规则。

12年4月C语言期中试卷(含答案)

12年4月C语言期中试卷(含答案)

南京师范大学2012年春非计算机专业《 C 语言 》课程期中考试试卷2012年 4 月 13 日 命题人: 大学计算机教研部学号:___________________ 姓名:__________________ 成绩: ______________ 说明:本试卷考试时间为120分钟一. 在四个选项中,选择一个正确的答案填入括号内(20分,每题1分)1. C 语言源程序中,下述哪一项是必不可少的:C A) #include<stdio.h> B) 变量声明 C) 取名为main 的函数定义 D) 注释2. 下列变量定义中合法的是 AA) short _a=10 - .le-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=1e-3; 3. 在C 语言中,不正确的字符常量是:CA) '\n' B) '\x53' C) "a" D) '\101' 4. 在TC2.0中,下列哪个快捷键是对查看源程序运行的结果: D A)F8 B)F2 C)Ctrl+F9 D)Alt+F55. 设有声明int a; long b; float c;则以下能正确输入输出数据的是: C A) scanf("%d",a); B) printf("%ld",c); C) scanf("%ld",&b); D) printf("%d",b);6. 如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运 算后的值是: CA) 0 B) 2 C) 2.5 D) 2.75 7. 若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是: D A)无输出 B)结果不确定 C)-1 D)18. 设有int a=12; 则执行printf("%d",20>a>1);的输出为: A A)0 B)1 C)2 D)39. 设有声明int value='b';,则执行下列选项的赋值语句后,value 的值不等于1的是:dA) value= value - 'a ’; B) value=value - 97; C) value=value –'\x61'; D) value=value –'\140';10.若有如下定义:char a;int b;float c;double d;则表达式a*b,c-d 的值的类型为:DA)float B)int C)char D)double11.若a 为int 类型,且其值为3,则执行完表达式a+=a-=a*a 后,a 的值是 C A) -3 B) 9 C) –12 D) 612.设x 、y 、t 均为int 型变量,则执行语句:x=y=3; t=++x||++y;后,y 的值为 : CA) 不定值 B) 4 C) 3 D) 113. 以下变量x.、y 、z 均为double 类型且已正确赋值,不能正确表示数学式子的C 语言表达式是 AA) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/zyz x---------------------------------------------------------------------------------------------- ---------------------------------------------------------------- -----------------------------14.C语言规定的if-else配对原则是:cA)与缩排位置相同的if组成一对B)与在其之前未配对的if 配对C)与在其之前未配对的最近的if组成配对D)与同一行上的if组成配对15.下列描述中,错误的是: BA)break 语句不能用于循环语句和switch语句外的任何其他语句。

VC#期中试卷

VC#期中试卷

湛江现代科技职业学院2011-2012学年度第一学期期中考试试题(考试时间: 100 分钟)题一、选择题(共20题,每题2分,共40分) Framework通常简称.NET框架,是一种( B )。

A、编程语言B、程序运行平台C、操作系统D、数据库管理系统2.C#中声明一个命名空间的关键字是( A )。

A、namespaceB、nameplaceC、thisD、as3.使用(A )关键字引入命名空间。

A、usingB、newC、thisD、as4.C#的Windows应用程序的入口点是( A )。

A、某个窗体的Main()方法B、某个窗体的Load()事件C、某个窗体的Init事件D、某个窗体的构造函数5.窗体程序代码中的this代表了( B )。

A、当前窗体类B、窗体的当前实例C、代码所在的方法D、代码所在的事件6.窗体的标题条显示的标题由窗体的( B )属性决定。

A、BackColorB、TextC、ForeColorD、Opacity7.关闭窗体需要调用窗体( D )方法。

A、ShowB、HideC、ActivateD、Close8.对文本文件写进一行,需要调用StreamWriter实例的( B )方法。

A、Write B.WriteLine C.Flush D.Close9.下列控件在程序运行期间总不可见的是( B )。

A、TextBoxB、TimerC、LabelD、PictureBox10.要使控件不可用(呈灰色显示)需要将( C )属性设置为False。

A、EnabledB、VisibleC、LockedD、CausesValidation11.以下运算符中,( A )是三目运算符。

A、?: B.―― C.= D.<=12.以下类型不属于值类型的是( D )。

A、整数类型 B.布尔类型 C.字符类型 D.类类型13.C#系统类型中的System.Int64对应以下( C )数据类型。

2012年秋VC试卷(附答案)

2012年秋VC试卷(附答案)

2012年秋江苏省计算机等级考试(二级)试题VC++语言程序设计(第二部分)(附答案)一、选择题(用答题卡答题,答案依次填在21~30答题号内)21. 以下选项中,均不能作为用户标识符的选项是 21 。

A.A, P_0, do B.float, 2a0, -A C.b_a, goto, int D.-123, temp, INT22. 设有说明语句:“int *p[5];”,正确描述该语句的是 22 。

A.p是一个指向数组的指针,所指向的数组是5个int 类型的元素B.p是一个指向某数组中第5个元素的指针,该元素是int 类型的变量C.p[5]表示某个数组中的第5个元素的值D.p是一个具有5个元素的指针数组,每个元素都是一个int 类型的指针23.设有以下语句序列:#define S(x) x*(x)*2int k=3;则表达式S(k+1)的值为 23 。

A.32 B.11 C.24 D.824.在循环语句的循环体中使用 break 和 continue语句的作用分别是 24 。

A.两语句都结束循环B.结束本次循环和结束循环C.两语句都结束本次循环D.结束循环和结束本次循环25. 以下叙述中,不正确的是 25 。

A.派生类的成员函数中可直接使用其基类中的所有成员,并与派生方式无关B.派生类不能继承其基类的友元函数C.派生类构造函数通常带有基类初始化列表D.派生类缺省的构造函数中通常隐含直接基类的缺省构造函数26. 以下叙述中,不正确的是 26 。

A.类的构造函数可以重载B.类的析构函数可以重载C.一个类必定有构造函数D.一个类必定有析构函数27. 以下叙述中,正确的是 27 。

A.函数在重载时其函数名可以不同B.C++中所有运算符都可以重载C.基类中定义虚函数a(int,int),若在派生类中定义函数a(int),则在派生类中a为函数重载D.对于基类中定义的运算符重载函数,在派生类中均可继承和使用28. 一个类的静态数据成员所表示的属性 28 。

2012年计算机专业期中考试试卷

2012年计算机专业期中考试试卷

一、选择题:1. 运行 Visual Foxpro 6.0,错误的方法是A) 双击 Visual Foxpro 6.0 图标 B) 单击 Visual Foxpro 6.0 图标回车C) 右击 Visual Foxpro 6.0 图标,并单击其快捷菜单中的"打开"命令D) 拖动 Visual Foxpro 6.0 图标到一个新位置2. 启动 Visual Foxpro 6.0 屏幕上出现两个窗口:一个是 Visual Foxpro 6.0 的主窗口,另一个是A) 文本 B) 命令 C) 帮助 D) 对话框3. 在 Visual Foxpro 6.0 中,可以在同类数据之间进行减运算的数据类型是A) 数值型,字符型,逻辑型 B) 数值型,字符型,日期型C) 数值型,日期型,逻辑型 D) 字符型,日期型,逻辑型4. 在以下四组中,每组有两个分别运算的函数,运算结果相同的是A) LEFT("FoxBASE",3)与SUBSTR("FoxBASE",1,3) B) YEAR(DATE())与SUBSTR(DTOC(DATE()),7,2)C) TYPE("36-5*4")与TYPE(36-5*4) D) 假定 A= "this ", B= "is a string",A-B与A+B5. 执行以下命令序列m=len("119")?m=m+1的显示结果是A) 119 B) 3 C) 4 D) .f.6. 执行以下命令序列STORE CTOD("06/20/99") TO RQSTORE MONTH(RQ) TO DT? DT显示的 DT 值为A) 06 B) 99 C) 20 D) 67. 以下赋值语句正确的是A) STORE 8 TO X,Y B) STORE 8,9 TO X,Y C) X=8,Y=9 D) X,Y=88. 执行命令DIMENSION M(4,2) 之后,数组 M 的下标变量个数和初值分别是A) 8,.F. B) 4,.T. C) 8,O D) 2,空值9. VFP支持的数据模型是A)层次数据模型 B)关系数据模型 C)网状数据模型 D)树状数据模型10. 下列函数中函数值为字符型的是A)DATE() B)TIME() C)YEAR() D)DATETIME()11. 系统变量名均以______开头A) 字母 B) 数字 C) 下划线 D) 汉字12. 数据库 DB,数据库系统 DBS,数据库管理系统 DBMS 三者之间的关系是A) DBS 包括 DB 和 DBMS B) DBMS 包括 DB 和 DBSC) DB 包括 DBS 和 DBMS D) DBS 就是 DB,也就是 DBMS13. 数据库系统的核心是A) 数据库 B) 操作系统 C) 数据库管理系统 D) 文件14. 关系数据库的任何检索操作都是由三种基本运算组合而成的,这三种基本运算不包括A) 联接 B) 比较 C) 选择 D) 投影15. 项目管理器的“数据”选项卡用于显示和管理A) 数据库,自由表和查询 B) 数据库,视图和查询 C) 数据库,自由表,查询和视图 D) 数据库,表单和查询16. 项目管理器的“文档”选项卡用于显示和管理A) 表单,报表和查询 B) 数据库,表单和报表 C) 查询,报表和视图 D) 表单,报表和标签17. 在 Visual Foxpro 中,有下面几个内存变量赋值语句:X={^2001-07-28 10:15:20 PM}Y=.T.M=$123.45N=123.45Z=“123.24”执行上述赋值语句之后,内存变量 X,Y,M,N 和 Z 的数据类型分别是A) D,L,Y,N,C B) D,L,M,N,C C) T,L,M,N,C D) T,L,Y,N,C18. 在 VFP 6.0 中,项目的扩展名为_______A) .DBC B) .TAB C) .IDX D) .PJX19. 对多表进行操作时,选择工作区所使用的命令为_______A) USE B) OPEN C) SELECT D) CREATE20. 在 Visual Foxpro 6.0 中,打开数据库使用的命令为_______A) USE B) SELECT C) OPEN D) CREATE21. 在表的操作中,DELETE命令的作用是A) 将记录从表中彻底删除 B)只给要删除的记录做删除标志C) 不能删除记录 D) 删除整个表中的记录22. 顺序执行下列命令后,最后一条命令显示结果是use CHJGo 5Skip -2?Recno()A) 3 B) 4 C) 5 D) 723. 表 DEMO.DBF 中包含有备注型字段,该表中所有备注字段均存储到备注文件中,该备注文件是A) DEMO.TXT B) DEMO.FMT C) DEMO.FPT D) DEMO.BAT24. 设当前表文件中含有字段 NAME,系统中有一内存变量的名称也为 NAME,下面命令 ?NAME 显示的结果是A) 内存变量 NAME 的值 B) 字段变量 NAME 的值 C) 与该命令之前的状态有关 D) 错误信息25. 关于数据库表与自由表的转换,下列说法中正确的是A) 数据库表能转换为自由表,反之不能 B) 自由表能转换成数据库表,反之不能C) 两者不能转换 D) 两者能相互转换26. 在表中建立索引,使用的命令为A) SORT B) UPDATE C) INDEX D) JOIN27. 在VFP6.0 中,打开数据库和表的命令分别为A) USE,OPEN B) SELECT,CREAT C) OPEN,USE D) CREAT,OPEN28. 扩展名为 DBC 的文件是A)表单文件 B)数据库表文件 C)数据库文件 D)项目文件29. 若建立索引的字段值不允许重复,并且一个表中只能创建一个。

全国计算机等级考试二级VISUAL+BASIC真题2012年3月

全国计算机等级考试二级VISUAL+BASIC真题2012年3月

全国计算机等级考试二级VISUAL BASIC真题2012年3月(总分:100.00,做题时间:90分钟)一、选择题(每小题2分,共70分) (总题数:35,分数:70.00)1.下列叙述正确的是()。

(分数:2.00)A.循环队列是队列的一种链式存储结构√B.循环队列是队列的一种顺序存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构解析:解析:循环队列是一种顺序存储的线性结构,所以,“循环队列是队列中的一种链式存储结构,”“循环队列是非线性结构”和“循环队列是一种逻辑结构”的说法都是错误的。

2.下列叙述正确的是()。

(分数:2.00)A.栈是一种先进先出的线性表B.队列是一种后进后出的线性表C.栈和队列都是非线性结构D.以上三种说法都不对√解析:解析:栈和队列都是线性结构,并且栈是后进先出,队列是先进先出,所以三种说法都不对。

3.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()。

(分数:2.00)A.16 √B.10C.6D.4解析:解析:根据公式n0=n2+1,叶子节点个数为5,则度为2的结点书为4,那么度为1的结点数n1=n-n0-n2=25-4-5=16.4.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。

(分数:2.00)A.外模式B.内模式√C.概念模式D.逻辑模式解析:解析:数据库系统在气内部都具有三级模式:概念模式、内部模式与外部模式。

其中,内模式(又称物理模式)给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理特性主要体现在操作系统及文件级上,它还为深入到设备及上。

概念模式是数据库系统中全局数据逻辑结构的描述。

是全体用户(应用)的go公共数据师徒,主要描述数据的概念记录类型一级他们之间的广西,它还包括一些数据间的语意约束。

外模式(子模式货用户模式)是用户的数据师徒,也就是用户缩减到的数据模式,它由概念模式推到而出的,在一般的DBMS中都提供相关的外模式描述语言(外模式DDL)5.在满足实体完整性约束的条件下()。

《Visual+Basic程序设计》期中考试试卷与参考答案

《Visual+Basic程序设计》期中考试试卷与参考答案

《VB程序设计》期中考试试卷_____级_________专业______班学号_____姓名______________一、单选题(每小题1.5分,共30分)1. 为使控件在运行时不可见,应该设置该控件的_________属性False。

A.Enabled B.Visible C.Name D.AutoRedraw 2. 有程序代码如下:Text1.Text = "Visual Basic",则:Text1,Text和"Visual Basic"分别代表__________。

A.对象,值,属性 B.对象,方法,属性C.对象,属性,值 D.属性,属性,值3. 以下不属于Visual Basic的工作模式是________模式。

A.编译 B.设计 C.运行 D.中断4. 要使Print方法在Form_Load事件中起作用,要对窗体的________属性进行设置。

A.BackColor B.ForeColor C.AutoRedraw D.Caption 5. 若要使命令按钮不可操作,要对_________属性设置。

A.Enabled B.Visible C.BackColor D.Captions 6. 文本框没有_______属性A.Enabled B.Visible C.BackColor D.Caption 7. 不论何控件,共同具有的是________属性。

A.Text B.Name C.ForeColor D.Captionss 8. 当运行程序时,系统自动执行启动窗体的_________事件过程。

A.Click B.Unload C.GotFocus D.Load9. 在代码编辑器的一行内写多条语句时,每个语句之间用_____符号分隔。

A., B.: C.、 D.;10.下面_______是合法的变量名。

A.VB258 B.123abc C.integer D.8811. 表达式16 / 4 – 2 ^ 5 * 8 / 4 MOD 5 / 2的值为_________A.14 B.4 C.20 D.212. 数学关系表达式 3 ≦ x < 10 表示成正确的VB表达式为_______A.3 <= x < 10 B.3 <= x AND x < 10C.x >= 3 OR x < 10 D.3 <= x AND < 10 13. Rnd 函数不可能为下列______值。

程序设计基础期中考试试卷与参考答

程序设计基础期中考试试卷与参考答

《程序设计基础》课程期中考试试卷试题一、判断题(每小题2分,共20分)说明:在以下提供的若干陈述中,逐一判断其正确与否,用A表示正确,用B 表示错误。

(1) 事件过程可以由某个用户事件触发执行,它不能被其他过程调用。

(2) VisualBasic的Double类型数据可以精确表示其数值范围内的所有实数。

(3) For/Next循环正常(未执行ExitFor)结束后,控制变量的当前值等于终值。

(4) Sub过程名在过程中必须被赋值。

(5) SetFocus方法是把焦点移到指定对象上,使对象获得焦点,该方法适用于所有控件。

(6) 移动框架时框架内控件也随之移动,所以框架内控件的Left和Top属性值也随之改变。

(7) 单选钮控件和复选框控件都具有Value属性,它们的作用完全一样。

(8) 当组合框的Style属性设置为0时,组合框称为“下拉式组合框”,其选项可以从下拉列表框的列表项中选择,也可以由用户输入。

(9) 若VisualBasic中容器取缺省坐标系,则坐标原点在容器左上角、单位长度为像素。

(10 ) 用Output模式打开文件,如果指定文件和路径不存在,则会自动创建指定文件及路径。

试题二、单选题(每小题2分,共20分)(11 ) 将VB新建的“标准EXE”工程保存在磁盘上,至少会产生(11)文件。

[A].frx和.frm [B].exe和.vbp [C].vbp和.frm [D].frm和.bas(12 ) 窗体Form1的Name属性是Frm1,它的单击事件过程名是(12)。

[A]Form1_Click [B]Form_Click[C]Frm1_Click [D]Me_Click(13 ) 已知字符串变量x存放"1234",表达式Val("&H"+Left(x,2))的值是(13)。

[A]0 [B]&H12 [C]12 [D]18(14) 假定通过复制、粘贴操作建立了一个命令按钮数组Command1,以下说法中错误的是(14)。

VC试题库及答案

VC试题库及答案

《VC++程序设计》试卷1一、单项选择题(每小题1分,共20分)1、假定MyClass为一个类,则执行“” MyClass a[3],*p[2];”语句时,自动调用该类构造函数的次数为()A、2B、3C、4D、52、对于类中定义的成员,其隐含访问权限为()A、protectedB、privateC、publicD、static3、一个类的友元函数或友元类能够通过成员操作符访问该类的()A、私有成员B、所有成员C、公用成员D、保护成员4、下面说法正确的是()A、构造函数可以重载,析构函数不能重载。

B、构造函数不能重载,析构函数可以重载。

C、构造函数可以重载,析构函数也可以重载。

D、构造函数和析构函数都不可以重载。

5、下列语句的运行结果为()#include <iostream.h>srtuct COMPLEX{int x;int y;} cNum[2]={1,3,2,7};void main(){cout<< cNum[0].y*cNum[1] x<<endl;}A、3B、2C、21D、66、类AB的缺省构造函数和析构函数是()A、AB( )和~AB( )B、AB(int)和~AB( )C、AB( )和~AB(delete )D、AB( )和int~AB( )7、在C++中,若对函数未加说明,则函数的隐含类型是()A、intB、doubleC、voidD、char8、已知类A是类B的友元,类B是类C的友元,则( )A、类A一定是类C的友元B、类C一定是类A的友元C、类C的成员函数可以访问类B的对象的任何成员D、类A的成员函数可以访问类B的对象的任何成员9、下列说法中正确的是( )A、类定义中只能说明函数成员的函数头,不能定义函数体B、类中的函数成员可以在类体中定义,也可以在类体之外定义C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中D、在类体之外定义的函数成员不能操作该类的私有数据成员10、以下不属于成员函数的是( )A、静态成员函数B、友元函数C、构造函数D、析构函数11、对于消息队列的描述正确的是()A、在Windows中只有一个消息系统,即系统消息队列。

2012vc考试

2012vc考试

vc考试要求:1、考试试题共2题:即1、2两题中任选一题,3、4两题中任选一题;2、考试完成后提交工程文件的压缩包一个和书面文档一份。

3、工程文件的压缩包的命名“学号+名字”,压缩包中包括两个以题号(1,2,3,4)命名的工程文件(不包含debug目录)4、书面文档包括的内容:◆程序界面说明(包括界面示意图、控件的ID、界面控件说明)◆界面控件ID与消息函数的映射关系及说明◆用户添加的消息函数及其它代码和代码说明,特别要注明代码所属的文件名、类名,以及对用户定义变量、消息函数进行注释◆程序运行结果及说明考试题目(题中单位都为像素单位):1、设计一文档型应用程序,要求:◆添加“画图”主菜单和“画圆”、“画直线”2项弹出式菜单;◆添加“画圆”、“画直线”2个工具按钮,功能同“画圆”、“画直线”2项菜单;◆在状态栏中显示“画圆”、“画直线”或空白(非画图状态)状态◆实现“画圆”、“画直线”的功能,画圆时的圆心(100,100)、直径150,画直线时为点(50,20)到点(170,150)的直线2、设计一对话框型的应用程序,程序界面包括“圆心x坐标”、“圆心y坐标”、“圆的直径”三个列表框,一个“生成圆参数”按钮,一个编辑框控件,一个进程条控件。

程序运行时,先按“生成圆参数”按钮,在5秒钟内生成50批参数,每批为三个随机数作为圆的参数,并分别添加到三个列表框中,生成过程用进程条指示,其它时候则不显示进程条;而后单击任一列表框的任一列表项,将该列表项内容及其它两个列表框中对应列表项的内容作为对应的圆参数,画出该圆。

注:函数rand()取0-32767之间的整数,函数atoi()将字符转数字。

3、设计一文档型应用程序,添加“动画”主菜单和“开始动画”、“结束动画”2项弹出式菜单;程序刚启动时,“开始动画”菜单有效,“结束动画”菜单无效,且屏幕为空;单击“开始动画”时,首先使“开始动画”菜单无效,“结束动画”菜单有效,并画出如图所示的圆环,圆心(100,100),内圆直径100,外圆直径200,用红、绿、蓝三种颜色填充图中的12个小块,并按规律每隔100毫秒变换一次填充颜色,产生圆环转动的效果;单击“结束动画”时,“开始动画”菜单有效,“结束动画”菜单无效,圆环消失,屏幕为空。

全国计算机等级考试二级VISUAL+BASIC真题2012年9月

全国计算机等级考试二级VISUAL+BASIC真题2012年9月

全国计算机等级考试二级VISUAL BASIC真题2012年9月(总分:100.00,做题时间:90分钟)一、选择题(每小题2分,共70分) (总题数:35,分数:70.00)1.下列链表中,其逻辑结构属于非线性结构的是(分数:2.00)A.二叉链表√B.循环链表C.双向链表D.带链的栈解析: [解析] 循环链表、双向链表、带链的栈都是线性结构,二叉链表是非线性结构二叉树的链式存储结构,只有它是非线性结构。

2.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。

现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为(分数:2.00)A.15B.16C.20D.0或35 √解析:[解析] 在循环队列中,用队尾指针rear指向队列中的队尾元素,用队头指针front指向队头元素的前一个位置。

因此,从队头指针front指向的后一个位置到队尾指针rear指向的位置之间所有的元素均为队列中的元素。

循环队列的初始状态为空,即rear=front=m,每进行一次人队运算,队尾指针就进一。

每进行一次出运运算,队头指针就进一。

此题中rear=front=15,可能出现的情况是入队的元素全部出队,此时队列中元素个数为0;也可能是执行人队出队的次数不一样,最终状态是队列为满的状态,此时队列中元素个数为35。

3.下列关于栈的叙述中,正确的是(分数:2.00)A.栈底元素一定是最后入栈的元素B.栈顶元素一定是最先入栈的元素C.栈操作遵循先进后出的原则√D.以上三种说法都不对解析:[解析] 栈(Stack)是限定在一端进行插入与删除的线性表。

在栈中,允许插入与删除的这一端称为栈顶,而不允许插入与删除的另一端称为栈底。

栈是按照“先进后出”或“后进先出”的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表4.在关系数据库中,用来表示实体间联系的是(分数:2.00)A.属性B.二维表√C.网状结构D.树状结构解析: [解析] 在关系数据库中,实体与实体间的联系可以用关系(二维表)的形式来表示。

2012年NECCSC类答案

2012年NECCSC类答案

2012National English Contestfor College Students(Level C-Preliminary)参考答案及作文评分标准Part I Listening Comprehension(30marks)Section A(5marks)1—5CBBACSection B(10marks)6—10BAACB11—15CABCBSection C(5marks)16—20ACABASection D(10marks)21.disruption22.air pressure23.slow down24.immune system25.stimulates 26.bear in mind27.circulation28.decreases29.Consult30.side effectsPart II Vocabulary and Structure(15marks)31—35BDABC36—40BDDAB41—45CADBCPart III Cloze(10marks)46.likelihood47.fortune48.take49.with50.knowing51.dozens52.least53.burning54.easy/simple55.realizePart IV Reading Comprehension(40marks)Section A(10marks)56.describe57.opportunity58.honeymoon59.transition60.characterizedSection B(10marks)61.F62.T63.T64.The special depth that true friendship is about.65.They need to get over fear of confrontation and rejection.Section C(10marks)66.High fatality67.thrill seeking;risk taking68.pushing out personal boundaries69.C70.A Section D(10marks)71.“Linguistic”intelligence and“Logical mathematical”intelligence.72.The ability to gauge one蒺s own mood,feelings and mental states,and the ability to gauge it in others anduse the information.73.“Logical mathematical ”intelligence and the “bodily-kinesthetic ”intelligence.74.他的观点引发了激烈的讨论,应如何定义智力。

VC期中考试

VC期中考试

第一题:
编写一个单文档应用程序,使用鼠标绘制矩形,其中鼠标左键按下的位置为矩形的左上角,鼠标左键松开的位置为矩形的右下角。

编程思路:
通过两个全局变量x, y保存鼠标左键按下时的坐标,在鼠标左键松开的消息函数中绘制矩形即可。

具体做法:如下图
第二题:
输出一个圆形,通过菜单栏来改变圆形的颜色(红、绿、蓝),外边框宽度(1磅,5磅),和内部填充色(黑,绿,红)。

编程思路:
先在主窗口输出一个圆形,然后添加各项菜单栏,最后对各项菜单栏进行消息映射,并用两个全局变量关联之间的改变。

具体做法:
1:在主窗口画一个圆。

2:编辑菜单栏。

3:为每个菜单项添加对应的消息相应函数。

(其余类同!)
第三题:
编写一个单文档应用程序,在状态栏中显示鼠标光标的坐标。

编程思路:
首先增加一个状态栏格子,然后通过全局类变量联通主框架类和视图类,最后通过视图类中的鼠标移动消息响应函数获得当前鼠标光标的坐标并显示在状态栏就好。

具体做法:
1:在MainFrm.cpp中的indicators[]的第一项后面添加ID_INDICATOR_POINT.如图:
2:在String Table最后添加ID_INDICATOR_POINT,并在Caption中输入000,000
3:在MainFrm.cpp文件头说明全局类变量,并在构造函数中初始化。

4:在CMainFrame类中增加作用为设置字符串到界面上的函数SetXXXText(CString s),类型为void。

5:在试图cpp文件头关联主框架头文件并声明全局变量。

6:在试图类中设置鼠标移动消息响应函数。

2012Fall期中解答

2012Fall期中解答

大学物理(II )期中考试参考答案 (2012/11/04)一、单项选择题(每题 3分,共 30分)1 C2 D 3B 4B 5D 6A 7A 8A 9 C 10 B二、填空题(共 47 分)1. 不变, 减小, 增加, 增加 (8分,每空 2分)2. ( ) ( ) ( ) 2 3/2 0­/2 00 0 1d 1 d 4 π d 2 d u u u u u u u u u p u u ¥ ¥¥¥æö ç÷ èø ò òò ò m kT f m f e k T f 或 或 (积分上下限 1分,被积函数 2分);22m p p m kT RT或 (1分) 3. (4分,每图 2分;图形画错的得 0分。

注意每个图中的左侧曲线的峰值高于右侧的。

仅左图标错 T 1 和 T 2 的扣 1分,右图标错 m 1 和 m 2的扣 1分)4.1/31/5 2 1.26;2 1.15 或 或 (4分,每空 2分) 5. 1 3 p n e = (3分,写成 2 11 33 e == p n p nmc 或 可得 3分; 但写成 2 3p n e = ,得 1分) 6. (3分,与图形完全一致的,得 3分;图形整体向右或向左平移的,得 2分,其它情况,得 0分) 注意:y 最大值所对应的x 为 3km7. 0,p (共 4分,每空 2分)8. b ,d ,f, g (3分;写对一个,得 1分,写对 2 个,得 2分,写对 3个以上的,得 3分;但写出 a , c ,e 中一个的,得 0分)9. ( ) 2 0.2cos 222SI 3 y t x p p æö =- ç÷ èø 或 ( )0.2cos 222()SI 333 x y t p éù =- êú ëû (3分,该题原点的初相为零,仅初相写错的扣 1分,仅角频率(222p )写错的扣 1分,仅正负号或 x 前系数错 扣 1分)10. 3.43MHz (3分,写成 3.4MHz ,也得 3分,没有单位的,扣 1分)11. 1,3, 5,…,29(3分)或写成 2k +1,k =0,1, …,14, 其中,写对 2k +1,得 2分,写对 k =0,1, …,14,得1 分) 12. 1) 22 cos cos y A t x y A t x p p w p w p l l æöæö =-+=-- ç÷ç÷ èøèø或 (2分;初相位写错的,扣 1分,x 前面的符号写错的,扣 1分); 2) 22 2cos cos 2cos cos 2222 y A t x y A t x p p p p p p w w l læöæöæöæö =+-=-+ ç÷ç÷ç÷ç÷ èøèøèøèø 或 (2分); 3)0或该区域质点因干涉而处处静止(1分)三、计算题(23分)1. 第 1问 10分,第 2问 5分。

2012高级语言程序设计期中考试答案-修改

2012高级语言程序设计期中考试答案-修改

2012⾼级语⾔程序设计期中考试答案-修改⼆○⼀⼆—⼆○⼀三学年第⼀学期期中考试 A 、int B 、double C 、long D 、以上三种均可7、若int 类型占两个字节,定义unsigned int a ;后,变量a 可以存储的最⼤值是 ( C )A 、32767B 、32768C 、65535D 、65536⼀、密封线内不准答题。

⼆、姓名、准考证号不许涂改,否则试卷⽆效。

三、考⽣在答题前应先将姓名、学号、年级和班级填写在指定的⽅框内。

四、试卷印刷不清楚。

可举⼿向监考教师询问。

所在年级、班级注意8、已知:char a; int b; float c; double d;执⾏语句c=a+b+c+d;后,变量C的数据类型为( C)A、intB、charC、floatD、double9、已知:int j,i=1;,执⾏语句j=-i++;后,j的值为( C )A、1B、2C、-1D、-210、已知:int x=20,y=7,z;,则下列语句输出的结果为( C)Printf(“%d\n”,z=(x%y,x/y));A、0B、1C、2D、311、若定义了int x;,则将x强制转化成单精度类型应写成(A)A、(float)xB、x(float)C、double(x)D、(x)double12、已知ch是字符型变量,下⾯不正确的赋值语句是( A)A、ch=’a+b’B、ch=’\0’C、ch=’7’+’9’D、ch=5+913、在C语⾔库函数中,可以输出double型变量x值的函数为( D )A、getcharB、scanfC、putcharD、printf14、已知函数abc的定义为:void abc(){……}则函数中void的含义是:(A)A、执⾏函数abc后,函数没有返回值B、执⾏函数abc后,函数不再返回C、执⾏函数abc后,函数可以返回任意类型的值D、以上三个答案全部错误15、如有如下定义和输⼊语句,若要求a1、a2、c1、c2的值分别为1、2、A、B,当从第⼀列开始输⼊数据时,正确的数据输⼊⽅式为( C )(注:□表⽰空格,表⽰回车)int a1,a2; char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);A、1A□2BB、1□A□2□BC、1A2BD、1□A□2B16、已知: int x=1,y=2; 则执⾏z=x>y?++x:++y; 则z的值为(C)A、1B、2C、3D、417、设x、y、z都是int型变量,且x=3,y=4,z=5,则下⾯表达式的值为0的是( D )A、’x’&&’y’B、x<=yC、x||y+z&&y-zD、!((x18、若int i=10; 则执⾏下列语句后,变量i的正确结果为( C )Switch(i){case 9:i+=1;case 10:i+=1;case 11:i+=1;default:i+=1;}A、11B、12C、13D、1419、以下不是死循环的语句为( D )A、for(; ;x+=i)B、while(1) {x++;}C、for (i=10; ;i--)D、for(;(c=getchar()!=’\n’;))sum+=i; printf(“%c\n”,c);20、以下对⼆维数组a的正确说明是( C )A、int a[3][];B、float a(3,4);C、double a[1][4];D、float a(3)(4);⼆、填空题(每空2分,共30分)1、分析下⾯的C语⾔程序:void main(){int a, b, c=246;a=c/100%9;b=-1&&aprintf("a=%d,b=%d",a,b);}输出结果是__a=2,b=1__。

期中2012-final-answer

期中2012-final-answer

计算机系统导论期中考试2012年11月7日姓名:学号:成绩:Problem A -- Multiple Choice (18 pts, 1pt or 2pts each)1.Let int x = −31/8 and int y = −31 >> 3. What are the values of x and y?(m-f10-a 1-5) Ca)x = −3, y = −3b)x = −4, y = −4c)x = −3, y = −4d)x = −4, y = −32.For which values can X not be equal to Z in the code below (circle all that apply) (f-f09 1-B) A&Dint X = CONSTANT;float Y = X;int Z = Y;a)For large positive values of CONSTANT (e.g.,>1,000,000,000)b)For large negative values of CONSTANT (e.g.,>-100)c)For small positive values of CONSTANT (e.g.,<100)d)For small negative values of CONSTANT (e.g.,<-1,000,000,000)e)None of the above (i.e., X==Z in all of these cases)3.Consider the following code, what is the output of the printf? (m-f10-a 1-1) Bint x = 0x15213F10 >> 4;char y = (char) x;unsigned char z = (unsigned char) x;printf("%d, %u", y, z);a) -241, 15b)-15, 241c)-241, 241d)-15, 154.After executing the following code, which of the variables are equal to 0?(m-f11 1-3) CD or CDEa)unsigned int a = 0xffffffff;b)unsigned int b = 1;c)unsigned int c = a + b;d)unsigned long d = a + b;e)unsigned long e = (unsigned long)a + b5.How does x86 assembly store the return value when a function is finished? (f-f10 1-4) Ba)The ret instruction stores it in a special retval register.b)By convention, it is always in %eax.c)It is stored on the stack just above the (%ebp) of the callee.d)It is stored on the stack just above all the arguments to the function6.Which of the following is FALSE concerning x86-64 architecture? (f-f10 1-9) Da) A double is 64 bits long.b)Registers are 64 bits long.c)Pointers are 64 bits long.d)Pointers point to locations in memory that are multiples of 64 bits apart.7.Denormalized floating point nu mbers are (m-f10-a 1-18) Aa)Very close to zero (small magnitude)b)Very far from zero (large magnitude)c)Un-representable on a number lined)Zero.8.What is the minimum (most negative) value of a 32-bit two’s complement integer?(m-f11 1-1) Ca)−232b)−232 + 1c)−231d)−231 + 19.What is the difference between the mov and lea instructions? (m-f11 1-2) Ba)lea dereferences an address, while mov doesn’t.b)mov dereferences an address, while lea doesn’t.c)lea can be used to copy a register into another register, while mov cannot.d)mov can be used to copy a register into another register, while lea cannnot.10.Which of the following 8 bit floating point numbers (1 sign, 3 exponent, 4 fraction) representNaN? (m-s11 1-2) Ba) 1 000 1111b)0 111 1111c)0 100 0000d) 1 111 000011.%rsp is 0xdeadbeefdeadd0d0. What is the value in %rsp after the following instruction executes?pushq %rbx (m-s11 1-3) Da)0xdeadbeefdeadd0d4b)0xdeadbeefdeadd0d8c)0xdeadbeefdeadd0ccd)0xdeadbeefdeadd0c812.Consider an int *a and an int n. If the value of %ecx is a and the value of %edx is n, which of thefollowing assembly snippets best corresponds to the C statement return a[n]? (m-s11 1-1) Ca)ret (%ecx,%edx,4)b)leal (%ecx,%edx,4),%eaxretc)mov (%ecx,%edx,4),%eaxretd)mov (%ecx,%edx,1),%eaxret13.What is the C equivalent of mov 0x10 (%rax,%rcx,4), %rdx (2pts) (m-s11 1-8) Ca)rdx = rax + rcx + 4 + 10b)*(rax + rcx + 4 + 10) = rdxc)rdx = *(rax + rcx*4 + 0x10)d)rdx = *(rax + rcx + 4 + 0x10)14.In what section of an ELF binary are initialized variables located? (2pts) (e2b-s11) Ba).symtabb) .datac) .bssd) .text15.A system uses a two-way set-associative cache with 16 sets and 64-byte blocks. Which set doesthe byte with the address 0xdeadbeef map to? (2pts) (e2-f10) Ba)Set 7b)Set 11c)Set 13d)Set 14Problem B -- Bits & Bytes, Int, and FP (20 pts)1.For each of the following propositions, write in all comparisons that make it always true amongthe four possibilities:< > == !=If none are guaranteed to hold, please indicate that explicitly by marking it with an X. We have filled in the first two for you as examples. Assume the variables are declared withint x, y;and initialized to some unknown values. You may assume that int’s are 32 bits wide, char’s are 8 bits wide and that right shift is arithmetical on signed numbers and logical on unsigned numbers.(m-s07 1) (4pts)(1)!=(2)<!=(3)>!=(4)!=2.Floating point encoding. Consider the following 5-bit floating point representation based on the IEEE floating point format. This format does not have a sign bit –it can only represent nonnegative numbers.• There are k = 3 exponent bits. The exponent bias is 3.• There are n = 2 fraction bits.Recall that numeric values are encoded as a value of the form V = M × 2E, where E is the exponent after biasing, and M is the significant value. The fraction bits encode the significand value M using either a denormalized (exponent field 0) or a norma lized representation (exponent fi eld nonzero). The exponent E is given by E = 1 − Bias for denormalized values and E = e − Bias for normalized values, where e is the value of the exponent field exp interpreted as an unsigned number.Below, you are given some decimal values, and your task it to encode them in floating point format. In addition, you should give the rounded value of the enc oded floating point number. To get credit, you must give these as whole numbers (e.g., 17) or as fractions in reduced form (e.g., 3/4). Any rounding of the significand is based on round-to-even, which rounds an unrepresentable value that lies halfway between two representable values to the nearest even representable value.3.Conversion from float to int is a notoriously expensive operation. Not all processors do this inhardware. A clever technique uses the normalization step in double-precision floats. Imagine if you could normalize a (non-negative) floating point number so that the low-order significant bit represents 20. Then the significant would be an integer. (8 pts) (f-f09 7)Assume a double where, after taking the exponent into account, the low-order bit represents 1(20). What does the “implied leading 1” of the significant represent?252Now, assume a double x is known to be in the range 0<=x<232. To force the low-order bit of x to represent 1(20), you should add by ___252________________?After this operation, you can store the double to memory and read the (circle one:)●Upper 32 bits (the end with the sign bit == 0), or●Lower 32 bits (the other end)as an unsigned integer to get the integer value of the original double. This algorithm will round (circle one)●toward zero,●up,●down,●to the nearest even.Hints:double-precision significant has 52 bitsdouble-precision exponent has 11 bitsdouble-precision sign-bit is (of course) 1 bitProblem C Machine Programming (25 pts)1.The function below is hand-written assembly code for a sorting algorithm. Fill in the blankson the next page by converting this assembly to C code (m-s09-4) (13pts)void mystery_sort (long* array, long len) {long a, b, tmp;while(len>0){a = 0;for(b=len-1; b>0; b--){if(array[b]>array[a]){a=b;}}len--;tmp = array[len];array[len] = array[a];array[a] = tmp;2.Below is some assembly code to a famous algorithm. Please briefly read the code thenanswer the questions on the following page. (m-s09-6) 12ptsa)Please write a single line of C code to represent the instruction lea (%rax,%r8,1),%ecx (Use Cvariables named rax,r8, and ecx, you can ignore types).ecx = rax + r8b)Please write a single line of C code to represent the instruction mov (%rdi,%rax,4),%eax (UseC variables named rdi and rax, you can ignore types).eax = *(rdi + rax) // rdi is int *eax = *(rdi + 4 * rax) // rdi is char *c)Commonly found in assembly is the leave instruction; why is that instruction not in this code?no stack to return from, no push %ebpd)You learned about two different architectures in class, IA32 and x86 64. What architecture isthis code written for and what major downside would occur from using the other architecturex86_6432-bit has less registers than 64-bit mode, so local variables would need to be storedon the stack. Stack accessing takes extra instructions and extra time.Problem D Stack (10 pts)Stack discipline. Consider the following C code and assembly code for a recursive function . (m-f11-5) 10ptsImagine that a program makes the procedure call gcd(213, 18). Also imagine that prior to the invocation, the value of %esp is 0xffff1000—that is, 0xffff1000 is the value of %esp immediately before the execution of the call instruction.A. Note that the call gcd(213, 18) will result in the following function invocations: gcd(213, 18), gcd(18, 15), gcd(15, 3), and gcd(3, 0). Using the provided code and your knowledge of IA32 stack discipline, fill in the stack diagram wit h the values that would be present immediately before the execution of the leave instruction for gcd(15, 3). Supply numerical values wherever possible, and cross out each blank for which there is insufficient information to complete with a numerical value.Hints: The following set of C style statements describes an approximation of the operation of the instruction idiv %ecx, where ‘/’ is the division operator and ‘%’ is the modulo operator:%eax = %eax / %ecx%edx = %eax % %ecxAlso, recall that leave is equivalent to movl %ebp, %esp; popl %ebpPart A:+--------------------------------+| unknown | 0xffff1008+--------------------------------+| 18 | 0xffff1004+--------------------------------+| 213 | 0xffff1000+--------------------------------+| unknown | 0xffff0ffc+--------------------------------+| unknown | 0xffff0ff8+--------------------------------+| unknown | 0xffff0ff4+--------------------------------+| unknown | 0xffff0ff0+--------------------------------+| 15 | 0xffff0fec+--------------------------------+| 18 | 0xffff0fe8+--------------------------------+| 0x080483b7 | 0xffff0fe4+--------------------------------+| 0xffff0ff8 | 0xffff0fe0+--------------------------------+| unknown | 0xffff0fdc+--------------------------------+| unknown | 0xffff0fd8+--------------------------------+| 3 | 0xffff0fd4+--------------------------------+| 15 | 0xffff0fd0+--------------------------------+| 0x080483b7 | 0xffff0fcc+--------------------------------+| 0xffff0fe0 | 0xffff0fc8+--------------------------------+| unknown | 0xffff0fc4+--------------------------------+| unknown | 0xffff0fc0+--------------------------------+| 0 | 0xffff0fbc+--------------------------------+| 3 | 0xffff0fb8+--------------------------------+| unknown | 0xffff0fb4+--------------------------------+| unknown | 0xffff0fb0+--------------------------------+B. What are the values of %esp and %ebp immediately before the execution of the ret instruction for gcd(15, 3)?esp: 0xffff0fccebp: 0xffff0fe0Problem E -- The Hit or Miss Question (15 pts)Given a 32-bit Linux system that has a 2-way associative cache of size 128 bytes with 32 bytes per block. Long longs are 8 bytes. For all parts, assume that table starts at address 0x0.int i;int j;long long table[4][8];for (j = 0; j < 8; j++) {for (i = 0; i < 4; i++) {table[i] [j] = i + j;}}A.This problem refers to code sample 1. In the table below write down in each space whether thatelement’s access will be a hit or a miss. Indicate hits with a ’H’ and misses with a ’M’.What is the miss rate of this code sample?1int i;int j;int table[4][8];for (j = 0; j < 8; j++) {for (i = 0; i < 4; i++) {table [i] [j] = i + j;table[j][i]?}}B.This problem refers to code sample above. In the table below write down in each space whetherthat element’s access will be a hit or a miss. Indicate hits with a ’H’ and misses with a ’M’.What is the miss rate of this code sample?1/8C.One code sample performs better than the other. Why is this?The second sample performs better than the first because it makes better use of the cache. In the first, heavy conflict results in a large number of evictions. In the second, the entire array fits in the cache, and the only misses are cold misses.Problem F – Linking (12 pts)For each of the following code snippets, write down all symbols in the resulting object files from compilation. Write whether it is a weak global, strong global, or local variable, and what section of the final compiled ELF binary the variable will go into. Fill in the value if you have enough information to determine the value.。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档