1. CPU中不含有以下选项中的:4分
A: 运算器
B: 寄存器
C: 内存
D: 时钟
2. CPU中负责计时的部件是:4分
A: 程序计数寄存器
B: 时钟
C: 控制器
D: 靠人来计时
3. 对于汇编以下说法正确的是:4分
A: 汇编需要编译成机器码
B: 汇编是助记符,和机器码一一对应
C: 汇编是给CPU看的
D: 编译器编译出来的是汇编
4. 以下哪个寄存器名是错的:4分
A: 累加寄存器
B: 程序计数器
C: 标志寄存器
D: 控制寄存器
5. 以下哪个说法是错误的:4分
A: 计算机能够执行分支是因为标志寄存器
B: 计算机能够执行循环是因为程序计数器
C: 控制器控制程序的分支及循环运行
D: 标志寄存器负责保存计算后结果的状态
6. 请写出二进制,八进制,十进制,十六进制(9之后使用字母顺序)15分
二进制 | 八进制 | 十进制 | 十六进制 |
00000000 | 00 | 0 | 0x00 |
00000001 | 01 | 1 | 0x01 |
00000010 | 02 | 2 | 0x02 |
00000011 | 03 | 3 | 0x03 |
00000100 | 04 | 4 | 0x04 |
00000101 | 05 | 5 | 0x05 |
00000110 | 06 | 6 | 0x06 |
00000111 | 07 | 7 | 0x07 |
00001000 | 010 | 8 | 0x08 |
00001001 | 011 | 9 | 0x09 |
00001010 | 012 | 10 | 0x0A |
00001011 | 013 | 11 | 0x0B |
00001100 | 014 | 12 | 0x0C |
00001101 | 015 | 13 | 0x0D |
00001110 | 016 | 14 | 0x0E |
00001111 | 017 | 15 | 0x0F |
00010000 | 020 | 16 | 0x10 |
00010001 | 021 | 17 | 0x11 |
00010010 | 022 | 18 | 0x12 |
00010011 | 023 | 19 | 0x13 |
//(一般情况下 算是程序潜规则)八进制前面加上0,二进制补全,十六进制加0x(不一定加0)
7. 请使用公式写出二进制数 011100001100000111000对应的十进制,需要解题步骤:5分
NUM = 2^3+2^4+2^5+2^11+2^12+2^17+2^18+2^19 = 923704
8. 假设一个32位带符号(有负数)的二进制数 0111 0010 1110 1111 0011 1111 0000 1100,请写出对应的十进制数5分
Num = 12+63*256+239*256*256+114*256*256*256=1928281868
9. 假设一个32位带符号(有负数)的二进制数 1111 0010 0010 1111 0011 0110 0000 1100,请写出对应的十进制数5分
num-1= 1111 0010 0010 1111 0011 0110 0000 1011
取反= 0000 1101 1101 0000 1100 1001 1111 0100
转化10进制=244+201*256+208*256*256+13*256*256*256=231786996
原来的数位-231786996
10. 假设二进制数(16位)0101 1111 0000 1111左移3位,结果是:5分
二进制:1111 1000 0111 1000
十进制:63608
十六进制:F878
11. 假设二进制数(16位)0101 1111 0000 0000逻辑右移3位,结果是:5分
二进制:0000 1011 1110 0000
十进制3552
十六进制:DE0
12. 假设二进制数(16位)0101 1111 0000 0000算数右移3位,结果是:5分
二进制:0000 1011 1110 0000
十进制3552
十六进制:DE0
13. 假设二进制数(16位)1101 1111 0000 0000算数右移3位,结果是:5分
二进制:0001 1011 1100 0000
十进制:7140
十六进制:DF00
14. 请问以下代码输出的结果是
Int main()
{
Float sum = 0;
For( int I = 0; i< 100; i++)
{
Sum += 0.1;
}
Printf(“%f”,sum);
}
A: 10.0000000
B: 10.0000002
C: 不知道 // 不同编译器下(不同处理器…)可能结果不一样
D: 1.0000000
15. 内存为什么有地址,我们是通过什么计算出内存的大小的?5分
要访问内存中的值,必须通过地址来访问内存中每个地方的值,内存的大小通过地址线和数据线的数量来计算
计算方法:地址引脚*数据引脚
1B = 8位
1K = 1024B
1M = 1024K
1G = 1024M
…
16. 编程时读取和写入内存速度最快的数据结构是:4分
A: 数组
B: 栈
C: 队列
D: 链表
17. 请说明下上一题中几种数据结构的优势5分
数组:读取写入速度快
栈:便于记录查询和回溯
队列:便于对数据进行顺序操作
链表:便于进行插入和删除操作
18. 程序是在内存中执行的:4分
A: 对
B: 错
19. 所有的数据都是一直(包括关机时)存储在:4分
A: 内存
B: CPU
C: 硬盘
D: 我脑子里