四川大学系统级编程-2017-A卷答案
四川大学2018—2019学年第2学期大二计算机专业《汇编语言程序设计》考试试卷(附答案)

四川大学2018—2019学年第2学期《汇编语言程序设计》考试试卷(A卷)(闭卷时间120分钟)院/系年级专业姓名学号1、简述计算机系统组成。
2、程序中用什么语句来结束程序的执行?用什么语句来表示程序的结束和指出程序执行的起点?3、除了用4CH号系统功能调用结束程序的执行并退出,还有哪些办法?4、把下列二进制数转换为十六进制数和十进制数。
(1)01101101 (2)10110010 (3)1111115、下列各数均为十进制数,请采用8位二进制补码运算,并回答标志寄存器FLAGS中CF和OF的值,运算结果所代表的十进制数是多少?如果用16位二进制补码运算,其结果所代表的十进制数是多少?FLAGS中CF和OF的值呢?(1)85+69 (2)85+(-69) (3)85-(-69) (4)85-(69)6、下面的程序能否输出字符0~9?如不能,应如何修改?CODE SEGMENTASSUME CS:CODEK=30HJ DW 0START: MOV DL, KMOV AH, 2INT 21HK=K+1INC JCMP J, 10JNZ STARTMOV AH, 4CHINT 21HCODE ENDSEND START7、在宏定义中有时需要LOCAL 伪操作,为什么?8、根据以下要求写出输入输出指令:(1) 读61H端口(2) 写20H端口(3) 读3F8H端口(4) 写3F9H端口9、主程序从键盘输入一个八位的二进制数,对其作求补码操作,用子程序对求补后的值以二进制形式显示。
(正数的补码=输入)10、编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字母。
四川大学2018—2019学年第2学期《汇编语言程序设计》考试试卷(A卷)参考答案1、计算机由中央处理器CPU,存储器,输入系统,输出系统组成,由系统总线连接在一起。
CPU包括运算器和控制器,运算器执行指令,控制器负责计算机的控制。
2017年四川大学874答案解析

数据结构与算法一单项选择题1.[解析]:C. 数据元素之间有三种关系:线性表中数据元素关系为一对一,一个元素只可能有一个直接前驱和一个直接后继;树中数据元素关系为一对多,一个元素可能有一个直接前驱和多个直接后继;图中数据元素关系为多对多,一个元素可能有多个直接前驱和多个直接后继。
2.[解析]:C. 顺序表一般指数组,查找序号为i的元素只需按下标读取即可,与元素个数无关,这个就是顺序表的随机存取特性。
3.[解析]:B. A选项和D选项进出栈操作顺序栈会更方便一点,链栈还需申请内存空间或释放空间。
C选项,二者都会出现栈空的情况。
链栈不会出现栈上溢的情况,每次入栈都是动态分配一个结点空间,而顺序栈的空间是提前申请好的,运行时一般不可更改,所以可能会出现上溢,也就是栈满无法入栈的情况。
4.[解析]:D.略5.[解析]:B. 当基本有序情况下,插入排序迭代n次即可完成6.[解析]:C. 要使图连通,边数最少为顶点数减17.[解析]:B. 度为5,每个结点有5个孩子指针,共有n个结点,5*n个指针域,由树的性质:结点个数=边个数+1,所有实际在使用的指针只有n-1个,所有有4*n+1个空指针域8.[解析]:A. 已选取点集合为{1,2,3},B,C选项中的边会构成环路,D选项中(4,5)和已知点集合不相连,故也排除9.[解析]:A. 快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值都不小于基准值,如此作为基准的元素调整到排序后的正确位置。
递归快速排序,将其他n-1个元素也调整到排序后的正确位置。
最后每个元素都是在排序后的正确位置,排序完成。
所以快速排序算法的核心算法是分区操作,即如何调整基准的位置以及调整返回基准的最终位置以便分治递归。
10.[解析]:D. 该图若含有顶点个数大于1的强连通分量,则有环路,无法形成拓扑排序11.[解析]:C. wpl = (4+5+6)*2 + (2+3)*3 = 4512.[解析]:B. 中序遍历二叉排序树得到的是有序序列13.[解析]:C. n = n0+n1+n2+n3 = 1*n1 + 2*n2 + 3*n3 + 1得:n0 = n2 + 2*n3 + 1= 614.[解析]:B. 冒泡、插入、堆排序空间复杂度均为O(1),归并排序为O(n)15.[解析]:C. 这里注意一下队头指针和队尾指针的指向和常见的稍有不同,如下图,a为队次项,所以k = n^(1/2),17.[解析]:A. 画出无向图后。
四川大学Python程序设计期末考试考题A卷

