计算机系统原理实验总复习题库.docx
- 文档编号:25391544
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:85
- 大小:274.86KB
计算机系统原理实验总复习题库.docx
《计算机系统原理实验总复习题库.docx》由会员分享,可在线阅读,更多相关《计算机系统原理实验总复习题库.docx(85页珍藏版)》请在冰豆网上搜索。
计算机系统原理实验总复习题库
已有C语言源程序test.c,采用一级优化,生成对应的汇编程序test.s,以下命令操作错误的是()。
A.gcc-O1-S-otest.stest.c
B.gcc-S-O1-otest.stest.c
C.gcc-S-O1test.c-otest.s
D.gcctest1.c-S-O1hello.s
问题7
运行以下程序,show_ueg()的输出是()
typedefunsignedchar*byte_pointer;
voidshow_bytes(byte_pointerstart,intlen){inti;
for(i=0;i } voidstring_ueg(){constchar*s="DEF"; show_bytes((byte_pointer)s,strlen(s)); } A.414243444546 B.444546 C.414243 D.686870 问题8 C语言支持多种数据类型。 是否 问题9 用命令ls-al显示出文件ff的描述如下所示,由此可知文件ff的类型为 ()。 -rwxr-xr--1rootroot599Cec1017: 12ff 已知函数如下: voidxor_swap(int*x,int*y) { // (1) *y=*x^*y;// (2) *x=*x^*y;//(3) *y=*x^*y;//(4) } 执行xor_swap(3,5);语句,则在上述程序中表达式 (2)执行完毕,*y的值是 . 6 问题12 在位运算中,操作数每左移一位,其结果相当于() A.操作数乘以2 B. 操作数乘以4 C.操作数除以4 D.操作数除以2 问题13 sizeof(int)=4,声明inta[10],数组a的首地址在寄存器ecx中,数组下标i存 放在edx中,表达式的结果存在eax中,则表达式&a[i]对应的汇编代码是() A.movl(%ecx,%edx),%eax B.movl(%ecx,%edx,4),%eax C. leal(%ecx,%edx),%eax D.leal(%ecx,%edx,4),%eax 问题14 gdb的内存查看命令x的使用格式为: x/nfu () A. n B.h C. b D.w 问题15 print gdb调试查看变量值的命令是 问题16 除非特别指定,cp假定要拷贝的文件在下面哪个目录下() A.当前目录 B. root目录 C.用户目录 D.home目录 问题17 linux下目前最常用到的是ELF格式的二进制代码。 一个ELF格式的可执行程 序通常划分为如下几个部分: .text、.data和.bss,其中.text是只读的代码 区,.data是可读可写的数据区,而.bss则是可读可写且没有初始化的数据区。 是否 问题18 EIP IA-32结构中,两个专用寄存器分别是指令指针寄存器和标志寄存器 EFLAGS 。 问题19以下关于Linux为什么用企鹅做logo最离谱的解释? A.李纳斯十分仰慕马化腾; B. 李纳斯小名叫豆豆 C.企鹅……貌似很好吃的样子 D.李纳斯喜欢像企鹅 问题20 在32位机器上,double类型的精度是() A.17 B. 14 C.15 D.16 问题21 IEEE754标准32位单精度数尾数的位数是() A.23 B. 63 C.22 D.24 问题22 表达式0x13&0x17的值是() A.0x17 B. 0x13 C.0xec D.0xf8 问题23 如果您想列出当前目录以及子目录下所有扩展名为“.txt”的文件,那么您可以使用的命令是() A.find.-name'.txt' B. ls*.txt C.ls–d.txt D.find.'.txt' 问题24 如果您想列出当前目录以及子目录下所有扩展名为“.txt”的文件,那么您可以使用的命令是() A.find.-name'.txt' B. ls*.txt C.ls–d.txt D.find.'.txt' 问题25 IA-32规定中,以下哪个寄存器不属于调用者保存寄存器? A.EAX B. EBX C.ECX D.EDX 问题26Linux分区类型默认的是() A.vfat B.ext2/ext3 C. swap D.dos 问题27Linux分区类型默认的是() A.vfat B.ext2/ext3 C. swap D.dos 问题28 表达式0x13|0x17的值是() A. 0x03 B.0xE8 C. 0x17 D.0xc8 问题29 假设8位无符号整数变量x和y的机器数分别是X和Y。 如X=A6H,Y=3FH, 0 0 则执行x+y的运算结果中,标志位CF=,OF=,执行x-y的 0 1 运算结果中,CF=,OF=。 问题30 以下关于Linux目录的说法中哪个是正确的? (多选题) A.所有用户的家目录都在/home下 B./sbin目录下存放的命令任何普通用户都不能执行 C./etc目录下存放了所有的设备文件 D.内核存放在/boot目录下 问题31 gstabs linux下执行as命令时加上参数可以使生成的目标程序包含符号表, 能够进行调试。 问题32 IA-32指令系统中,根据指令给定信息得到操作数或者操作数地址的方式称为 寻址方式 。 问题33不同符号的数x和y相减,x-y=diff,如果diff的符号位与x的符号相反,则结果溢出。 对 错 问题34 16156 -3087 已知shortx=-12345;执行x<<2;和x>>2;的结果分别是和。 问题35 在C语言中,如果执行一个运算时同时有无符号数和带符号数参加,那么,C编译器会隐含的将无符号数强制类型转换为带符号数。 是否 问题36 用ls–al命令列出下面的文()件列表,是符号连接文件的是() A.drwxr--r--1helusers1024Sep1008: 10zhang B.-rw-rw-rw-2hel-susers56Sep0911: 05hello C.-rwxrwxrwx2hel-susers56Sep0911: 05goodbey D.lrwxr--r--1helusers7Sep1208: 12cheng 问题37 在使用GCC编译器的过程中,以下()选项可用来指定生成的目标文件名。 A.-S B. -o C.-c D.-E 问题38 .i gcc支持的c语言预处理文件的扩展名为 问题39 所谓“机器字长”通常是指CPU内部用于整数运算的数据通路的宽度,因此“字 长”等于CPU内部用于整数运算的运算器位数和通用寄存器宽度。 对错 问题40 在32位机器上,表达式~0x13值是() A.0xFFFFFF17 B. 0xFFFFFF71 C.0xFFFFFFEC D.0xFFFFFFFC 问题41 finish gdb下运行程序,直到当前函数返回的命令是 问题42 每个过程都有自己的栈区,称为栈帧。 因此,在程序执行时,一个栈有若干栈帧组成,每个栈帧用专门的 指定起始位置。 当前栈帧的范围在和指向的区域之间。 由于不断有数据出入,所以 而可以固定不变。 问题43 8 2 A-32中的定点寄存器中共有个通用寄存器,个专用寄存器 6 和个段寄存器。 问题44 阅读以下C代码,补充完整对应的汇编代码: intloop(intx,inty,intn) {do{x+=n;y*=n;n--; } while((n>0)&&(y } 汇编代码: loop: pushl%ebpmovl%esp,%ebpmovl8(%ebp),%eaxmovl12(%ebp),%ecxmovl16(%ebp),%edx .L3: .L5: popl%ebp ret 问题45 linux安装分区,SWAP分区分配多大比较适合? A.可有可无,可以不分 B. 越大越好 C.内存的2倍,最大不超过2G D.内存的2倍 问题46 C语言中的位运算是一种数值运算,运算时将两个操作数中对应的各二进制位按照指定的逻辑运算规则逐位进行计算。 对错 问题47 怎样显示当前目录() A.ls B.who C. cd D.pwd 问题48 )命令可更改一个文件的权限设置. A.chmod B. file C.change D.attrib 问题49 Linux安装时至少划分哪两个分区才能正常安装使用? (多选) A.根分区/ B. /boot分区 C./home分区 D.SWAP分区 问题50 ld inux下标准的链接器是 问题51C语言中的逻辑运算是非数值运算,其操作数只有两个逻辑值: 真和假。 对错 问题52 以下哪个系统诞生的最早? A.Android B. Linux C.Windows D.UNIX 问题53 带符号数x和y相加,x+y=sum,如果sum的符号位与x和y的符号都相反,则结果溢出。 对错 问题54 已知C源码如下: intsub(intx,inty) { returnx-y; }intcaller() { inta=300;intb=100;intdiff=sub(a,b);returndiff; } 请补充完整对应的汇编代码: sub: pushl%ebpmovl%esp,%ebp popl%ebpretcaller: pushl%ebp ret 问题55 已知C语言源码如下: inta【M】【N】; intb【N】【M】; intfun(inti,intj) { returna【i】【j】+b【j】【i】; } 对应的汇编代码如下: fun: pushl%ebpmovl%esp,%ebpmovl8(%ebp),%edxmovl12(%ebp),%eaxleal(%edx,%edx,2),%ecxaddl%eax,%ecxleal(%edx,%eax,4),%eaxmovlb(,%eax,4),%eaxaddla(,%ecx,4),%eaxpopl%ebpret 4 3 则M=(),N=()。 问题56 下面哪个是你学习字符界面的原因? A.Linux不包括图形用户界面; B. 服务器可能没有图形界面; C.你的系统可能没装某个特殊的命令; D.如果不学命令行,你可能没有竞争力 问题57 计算机在底层的机器级层次区分无符号整数和带符号整数的运算,分别采用不 同的运算方法。 对错 问题58 OF 在整数加减运算器中,表示带符号数运算结果溢出的标志位是。 问题59 objdump 在Linux中可以用带-d选项的命令来对目标代码进行反汇编。 问题60 如果执行命令#chmod746file.txt,那么该文件的权限是() A. rwxr--rw- B.--xr—rwx C.rw-r--r-- D. rwxr--r— 问题61 计算机内部任何信息都被表示成二进制编码形式。 对错 问题62 until gdb下退出循环的命令是 问题63 inforegistgdb调试环境下,查看CPU所有寄存器的命令是 问题64 下面哪个系统目录中包含Linux使用的外部设备() A./dev B. /bin C./boot D./home 问题65 要给文件file1加上其他人可执行属性的命令是() A. chowno+x B.chmoda+x C.chowna+x D. chmodo+x 问题66 C语言中,表达式-1<0u的值为() A.true B. 1 C.false D.0 问题67 某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写, 则该文件的权限为() A.467 B. 764 C.476 D.674 问题68 linux下的GAS使用 汇编语法。 问题69 两个无符号数x和y相加,和sum如果小于x,则表示结果溢出。 对错 问题70 C语言中表达式x|0xFF的功能是() A.x的最低有效字节全变1,其余各位不变 B.x的最高有效字节全变1,其余各位不变 C.x的最低有效字节全变1,其余各位取反 D.x的最高有效字节全变1,其余各位取反 问题71 若a=1,b=2,则a|b的值是() A.1 B. 3 C.2 D.0 问题72 print/x$egdb调试环境下,以十六进制方式查看寄存器eax内容的命令是问题73 C语言的按位运算有()(多选) A. | B.|| C.& D.! E. ~ F.|| G.^ H.&& 问题74 在计算机数据存储中,大端方式(bigendian)是指() A.将数据的最高有效字节存放在高地址单元中 B.将数据的最低有效字节存放在中间地址单元中 C.将数据的最高有效字节存放在中间地址单元中 D.将数据的最高有效字节存放在低地址单元中 问题75 问题76 已知汇编,补充完整对应的C程序(填空的各个符号之间不要加空格) b: pushl%ebpmovl%esp,%ebpsubl$16,%espmovl$0,-4(%ebp)movl$0,-8(%ebp)jmp.L7.L8: movl12(%ebp),%eax imull-8(%ebp),%eaxaddl8(%ebp),%eaxmovl%eax,-4(%ebp)addl$1,-8(%ebp).L7: cmpl$29,-8(%ebp) jle.L8 movl-4(%ebp),%eax leaveret C源程序: intb(intx,inty) { inti,result=0; i<30 for(i=0;;i++) x+y*i result=; returnresult; } 问题77 在指令leal8(%ecx,%edx,4),%eax中,假设ECX的内容是x,EDX的内容是y, x+4*y+8 EAX 则该指令实现的功能是计算的值,并将其存入寄存器中。 问题78 以下哪些是汇编语言的缺点? (多选) A.开发效率很低,时间长且单调。 B.编写的代码非常难懂,不好维护; C.开发的程序可以很方便的在不同的体系结构和处理器之间移植; D.很容易产生bug,难于调试;问题79 若x=2,y=3,则x&y的结果是() A.5 B. 0 C.3 D.2 问题80 某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写, 则该文件的权限为() A.467 B. 476 C.764 D.674 问题81 Linux是一个运行在 下的32/64位操作系统。 问题82 C语言中主函数main可以有两个参数,intargc和char*argv[],其中argc表 示命令行参数的个数,不包括命令本身。 对错 问题83 哪个命令可以将普通用户转换成超级用户() A.passwd B.super C. su D.tar 问题84 使用gdb调试中提示符为(gdb),则调试中设置断点的命令正确的是 ()。 A.(gdb)quit B. (gdb)list C.(gdb)break2 D.(gdb)run123 问题85 删除文件命令为() A.mkdir B. rm C.rmdir D.mv 问题86 机器中浮点数的表示包括()(多选) A.小数点 B.阶码 C. 尾数 D.符号位 问题87如何删除一个非空子目录/tmp() A.rm-rf/tmp B.rm–rf/tmp/* C. del/tmp/* D.rm-Ra/tmp/* 问题88 以下C语言源码: intget(int*p1,int*p2) { if(p1>p2)return*p2;elsereturn*p1; } 请补充对应的汇编代码: get: pushl%ebpmovl%esp,%ebpmovl8(%ebp),%edxmovl12(%ebp),%eax .L2: movl(%edx),%eax.L4: popl%ebpret 问题89 已知汇编,补充完整对应的C代码(填空的各个符号之间不要加空格)。 c: pushl%ebpmovl%esp,%ebpsubl$16,%espmovl$0,-8(%ebp)movl$0,-4(%ebp)jmp.L4.L5: movl8(%ebp),%eaximull-8(%ebp),%eaxaddl12(%ebp),%eaxmovl%eax,-4(%ebp)addl$1,-8(%ebp).L4: cmpl$29,-8(%ebp) jle.L5 movl-4(%ebp),%eax leaveret 对应的C代码: intc(intx,inty) { inti=0,result=0; i<30 while() { x*i+y result=; i++; } returnresult; } 问题90 IA-32规定中,以下哪个寄存器不属于被调用者寄存器? A.EDI B. EBX C.ECX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 原理 实验 复习 题库