本文用到的外挂标签
1 | {% note info %}content{% endnote %} |
上一个题库:
下一个题库:
101~120
101.ID: 9433 double *D[5]
的元素大小和总大小分别为
A 8 40
B 8 5
C 4 20
D 4 5
102.ID: 9434 gcc编译程序时,需要在执行文件中产生调试文件的gcc附加参数是
A (-o)
B (-g)
C (-S)
D (-E)
103.ID: 9435 IA32指令集中MOV类指令不包含
A movb
B movw
C movx
D movl
104.ID: 9436 一条计算机指令中通常包含
A 字符和数据
B 操作码和操作数
C 运算符和数据
D 被运算数和结果
105.ID: 9437 IEEE浮点数表示数时会划分为三个字段,其中表示阶码字段的是
A s
B exp
C frac
D f
106.ID: 9438 IEEE浮点数用V =(-1)s*M*2E的形式来表示一个数,其中E表示的是
A 符号
B 正整数数阶码
C 尾数
D 可正可负整数阶码
107.ID: 9439 int x = 2; int y = 3; x= (x > y) ? x>>1:y>>1
,执行后x =
A 1
B 2
C 6
D 3
108.ID: 9440 leal 6(%eax),%edx
操作的结果是
A 6x
B 6+x
C 6-x
D x-6
109.ID: 9441 leal 7(%edx,%ebx,5),%eax
假设 %ebx的值为y, %edx的值为x , 则%eax的值为
A 5*y+x+7
B 5*x+y+7
C 7*y+x+5
D 7*x+y+5
110.ID: 9442 下面关于intel汇编代码格式说法错误的是
A 带有指示大小的后缀
B 省略了寄存器名字前缀 %
C 可以用[ebp+8]描述存储器中的位置
D 和ATT格式列出的操作数顺序相反
111.ID: 9443 8086CPU在基址加变址的寻址方式中,变址寄存器可以为
A BX或CX
B CX或SI
C DX或SI
D SI或DI
112.ID: 9463 call指令的效果是将返回地址入栈,并跳转到被调用过程的起始处.返回地址是紧跟在程序中call后面的那条指令的地址
A 对
B 错
113.ID: 9464 a=01101001,b=01010101,则a^b=
A 1000100
B 111100
C 1011100
D 1011100
114.ID: 9465 a=01101001,b=01010101,则a&b=
A [01000001]
B [10110101]
C [01011111]
D [11011010]
115.ID: 9485 下面对show_bytes
的调用将输出
1 |
|
A a b c d e f
B 66 65 64 63 62 61
C 61 62 63 64 65 66
D f e d c b a
116.ID: 9486 将一个c文件翻译成一个可执行目标文件,这个翻译的过程可分为四个阶段完成,下列四个阶段排序正确的是
A 预处理阶段,编译阶段,汇编阶段,链接阶段
B 预处理阶段,汇编阶段,编译阶段,链接阶段
C 预处理阶段,汇编阶段,链接阶段,编译阶段
D 预处理阶段,编译阶段,链接阶段,汇编阶段
117.ID: 9487 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是
A 名字项
B 操作项
C 操作数项
D 注释项
118.ID: 9488 汇编语言语句格式中,对名字项的规定,错误的解释是
A 名字的第一个字符可以是大小写英文字母及?、@、__等
B 名字的第一个字符可以是大小写英文字母、数字、?、@、__等
C 名字的有效长度≤31个字符
D 名字从第二个字符起可以出现数字,但不允许出现#等字符
119.ID: 9491 汇编代码后缀 l 表示
A 一个字节
B 两个字节
C 四个字节
D 四个bit
120.ID: 9492 过程P调用过程Q时,假设返回地址在内存中的地址为X,%ebp值保存在内存地址Y,则以下说法正确的是(32位环境下)
A X=Y-4
B X=Y+4
C X=Y+8
D X=Y-8
121~140
121.ID: 9493 过程P调用过程Q时,Q有两个参数,假设返回地址在内存中的地址为X,传递给Q的第二个参数保存在内存地址Y,则以下说法正确的是(32位环境下)
A X=Y-4
B X=Y-8
C X=Y+4
D X=Y+8
122.ID: 9494 过程P调用过程Q后,记过程P栈帧的%ebp值为 p_ebp, 过程Q的栈帧%ebp值为q_ebp,假设这些值都是32位,则以下说法正确的是
A 内存地址p_ebp存放的整数值是q_ebp
B 内存地址p_ebp+4存放的整数值是q_ebp
C 内存地址q_ebp存放的整数值是p_ebp
D 内存地址q_ebp+4存放的整数值是p_ebp
123.ID: 9495 关于补码,下列说法错误的是
A 两数的补码之和(差)=两数和(差)的补码;
B 任意整数的补码为其反码加1;
C 补码使得减法运算可以用加法来实现,即用求和来代替求差;
D 补码使得数的符号位可以同数值部分作为一个整体参与运算;
124.ID: 9496 关于32位机器下int,float,double格式强制转换,错误的是
A int转到float,数字不会溢出,但不会被舍入。
B double转float,可能溢出成为正无穷或负无穷。
C double转float,可能会被舍入。
D double转int,值将会向0舍入。
125.ID: 9497 浮点运算:(3.14+1e20)-1e20 在计算机中的运算结果为
A 3.14
B 10000000000
C 0
D -1
126.ID: 9498 浮点数IEEE754标准对尾数编码采用的是
A 原码
B 反码
C 补码
D 移码
127.ID: 9499 浮点加减中的对阶的
A 将较小的一个阶码调整到与较大的一个阶码相同
B 将较大的一个阶码调整到与较小的一个阶码相同
C 将被加数的阶码调整到与加数的阶码相同
D 将加数的阶码调整到与被加数的阶码相同
128.ID: 9500 二进制小数1001.11表示的浮点数的十进制表示为
A 8.75
B 9.75
C 1001.11
D 7.75
129.ID: 9501 二进制串 11010110 对应的十六进制数是
A 0xx0
B 0xD6
C 0XC6
D 0Xd5
130.ID: 9502 下列说法正确的是
A 在C语言中一个有符号数和一个无符号数相加得到的结果一定是一个无符号数
B 在C语言中一个有符号数和一个无符号数相加得到的结果可能是一个有符号数
C 在C语言中一个有符号数和一个无符号数相减得到的结果一定是一个有符号数
D 在C语言中一个有符号数和一个无符号数相减得到的结果可能是一个有符号数
131.ID: 9484 请判断“并发运行是指一个进程的指令和另一个进程的指令是交错执行的。“这句话
A 正确
B 错误
132.ID: 9483 请判断“最低有效字节在最前面的方式称为小端法,最高有效字节在最前面的方式称为大端法。“
A 错误
B 正确
133.ID: 9482 当执行一个运算时,如果它的一个运算数是有符号的而另一个是无符号的,那么C语言会
A 显式地 无符号 有符号
B 显示地 有符号 无符号
C 隐式地 无符号 有符号
D 隐式地 有符号 无符号
134.ID: 9466 下列关于移位说法正确的是
A 逻辑左移时,高位移出,低位添0;逻辑右移时,低位移出,高位添0
B 逻辑右移时,高位移出,低位添0;逻辑左移时,低位移出,高位添0
C 逻辑左移时,低位移出,高位添1;逻辑右移时,高位移出,低位添1
D 无符号数的移位称为算术移位,有符号数的移位称为逻辑移位
135.ID: 9467 -7(8位)的二进制补码表示正确的是
A 11110111
B 11111001
C 111
D 10000111
136.ID: 9468 6位二进制数最大能表示的十进制整数是
A 64
B 63
C 32
D 31
137.ID: 9469 64位有符号除法 idivl S,所得结果商存在%eax中,余数存在%edx中
A 正确
B 错误
138.ID: 9470 64位有符号除法 idivl S,所得结果商存在%edx中,余数存在%eax中
A 正确
B 错误
139.ID: 9471 49/16的二进制表示
A 11.00001
B 11.01
C 11.000001
D 11.0001
140.ID: 9472 32位linux系统中,long类型的字节数是
A 2
B 4
C 6
D 8
141~160
141.ID: 9473 3×4096+15×256+5×16+17计算结果的二进制表示包含
A 8
B 9
C 10
D 12
142.ID: 9474 汇编语言的优点不包括
A 直接有效地控制硬件
B 生成的代码序列短小
C 运行速度快
D 编程容易
143.ID: 9475 cpu常使用
A 程序计数器
B 程序状态(状态条件)寄存器
C 累加寄存器
D 指令寄存器
144.ID: 9476 1100|1010 , 1001^1001 ,1001&1100分别为
A 1110 0000 1000
B 1000 1001 1000
C 1110 1001 0101
D 1000 1001 1000
145.ID: 9477 操作系统内核是应用程序和硬件之间的媒介。它提供三个基本的抽象。下面哪一个不是它所提供的抽象
A 文件是对I/O设备的抽象
B 虚拟存储器是对主存和磁盘的抽象
C 进程是对处理器、主存和I/O设备的抽象
D 线程是对处理器、主存和I/O设备的抽象
146.ID: 9478 请判断“数据传递、局部变量的分配和释放通过操作程序堆来实现。“
A 正确
B 错误
147.ID: 9479 在某些极端要求性能的场合,我们需要对程序进行优化,关于优化,以下说法正确的是
A 将程序整个用汇编语言改写会大大提高程序性能
B 在优化前,可以先确定哪部分代码最费时,然后对这部分代码用汇编改写,使用汇编的语句越少,程序运行越快
C 使用汇编语句虽然可以提高程序的性能,但会降低程序的可移植性,所以应该绝对避免
D 适当调整汇编指令的顺序,可以缩短程序运行的时间
148.ID: 9480 请判断关于指针的说法,下面错误的是
A 每个指针都有一个值
B 运算符 * 用于指针的间接引用
C 将指针从一种类型强制转换成另一种类型,它的类型和值都会改变
D 数组与指针紧密联系
149.ID: 9481 请判断“程序寄存器组是唯一能被所有过程共享的资源。“这句话是否正确
A 正确
B 错误
150.ID: 9503 对于源码反码和补码下列说法正确的是
A 原码和反码不能表示 -1,补码可以表示 -1;
B 三种机器数均可表示 -1;
C 三种机器数均可表示 -1,且三种机器数的表示范围相同;
D 三种机器数均不可表示 -1。
151.ID: 9654 在C语言中,移位运算的优先级比加法(和减法)要高。
A 对
B 错
152.ID: 9674 movb 是用来
A 传送字
B 传送双字
C 传送字节
D 传送地址
153.ID: 9675 MOV 指令 movl$0x4050 , %eax
中,源操作数类型和目的操作数类型分别为
A 立即数、寄存器
B 寄存器、存储器
C 存储器、寄存器
D 立即数、存储器
154.ID: 9676 M[R[Eb]]这种寻址方式属于
A 立即数寻址
B 寄存器寻址
C 绝对寻址
D 间接寻址
155.ID: 9677 linux中一个源程序hello.c到hello.out的顺序为
1预编译 2 链接 3编译 4汇编
A 1234
B 1243
C 1342
D 1324
156.ID: 9678 leave指令和
A mov %ebp, %esp pop %ebp
B pop %eip
C mov %esp, %ebp pop %esp
D ret
157.ID: 9679
A 外存
B 中央处理单元
C 总线
D 主存
158.ID: 9680 机器级程序使用的存储器地址是
A 物理地址
B 虚拟地址
C 真实地址
D 段地址
159.ID: 9681
A 限制访问形式
B 栈保护
C 随机化
D 限制哪部分存储器可以存储可执行代码
160.ID: 9682 按照惯例,以下寄存器被划分为被调用者保存寄存器的是
A %eax
B %edx
C %ecx
D %ebx
161~180
161.ID: 9683 两个w位的数字相乘,机器可以用一种乘法指令来进行有符号和无符号整数的乘法
A 正确
B 错误
162.ID: 9684 两个数的w位补码之和与无符号之和有完全相同的位级表示
A 正确
B 错误
163.ID: 9685 call指令的效果是将
A 返回地址
B 起始地址
C 变量地址
D 上一条指令的地址
164.ID: 9686 栈帧的最顶端以两个指针界定,寄存器
A %eax
B %ebp
C %esp
D %edx
165.ID: 9687 跳转表是一个
A 地址
B 链表
C 数组
D 栈
166.ID: 9688 以下哪一条指令可以用来检查无符号操作数的溢出
A CF
B ZF
C SF
D OF
167.ID: 9689 堆栈指针 %esp 的内容是
A 栈顶单元内容
B 栈顶单元地址
C 栈底单元内容
D 栈底单元地址
168.ID: 9673 movl传送的是
A 32
B 8
C 4
D 1
169.ID: 9672 movw传送的是
A 8
B 4
C 2
D 1
170.ID: 9671 OF与CF的区别是
A OF是溢出标志,CF是进位标志
B OF是零标志,CF是溢出标志
C CF是溢出标志,OF是符号标志
D CF是符号标志,OF是进位标志
171.ID: 9655
A 程序计数器
B 整数寄存器
C 条件码寄存器
D 浮点寄存器
172.ID: 9656 内存地址为4位,内存容量为
A 64
B 32
C 16
D 8
173.ID: 9657 完整的整数结果不能放到数据类型的字长限制中去称为算数运算溢出。
A 对
B 错
174.ID: 9658 比例变址基址寻址Imm(R1,R2,s)计算结果为
A Imm*(R1+R2+s)
B Imm*(R1+R2*s)
C Imm+R1+R2+s
D Imm+R1+R2*s
175.ID: 9659 jmp *LABEL要跳转的地址是LABEL地址中存的地址。
A 对
B 错
176.ID: 9660 在任何时刻,程序计数器(PC)都指向主存中的
A 指令内容
B 指令地址
C 操作数内容
D 操作数地址
177.ID: 9661 函数编译出来的代码会创建栈帧的原因不包括
A 所有的局部变量都能保存在寄存器中,且函数不会调用其他函数
B 有些局部变量是数组或者结构
C 函数用取地址操作符(&)来计算一个局部变量的地址
D 在修改一个被调用者保存寄存器之前,函数需要保存它的状态
178.ID: 9662 IA32架构下,栈的增长方式是
A 向上增长
B 向下增长
C 同时向上和向下增长
D 不确定
179.ID: 9663 x和y的字节值分别为0x66和0x93,则 x|y的值为
A 0xFA
B 0xFD
C 0xFC
D 0xCC
180.ID: 9664 x=0xF0,经过x>>2算术运算后,x=
A 0xF1
B 0x71
C 0xFC
D 0xFD
181~200
181.ID: 9665 x = 1011 0101 , x>>4(算术右移)后,x =
A 0000 0101
B 1111 1011
C 1011 0101
D 0101 1011
182.ID: 9666 unsigned char 的最小值为
A 128
B 255
C -127
D 0
183.ID: 9667 在32位linux系统下,对于结构typedef struct{char c;int a;}
所占的字节数为
A 5
B 8
C 10
D 不确定
184.ID: 9668 在32位linux系统下,对于结构typedef struct{char* cp;int a;}
所占的字节数为
A 4
B 8
C 12
D 16
185.ID: 9669 ret指令从栈中弹出地址,并返回到call指令所在的地址
A 对
B 错
186.ID: 9670 pushl %ebp
的行为等价于以下
A subl $4, %esp movl %ebp, (%edx)
B subl $4, %esp movl %ebp, (%esp)
C subl $4, %esp movl %eax, (%esp)
D subl $4, %eax movl %ebp, (%edx)
187.ID: 9690 定义数组:shor A[7],已知short类型占2个字节,设数组的起始地址为Xa,那么A[2]的地址为
A Xa+2
B Xa+4
C Xa+6
D Xa+8
188.ID: 9691 定义2个结构体类型:
1 | struct foo1{ |
哪个结构体可能更节省内存?
A foo1
B foo2
C 没有区别
D 依计算机不同而不同
189.ID: 9692 当执行完下列两条指令后,标志位CF和SF的值为MOV $0xC4H,%AL
;ADD $0x9DH,%AL
A 0,0
B 1,1
C 0,1
D 1,0
190.ID: 9712 有符号数与无符号数运算的结果为
A 有符号数
B 无符号数
C 0
D 不确定
191.ID: 9713 当调用malloc这样的C标准库函数时,
A 堆 共享库
B 堆 栈
C 栈 内核虚拟存储器
D 栈 共享库
192.ID: 9714 关于编译器优化错误的是
A 编译器优化依然需要程序员在高级语言编写时考虑性能问题
B 编译器的优化有时会导致最终代码与源程序码大相径庭
C 既然有不同优化,应选择最高优化级别以获取最佳性能
D 不同编译器的优化也会不同
193.ID: 9715 最初的8086中,寄存器的特殊用途可从名字反映出来。累加器为
A %ax
B %bx
C %cx
D %dx
194.ID: 9716 字长相同但格式不同的两种浮点数,假设前者阶码长、尾数短,后者阶码短、尾数长,其他规定均相同,则它们可表示的数的范围和精度为
A 两者可表示的数的范围和精度相同
B 前者可表示的数的范围大但精度低
C 后者可表示的数的范围大且精度高
D 前者可表示的数的范围大且精度高
195.ID: 9717 在说明语句:int *f( );
中,标识符f代表的是
A 一个用于指向整型数据的指针变量
B 一个用于指向一维数组的行指针
C 一个用于指向函数的指针变量
D 一个返回值为指针型的函数名
196.ID: 9718 在 Intel IA32 汇编中,下列指令不合法的是
A pop %eip
B pop %ebp
C mov (%esp),%ebp
D lea 0x10(%esp),%ebp
197.ID: 9719 与cmova汇编指令等价的指令是
A cmovnb
B cmovnbe
C cmovnl
D cmovnge
198.ID: 9720 有一个CRT的分辨率是1024×768像素,颜色数为256色,则刷新存储器的容量是
A 768KB
B 512KB
C 256KB
D 2MB
199.ID: 9721 以下指令不改变任何条件码的是
A cmp
B test
C leal
D add
200.ID: 9722 以下
A %eax
B %edx
C %ebx
D %ecx