1、利用所学知识在计算机屏幕上绘制一幅海上日出的图画。
2、编写一个GUI程序,在程序的主界面上放置三个按钮,分别是《绘制直线》、《绘制矩形》、《绘制圆形》。
当用户点击《绘制直线》按钮时,弹出一个新的窗口,在这个新窗口中让用户输入直线的起点和终点坐标,然后根据用户输入的坐标在这个新窗口绘制一条直线。
当用户点击《绘制矩形》按钮时,弹出一个新的窗口,在这个新窗口中让用户输入矩形的左上角和右下角的坐标,然后根据用户输入的坐标在这个新窗口绘制一个矩形。
当用户点击《绘制圆形》时,弹出一个新的窗口,在这个新窗口中让用户输入圆心的坐标和圆的半径,然后根据用户输入的坐标在这个新窗口绘制一个圆形。
3、编写一个程序模拟掷骰子,使用随机数生成器来产生介于1和6之间的数字来表示投掷的骰子的哪一面向上,最后,使用tkinter模块中的Canvas控件绘制相应的骰子面。
图形可以参考下图:4、使用Account类来模拟一台ATM机。
创建一个有10个账户的数组,其id为0,1,…,9,并初始化为100元。
系统提示用户输入一个id,如果输入的id不正确,就要去用户输入正确的id。
一旦接受一个id就显示如下面运行实例所示的主菜单。
1表示查看当前的余额,2表示取钱,3表示存钱,4表示退出主菜单。
一旦退出,系统就会提示再次输入id。
所以,系统一旦启动就不会停止。
下图为查看余额和取款的示例。
编程实现上诉要求的功能。
Enter an id:4Main menu1:check balance2:withdraw3:deposit4:exitEnter a choice:1The balance is 100.0Main menu1:check balance2:withdraw3:deposit4:exitEnter a choice:2Enter an amount to withdraw:3。
2017高级语言程序设计考卷A及参考答案

…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………装订线………………装订线内不要答题,不要填写信息………………装订线…………武汉理工大学考试试题答案(A卷)2017 ~2018 学年1 学期高级语言程序设计课程二、程序阅读题(本大题共 6 小题,每小题4分,共24 分)1.332.73.924.215.46.14三、程序填空题(本大题共2小题,每空3分,共18 分)1.(1)j==i (2)k!=i && k!=j (3)100*i+10*j+k2.(1)month (2)table[i] (3)year%4==0 && year%100!=0 || year%400==0 四、程序编写题(本大题共 3 小题,每小题10 分,共30 分)1.#include <iostream>using namespace std;int main(){ int i,a,b,t,two=0,five=0;cin>>a>>b;for (i=a;i<=b;i++){ t=i;while (t%2==0){ two++; t=t/2; }while (t%5==0){ five++; t=t/5; }}cout<<(two>five?five:two)<<endl;return 0;}2.int fun(int x){int sum = 0;while (x != 0){sum = sum * 10 + (x% 10);x =x / 10;}return sum;}3.double average(LinkList head) {int n=0,s=0;LinkList p;if (head==NULL) return 0;p=head;while (p->next){s=s+p->data;n++;p=p->next;}return 1.0*s/n;}。
(完整word版)四川大学系统级编程-2017-A卷答案

2017F-SLP-A卷答案一.每题2分,共40分BACBD ACAACDADAB CBDBB二.每题5分,共10分int NegativeNum (int x){return ~((~x) &(~0x80000000));}int SetByte (int x,int n){return x|(0xFF 〈〈(n〈〈3));}三.共13分9分(每两个填空1分)+——-—--——--—--——-———-—-——-------—+|unknown | 0xffff1004+-—--——-—-—-—-—-——-—---———-—-—-—-+| 3 | 0xffff1000+—-—-—————--—-—-———-—--—-———---—-+|unknown |0xffff0ffc+------—-——-—-—-——--———--——-——---+| unknown |0xffff0ff8+—---———-——---—---—----————-———-—+|unknown |0xffff0ff4+——-—--—--—————-—-———-———————--——+| 2 |0xffff0ff0+---———-—-—--—-----———-——-———-——-+| 0x08048407 | 0xffff0fec+—----——--————---——-——-——-----—-—+|0xffff0ff8 |0xffff0fe8+-—--—-—-———----—--—-—--—--——--——+| unknown |0xffff0fe4+-----——--—------——--——--—-—-—---+| 1 | 0xffff0fe0+—-—--—--—---—————————--—-———-—--+| 0x08048432 | 0xffff0fdc+-———---——----—-----————--————---+|0xffff0fe8 |0xffff0fd8+-——--——--—-——-——-—-——-——-——-———-+|unknown |0xffff0fd4+-—-———-—-—-———--—--——----—-—-—-—+| 0 | 0xffff0fd0+-————--—--—--——--—--——----——————+| 0x08048407 | 0xffff0fcc+---——-—-—--——-—————-—---—----—-—+| 0xffff0fd8 | 0xffff0fc8+-——-—--————-———-—-————-—----—-——+| 0 | 0xffff0fc4+--———-—-----————-—-----——--—-——-+| unknown | 0xffff0fc0+--—---—--———--—--——-——--———--———+esp: 0xffff0fcc (2分)ebp:0xffff0fd8 (2分)四.共12分This problem illustrates some of the subtle effects of memory aliasing, and it cannot be used to swap two values (2 scores).As the commented code below shows,the effects will be to set the value at xp to zerowhen xp equals to xy。
四川大学《程序设计语言(1)1347》17春在线作业1

一、单选题(共 20 道试题,共 60 分。
) V 1. 十进制数2403转换成十六进制数为()A. 963B. 369C. 953D. 3592. 下面程序的运行结果是()。
x = 5:y = 3 PRINT x = y ENDA. 0B. 5C. 3D. –13. 针对QBASIC语言的特点,下面的叙述正确的是()。
A. 一个程序中,可以没有主程序模块,但不能有两个以上主程序模块。
B. 行号和标号由字符序列后加上“:”组成,行号为纯数字。
C. 语句都是由语句定义符和语句体构成。
D. 每一个模块必须有一个结束语句。
4. 在下面四个字符串中,哪一个是合法的字符串常量()。
A. dB. “ 169 ”C. 计算机D. 1695. 以下四个变量名中,哪一个是非法的变量名()。
A. foodB. areaC. 3moonD. b16. 下列数据中,不合法的C语言实型数据的是()A. 0.123B. 123e3C. 2.1e3.5D. 789.07.A. 7 7B. 34 7C. 7 34D. 34 348. 在C程序中,在求逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。
()A. 1 0B. 0 1C. 非0 非0D. 1 19. 下面四个表达式中,其值为0的是()。
A. 3 / 4B. 4 MOD 3C. 3 4D. 3 MOD 410. 下列叙述中正确的是()A. C语言编译时不检查语法B. C语言的子程序有过程和函数两种C. C语言的函数可以嵌套定义D. C语言的函数可以嵌套调用11. 下面能正确表示八进制数的是()A. 0x16B. 029C. -114D. 03312. 下面有关for循环的正确描述是()A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C. 在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来13. 下列可用于C语言用户标识符的一组是()A. void, define, WORDB. a3_b3, _123,CarC. For, -abc, IF CaseD. 2a, DO, sizeof14. 下列说法中错误的是() A)只能在循环体内使用break语句 B)在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环 C)在while和do…while 循环中,continue语句并没有使整个循环终止 D)continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断A. 只能在循环体内使用break语句B. 在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环C. 在while和do…while循环中,continue语句并没有使整个循环终止D. continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断15. 以下说法正确的是()A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分16. 语句 PRINT “3.5” +“6.5” +“42”执行的结果是()。
操作系统A卷试题及答案_2007-11

四川大学期末考试试题A 卷(闭卷)(2007-2008学年第1学期)课程号: 31112520 课程名称: 软件开发环境工具(A 卷) 任课教师: 黄 武适用专业年级: 软件工程学院 2005级 学号:姓名:一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分 1.执行者(Actor )与用例之间的关系是( C ) (A )包含关系(B )泛化关系(C )关联关系(D )扩展关系2.在类图中,下面哪个符号表示继承关系( C3.在类图中,“ #”表示的可见性是( B ) (A )Public(B )Protected(C )Private(D )Package4.在类图中,下面哪个符号表示接口( C )5.UML 类图包含多少个抽象层次( B ) (A )1(B )3(C )5(D )76.下面哪个视图属于UML 语言的交互图( D ) (A )行为图(B )状态图(C )实现图(D )顺序图7.UML 语言包含几大类图形( B ) (A )3(B )5(C )7(D )98.OOSE 方法是由下面哪位科学家提出的( D ) (A )Booch(B )Rumbaugh(C )Coad(D )Jacobson(B)(A)(D)(B) (A) (D)9.下面那个类图的表示是错误的( D )10.什么概念被认为是第二代面向对象技术的标志( A ) (A )用例(B )UML 语言(C )活动图(D )组件图11.下面哪个符号代表包图( A )12.下面哪个符号表示链式状态( D )13.生命线是UML 视图中哪个图形的组成部分( D ) (A )类图(B )状态图(C )活动图(D )顺序图14.在UML 的顺序图中,通常由左向右分层排列各个对象,正确的排列方法是( A ) (A )执行者角色 控制类用户接口 业务层 后台数据库 (B )执行者角色 用户接口 控制类业务层后台数据库 (C )执行者角色 控制类用户接口 后台数据库 业务层 (D )执行者角色用户接口业务层控制类后台数据库15.在UML 协作图中,有多少种关联角色的构造型( C ) (A )1(B )3(C )5(D )716.多对象是UML 哪个视图中的概念( C ) (A )类图(B )状态图(C )协作图(D )组件图17.在类图中,那种关系表达总体与局部的关系( D ) (A )泛化(B )实现(C )依赖(D )聚合18.在UML 中,接口有几种表达方式( A ) (A )2(B )4(C )6(D )8(B)(A)(C)(D)(B) (A) (C) (D)(B)(A) (C)(D)19.下面哪个图形代表活动( D )20.下面哪个UML 视图是描述一个对象的生命周期的( B ) (A )类图(B )状态图(C )协作图(D )顺序图二、多项选择题(本大题共10小题,每小题2分,共20分 )在每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写在题后的括号内。
2017春操作系统期末考试试题及答案A卷

四川大学期末考试试题(闭卷)(2016——2017学年第 2 学期)A卷课程号:304019030 课序号:课程名称:操作系统原理任课教师:成绩:共享内存,又可写入的目的。
实现写时复制,需要操作系统支持请求分页机制,并在缺页中断处理程序做相应的处理。
2.什么是系统颠簸(抖动,thrashing)?请解释产生的原因,以及解决该问题的方法。
答:系统颠簸是指系统频繁地忙于页面换出换入。
产生的原因是系统物理内存不足,导致缺页中断发生频率过高。
解决方法是增加系统内存,或者减少并发的进程数量。
3.请简单阐述输入/输出控制的几种方式。
答:轮询,中断,DMA,通道4.在现代操作系统中,采取哪些措施来隔离不同的进程,让进程不能破坏操作系统本身,也不能破坏其他的进程?答:内核态、用户态;各种陷阱;系统调用;分页内存管理,独立的逻辑地址空间5.请比较信号量和条件变量之间的区别。
答:信号量有值而条件变量无值;执行wait操作时,信号量会先减少值,小于0才会阻塞进程,而条件变量则直接阻塞进程;执行signal操作时,信号量会增加值,当小于等于0时唤醒一个进程,而条件变量直接唤醒一个阻塞的进程。
三、在下图所示的汽车过窄桥的例子中,会发生死锁现象。
(12分)a)请描述该例子中死锁发生的4个必要条件b)给出2种死锁预防的解决方案,并指明是摒弃的哪个条件。
答:a) 互斥:一段桥面一个时刻只能允许一辆车占用;非抢占:一辆车占用了一段桥面不能被剥夺;占有并等待:右边车占用了右边的桥面,申请左边的桥面;循环等待:左边的车等待右边车释放右边的桥面,反之亦然。
b) 互斥:将桥面修宽,双向2车道;非抢占:桥上安装一个吊车,将死锁的车子吊起来;占有并等待:一次只能一辆车上桥四、很多操作系统和硬件环境提供CAS(CompareAndSet,TestAndSet)原语。
CAS原语可以用于实现并发环境下的原子性操作。
CAS原语的伪代码如下,其含义为,比较a指向的内容和b是否相同,如果相同,则设置*a为c,并返回1,否则返回0。
2017软件水平考试(高级)系统架构设计师真题及答案案例

2017软件水平考试(高级)系统架构设计师真题及答案案例说明:答案和解析在试卷最后第1部分:问答题,共5题,请在空白处填写正确答案。
1.[问答题]试题二(共 25 分)阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3.【说明】某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台,实现以众筹众创的方式组织省内普通高校联合开展教育教学资源内容建设,实现全省优质教学资 源整合和共享。
该资源共享平台的主要功能模块包括:(1)统一身份认证模块,提供统一的认证入口,为平台其他核心业务模块提供用 户管理、身份认证、权限分级和单点登录等功能:(2) 共享资源管理模块:提供教学资源申报流程服务,包括了资源申报、分类定制、资料上传、资源审核和资源发布等功能:(3)共享资源展示模块:提供教育教学共享资源的展示服务,包括资源导航、视 频点播、资源检索、分类展示、资源评价和推荐等功能:(4) 资源元模型管理模块:依据资源类型提供共享资源的描述属性、内容属性和展示属性,包括共享资源统一标准和规范、资源加工和在线编辑工具、数字水印和模板定制等功能:(5) 系统综合管理模块:提供系统管理和维护服务,包括系统配置、数据备份恢复、资源导入导出和统计分析等功能。
项目组经过分析和讨论,决定采用基于 Java EE 的 MVC 模式设计资源共享平台的 软件架构,如图 2-1 所示。
图2-1【问题 1】 (9 分)MVC 架构中包含哪三种元素,它们的作用分别是什么?请根据图 2-1 所示架构将 JavaEE 中JSP、Servlet、Service、JavaBean、DAO 五种构件分别填入空 (1)--(5) 所示位置。
【问题 2】(6 分)项百组架构师王工提出在图 2-1 所示架构设计中加入 EJ B 构件,采用企业级 JavaEE架构开发资源共享平台。
请说明 EJB 构件中的 Bean (构件)分为哪三种类型,每种类型Bean 的职责是什么。
面向对象考试试卷A(2017)参考答案及评分标准

评分标准:整体框架正确得 2 分;成员正确得 2 分(正确 1 个得 0.5 分,最高 2 分)
2(4 分)、参考程序代码:
class factorial { int n ;
public: factorial(int a){n=a;} int fact(){ int m=1; wihile(n>0) m=m*n--; return m; }
class A{ int x; public:
A(int a){x=a;} int getx(){return x;} }; class B:public A{ int y; public: B(int a,int b):A(a){ x=a; y=b;}
int gety(){ return y;} }; void main( ){ B b(1,2);
3(4 分)
template<class T> class A { T x; public:
T getx(); }; template<class T> T A<T> :: getx(){ return x;} void main(){
A <int> a; cout<<a.getx(); }
4(4 分)
评分标准:框架得 2 分,构造函数得 1 分,乘法函数框架得 1 分,函数体得 1 分
A 卷-2
【1】 【2】 【3】 【4】 【5】 【6】 【7】 【8】
【9】 【10】
4
1Hale Waihona Puke 2106
3
1
2
0
void main()
//整体框架及细节:1 分
测试 {
主函数
2017c++A卷参考答案

四川大学期末考试试题(闭卷)评分标准(2016——2017学年第 2 学期)A卷课程号:602018030 课序号:01 课程名称:高级语言程序设计任课教师:陶青川成绩:适用专业年级:学生人数:印题份数:学号:姓名:考生承诺我已认真阅读并知晓《四川大学考场规则》和《四川大学本科学生考试违纪作弊处分规定(修订)》,郑重承诺:1、已按要求将考试禁止携带的文具用品或与考试有关的物品放置在指定地点;2、不带手机进入考场;3、考试期间遵守以上两项规定,若有违规行为,同意按照有关条款接受处理。
一、单选题(每题1分,共20分)标准答案:1、A2、B3、B4、C5、C6、C7、D8、C9、D10、C 11、B 12、D 13、A 14、B 15、C 16、C 17、A 18、B19、C 20、A评分标准:答对1题得1分,答错或者不答不得分。
二、名词解释(每题五分,共15分)标准答案:1、静态成员函数:静态成员函数是由static修饰的成员函数。
静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用类成员函数指针来储存。
静态成员函数不可以调用类的非静态成员。
因为静态成员函数不含this指针。
静态成员函数不可以同时声明为virtual、const、volatile函数。
2、重载:重载是可使函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法。
函数名相同,函数的参数列表不同(包括参数个数和参数类型),至于返回类型可同可不同。
3、多态:多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。
C++多态性是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为覆盖,或者称为重写。
多态的目的则是为了接口重用。
也就是说,不论传递过来的究竟是那个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法。
评分标准:每问5分,参考标准答案酌情给分。
四川大学汇编考试题及答案1教学提纲

四川大学汇编考试题及答案1四川大学期末考试试题(闭卷)(2006-200学年第2学期)课程号: ________ 课程名称:汇编语言程序设计(B 卷) ________ 任课教师: _______________ 适用专业年级:计算机科学与技术05级学号: ________________ 姓名: _______________要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分1.下面的数值表示中,和100相等的是哪一个( )2•如果(SF ) =30H,执行 PUSH BX 旨令后,(SP )=( ) (A ) 28H (B ) 2EH (C ) 32H(D ) 31H3.如果(AL ) =35H,执行AND AL , 0FFH 指令后,CF=( )(A ) 0(B ) 1(C ) 2(D )和执行AND AL ,0FFH 指令前的取值保持一致4.以下指令中,执行后要影响标志位的指令为( )(A )MOV AL ,BL(B ) SAHF (C ) NOT CL (A) B(B ) 100H(C ) 64H(D ) 64(D ) PUSHF5. 对于SAR指令的相关原理,正确的描述为( )(A)执行SAR指令后,目的操作数最高位补充0(B)该指令实质上与SHR指令没有区别(C)如果移位次数大于1,则移位次数必须预先存放在CL寄存器(D)该指令不影响CF标志位6•关于SUB指令对OF标志的影响,正确的描述为( )(A)当程序员把SUB指令的操作数看作无符号数时,SUB指令不影响OF标志(B)当程序员把SUB指令的操作数看作无符号数时,SUB指令要影响OF标志,但是程序员认为它此时没有意义(C)SUB指令有时会影响OF标志,但有时不会(D)程序员使用SUB指令时总是认为它所影响的OF标志是有意义的7. DEBUG中,T命令的功能为( )(A)显示当前系统时间(B)查看指定内存单元的内容(C)单步执行下一条指令(D)修改指定寄存器的内容8. DEBUG中,R命令的功能为( )(A)查看内存单元内容(B)查看或修改指定寄存器的内容(C)单步执行(D)连续执行9•条件转移指令的最大转移范围为 ( )(A)没有转移范围的限制(B) -128到127个字节(C) -3276到32767个字节(D) 0到255个字节10•如果(AL) =0DH,执行SUB AL 80H指令后,正确的结果为哪一个( )(A) (AL) =8DH, OF=1(B)(AL) =0DH, OF=011.如果(SP =80H 执行指令CALL FAR PTR P 后 (SP =( )(A) 80H(B ) 84H(C ) 7CH7EH12.如果数据段中一个内存单元对应的物理地址为2F724H (DS ) =2F00H 那么使用DS 段寄存 器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元( )(A) 0024H (B ) 0F724H(C ) 0724H(D )2724H13•如果(AL ) =B ,执行ROL AL 1指令后,正确的结果为( )(A) (AL ) = B (B )(AL ) = B (C )(AL ) = B(D )(AL ) = B14•以下指令中,没有使用基址寻址的指令是哪一个( )(A ) AND CL ,100H[BX] (B ) MOV [BP] BX (C ) SBB TAB1[BX] AH(D ) XOR AX 200H[BP]15.如果(AL ) =66H,执行如下程序片段后,正确的执行结果为( )STC OR AL ,1 ADC AL ,82H16•假设PR1是一个FAR 类型的子程序名称,那么CALL PR 指令执行的正确步骤为以下哪一个 ( )(A) 先将CS IP 的内容压栈,再按照PR1对应的逻辑地址修改CS IP,使程序流程转移至PR1 子程序入口(C )(AL ) =8DH, OF=0(D )(AL ) =0D1H OF=1(D )(A)(AL ) =0E9H CF=1(C )(AL ) =0EAH, CF=0 (B) (AL ) =0E9H CF=0(D )(AL ) =0EAH, CF=1(B)先按照PR1对应的逻辑地址修改CS IP的内容,使程序流程转移至PR1子程序入口,然后将CS IP的内容压栈,保存返回点(C)先将IP的内容压栈,再按照PR1对应的段内偏移量修改IP,使程序流程转移至PR1子程序入口(D)先将CS IP、FR的内容压栈,再按照PR1对应的逻辑地址修改CS IP,使程序流程转至PR1子程序入口17•如果(AL) =03H (BL) =05H执行如下程序片段后,正确的执行结果为以下哪一个( )SUB AL BLAAS(A) (AL) =0FEH CF=1 (B)(AL) =0F8H CF=1(C)(AL) =08H CF=1 (D)(AL) =08H CF=0 18•在8086/808汇编语言程序设计中,源程序中能够合法使用的内存单元地址是以下哪一种( )(A)逻辑地址(B)物理地址(C)段基址(D)位地址19. 如果(SI) =0088H (DS) =5570H对于物理地址为55788H勺内存字单元,其内容为0235H对于物理地址为5578AH勺内存字单元,其内容为0E60H那么执行指令LDS SI [SI]以后,正确的执行结果为( )(A )(DS) =5570H (SI) =0088H (B)(DS) =0235H (SI) =0E60H(C)(DS) =0E60H (SI) =0235H (D)(DS) =0088H (SI) =5570H20. 如果(BX) =0054H (SI) =0033H (DS) =0022H (SS =0030H 在指令ADD AL100H[BX][S中,其源操作数的EA为( )(A) 0187H (B) 12A7H (C) 1387H(D) 0087H、多项选择题(本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写在题后的括号内。
四川大学c语言考试题及答案

四川大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,不正确的是:A. 变量名必须以字母开头B. 变量名可以包含下划线C. 变量名区分大小写D. 变量名不能以数字开头答案:D2. 在C语言中,用于定义一个字符型变量的关键字是:A. charB. intC. floatD. double答案:A3. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. :答案:D4. 在C语言中,用来表示逻辑“与”的运算符是:A. &&B. ||C. !D. ^答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. case答案:D6. 在C语言中,用于定义一个整型数组的语法是:A. int array[10];B. int array[];C. int [10] array;D. int array;答案:A7. 下列哪个函数用于将浮点数转换为字符串?A. sprintfB. printfC. scanfD. strcat答案:A8. 在C语言中,用于定义一个函数的关键字是:A. functionB. defineC. defD. void答案:D9. 下列哪个选项不是C语言中的预处理指令?A. #includeB. #defineC. #ifD. switch答案:D10. 在C语言中,用于表示“或”逻辑运算的运算符是:A. ||B. &&C. ==D. !=答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是____。
答案:int2. 在C语言中,______运算符用于比较两个值是否相等。
答案:==3. C语言中,用于定义一个字符串的语法是____。
答案:char str[] = "Hello";4. 在C语言中,____运算符用于计算两个数的和。
2022年四川大学软件工程专业《操作系统》科目期末试卷A(有答案)

2022年四川大学软件工程专业《操作系统》科目期末试卷A(有答案)一、选择题1、假设4个作业到达系统的时刻和运行时间见表。
系统在t=2时开始作业调度。
若分别采用先来先服务和短作业优先调度算法,则选中的作业分别是()。
A.J2、J3B.J1、J4C.J2、J4D.J1、J32、下列关于操作系统的论述中,正确的是()。
A.对于批处理作业,必须提供相应的作业控制信息B.对于分时系统,不一定全部提供人机交互功能C.从响应角度看,分时系统与实时系统的要求相似D.在采用分时操作系统的计算机系统中,用户可以独占计算机操作系统中的文件系统3、通常用户进程被建立后()A.使一直存在于系统中,直到被操作人员撤销B.随着作业运行正常或不正常结束而撤销C.随着时间片轮转而撤销与建立D.随着进程的阻塞或唤醒而撤销与建立4、进程从运行态到阻塞态可能是()A.运行进程执行P操作B.进程调度程序的调度C.运行进程的时间片用完D.运行进程执行了V操作5、进程调度算法中,可以设计成可抢占式的算法有()。
A.先来先服务调度算法B.最高响应比优先调度算法C.最短作业优先调度算法D.时间片轮转调度算法6、某进程访问页面的序列如下所示。
若工作集的窗口大小为6,则在t时刻的工作集为()。
A.(6,0,3,2)B. (2,3,0,4)C.(0,4,3,2,9)D.(4,5,6,0,3,2)7、系统将数据从磁盘读到内存的过程包括以下操作:① DMA控制器发出中断请求②初始化DMA控制器并启动磁盘③从磁盘传输一块数据到内存缓冲区④执行“DMA结束”中断服务程序正确的执行顺序是():A.③①②④B.②③①④C.②①③④D.①②③④8、在系统内存中设置磁盘缓冲区的主要11的是()。
A.减少磁盘1/0次数,B.减少平均寻道时间C.提高磁盘数据可靠性D.实现设备无关性9、下面关于文件的叙述中,错误的是()。
I.打开文件的主要操作是把指定文件复制到内存指定的区域II.对一个文件的访问,常由用户访问权限和用户优先级共同限制III.文件系统采用树形片录结构后,对于不同用户的文件,其文件名应该不同IV.为防止系统故障造成系统内文件受损,常采用存取控制矩阵方法保护文件A.仅IB. 仅I、IIIC.仅I、III、IVD.I、II、III,IV10、产生内存抖动的主要原因是()A.内存空间太小B.CPU运行速度太慢C.CPU调度算法不合理D.页面置换算法不合理11、假定有个请求分页存储管理系统,测得系统各相关设备的利用率为:CPU为10%,磁盘交换区为99.7%:其他1/O设备为5%。
四川大学汇编语言程序设计答案

2)该指令对 CF 标志的影响是有意义的
. 3)程序员将该指令的操作数解释为完整的无符号数(若为超过 16 位的长操作数运算,操作 w数可能不是完整的,其解释请参见第 5 章中的带进位加法指令,CF 对长补码运算的进位衔
接仍然有效)
wwOF(Overflow Flag)标志的含义是带符号数溢出标志,多数情况下用于标识最近的算术运 算(通常是加减运算)中,如果将操作数解释为补码,其运算结果有没有超出字节或字(与
课 后 答 案 网
4.IP 寄存器的功能是什么?(IP)在哪些情况下会被修改? 答:IP 是指令指针寄存器,其功能为提供 BIU 单元将要从内存读取的下一条指令的偏移量, 该寄存器固定与 CS 段寄存器搭配使用,形成下一条指令的完整物理地址。CPU 顺序执行内 存中的指令序列时,会不断修改(IP),使之指向下一条指令;除此之外,转移指令、循环 控制指令、子程序调用、返回指令、中断调用、返回指令都是通过修改(IP)来达到程序流 程转移的目的。
ww分析:8 位补码表示范围为-128~127,需 9 位补码才能表示-175,因此不能作补码运算
(5)-78-9
[-78]补=10110010
[-9] 补=11110111
10110010
+
11110111
1 10101001
溢出分析:负+负=负,运算正确,无溢出
(6)66+75
[66] 补=01000010
a 接定位,8086、8088CPU 的地址总线为 20 条,即物理地址为 20 位,寻址范围为 220=1M 字
节。由于 8086、8088CPU 内部的寄存器均为 16 位,无法直接表示 20 位的物理地址,因此
四川大学(软件)操作系统简答题

From the perspective of design, what are the main modules inside the OS kernel? Andgive a short description of each of them.从设计的角度来看,操作系统内核中的主要模块是什么?对每一项做一个简短的描述答案:包括进程管理(调度)模块、文件管理模块、设备管理模块、存储管理模块、网络模块(以下非教材内找到,仅供参考)进程管理模块:当多个程序同时运行时,解决处理器(CPU)时间的分配问题。
文件管理模块:主要负责文件的存储、检索、共享和保护,为用户提供文件操作的方便设备管理模块:根据用户提出使用设备的请求进行设备分配,同时还能随时接收设备的请求(称为中断),如要求输入信息。
存储管理模块:为各个程序及其使用的数据分配存储空间,并保证它们互不干扰。
网络模块:提供对多种网络通信标准的访问并支持许多网络硬件(以下为教材内容)操作系统内核的典型功能:进程管理:进程的创建和终止;进程的调度和分派;进程切换;进程同步以及对进程间通信的支持;进程控制块的管理内存管理:给进程分配地址空间;交换;页和段的管理I/O管理:缓冲区管理;给进程分配I/O通道和设备支持功能:中断处理;记账;监视How a child process is created by call the system call (E.g. fork( ) in Linux or CreateProcess() in Windows). Give a description of the process.如何通过调用系统调用来创建子进程答案:一般步骤:1.给新进程分配一个唯一的进程标识号。
2.给进程分配空间。
3.初始化进程控制块。
4.设置正确的连接。
5.创建或扩充其他的数据结构。
Linux下,通过系统调用创建的步骤:使用fock()函数,1.为最新进程在进程表中分配一个空项2.为子进程赋一个唯一的进程标识符3.生成一个父进程上下文的逻辑副本,不包括共享内存区4.增加父进程拥有的所有文件的计数器,以表示有一个另外的进程现在也拥有这些文件5.把子进程设为就绪态6.向父进程返回子进程的进程号,对子进程返回零List advantages of ULTs over KLTs and disadvantages of ULTs compared to KLTs.列出对于内核级线程来说,用户级线程的优势与劣势答案:以下为教材课后习题答案列出用户级线程优于内核级线程的三个优点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2017F-SLP-A卷答案
一.每题2分,共40分
BACBD ACAAC
DADAB CBDBB
二.每题5分,共10分
int NegativeNum (int x) {
return ~((~x) & (~0x80000000));
}
int SetByte (int x,int n) {
return x|(0xFF <<(n<<3));
}
三.共13分
9分(每两个填空1分)
+--------------------------------+
| unknown | 0xffff1004
+--------------------------------+
| 3 | 0xffff1000
+--------------------------------+
| unknown | 0xffff0ffc
+--------------------------------+
| unknown | 0xffff0ff8
+--------------------------------+
| unknown | 0xffff0ff4
+--------------------------------+
| 2 | 0xffff0ff0
+--------------------------------+
| 0x08048407 | 0xffff0fec
+--------------------------------+
| 0xffff0ff8 | 0xffff0fe8
+--------------------------------+
| unknown | 0xffff0fe4
+--------------------------------+
| 1 | 0xffff0fe0
+--------------------------------+
| 0x08048432 | 0xffff0fdc
+--------------------------------+
| 0xffff0fe8 | 0xffff0fd8
+--------------------------------+
| unknown | 0xffff0fd4
+--------------------------------+
| 0 | 0xffff0fd0
+--------------------------------+
| 0x08048407 | 0xffff0fcc
+--------------------------------+
| 0xffff0fd8 | 0xffff0fc8
+--------------------------------+
| 0 | 0xffff0fc4
+--------------------------------+
| unknown | 0xffff0fc0
+--------------------------------+
esp: 0xffff0fcc (2分)
ebp: 0xffff0fd8 (2分)
四.共12分
This problem illustrates some of the subtle effects of memory aliasing, and it cannot be used to swap two values (2 scores).
As the commented code below shows, the effects will be to set the value at xp to zero when xp equals to xy.
1*xp = *xp + *xp; // 2x
2*xp = *xp - *xp; // 2x – 2x = 0
3*xp = *xp - *xp; // 0 – 0 = 0 (4 scores)
This example illustrates that our intuition about program behavior can often be wrong. We naturally think of the case where xp and yp are distinct but overlook the possibility that they might be equal. Bugs often arise due to conditions the programmer does not anticipate.
五.
1.(5分)答:如编译执行环境是逐行访问内存,如C语言,则此代码有良好的空间局部性。
如果如编译执行环境是逐列访问内存,如matlab,且N较大,则该代码需跨行读取数据,则此代码空间局部性就较差。
2. (10分)
A.16*16*4
B.256, 每行一个cold miss
C.25%, 每4个整数产生一个cold miss
D.25%, cache 大小没有什么影响
六.
1. 【备注:非标准化考试】
1)CSAPP:
中文:computer system: a programmer’s perspective
英文:深入理解计算机系统
2)可以(不限于)从下面的角度
A)整个计算机系统的核心部件:软件(如编译器和OS)和硬件(CPU、存储系统登)
B)程序的生命周期
2.
1)概念:An exception is an abrupt change in the control flow in response to some change in the processor’s state.(说明:以上是教材/授课课件的答案。
也可以用中文)
2)类型:四个
英文:interrupt,trap,fault,abort
中文:中断,陷入,故障,终止
3)画图:可以用下面的任何一个
A)
B)。