试卷的讲解

2016-08-30

 

程序是如何运行的   试卷一

  1. CPU中不含有以下选项中的:答 : C

A:     运算器   

B:      寄存器

C:     内存

D:     时钟

  1. CPU中负责计时的部件是:答 : F

E:      程序计数寄存器

F:      时钟

G:     控制器

H:     靠人来计时

  1. 对于汇编以下说法正确的是: 答: J

I:       汇编需要编译成机器码

J:       汇编是助记符,和机器码一一对应

K:      汇编是给CPU看的

L:      编译器编译出来的是汇编

  1. 以下哪个寄存器名是错的: 答: D

A:     累加寄存器

B:      程序计数器

C:     标志寄存器

D:     控制寄存器

  1. 以下哪个说法是错误的:答 : C

A:     计算机能够执行分支是因为标志寄存器

B:      计算机能够执行循环是因为程序计数器

C:     控制器控制程序的分支及循环运行

D:     标志寄存器负责保存计算后结果的状态

  1. 请写出二进制,八进制,十进制,十六进制(9之后使用字母顺序)

二进制

八进制

十进制

十六进制

0000 0000

00

0

0x0000

0000 0001

01

1

0x0001

0000 0010

02

2

0x0002

0000 0011

03

3

0x0003

0000 0100

04

4

0x0004

0000 0101

05

5

0x0005

0000 0110

06

6

0x0006

0000 0111

07

7

0x0007

0000 1000

010

8

0x0008

0000 1001

011

9

0x0009

0000 1010

012

10

0x000A

0000 1011

013

11

0x000B

0000 1100

014

12

0x000C

0000 1101

015

13

0x000D

0000 1110

016

14

0x000E

0000 1111

017

15

0x000F

0001 0000

020

16

0x0010

0001 0001

021

17

0x0011

0001 0010

022

18

0x0012

0001 0011

023

19

0x0013

0001 0100

024

20

0x0014

 

  1. 请使用公式写出二进制数 011100001100000111000对应的十进制,需要解题步骤:

           答 :  0 1110 0001 1000 0011 1000

                               =2^3+2^4+2^5+2^11+2^12+2^17+2^18+2^19

                                                        =8+16+32+……

                                                        =923704

       老师举例是以16进制转换0 1110 0001 1000 0011 1000

                                                   0   E    1       8    3   8

                          =   8  + 3 * 16 + 8 * 16^2 + 1*16^3 + 14*16^4

 

  1. 假设一个32位带符号(有负数)的二进制数 0111 0010 1110 1111 0011 1111 0000 1100,请写出对应的十进制数

答:符号位为零,那么这个数字是正的 1928281868

 

 

  1. 假设一个32位带符号(有负数)的二进制数 1111 0010 0010 1111 0011 0110 0000 1100,请写出对应的十进制数                 

答:符号位为1,那么,这个数是负数的补码,那么就要先减去1取反,得出- 231786996

 

 

 

  1. 假设二进制数(16位)0101 1111 0000 1111左移3位,结果是:

二进制:1111 1000 0111 1000

十进制:63608

十六进制:F878

 

  1. 假设二进制数(16位)0101 1111 0000 0000逻辑右移3位,结果是:

二进制:0000 1011 1110 0000

十进制  3040

十六进制:BE0

 

 

 

  1. 假设二进制数(16位)0101 1111 0000 0000算数右移3位,结果是:

二进制:0000 1011 1110 0000

十进制   3040

十六进制:BE0

 

 

 

 

  1. 假设二进制数(16位)1101 1111 0000 0000算数右移3位,结果是:

二进制:1111 1011 1110 0000

十进制  -1071

十六进制: -42F

 

 

  1. 请问以下代码输出的结果是

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

 

答:C

 

  1. 内存为什么有地址,我们是通过什么计算出内存的大小的?

答:内存因为分成很多个的空间,所以要用地址标记,以方便存储

我们是通过内存地址引脚数乘以数据引脚数来得出内存大小

 

 

 

  1. 编程时读取和写入内存速度最快的数据结构是:  答:A

A:     数组

B:      栈

C:     队列

D:     链表

  1. 请说明下上一题中几种数据结构的优势

答:数组,读取速度快

栈,有记录,可回溯

链表:删除,插入,添加  速度快

队列:便于连续数据的操作。

 

 

  1. 程序是在内存中执行的: 答:A

A:     对

B:      错

  1. 所有的数据都是一直(包括关机时)存储在:C

A:     内存

B:      CPU

C:     硬盘

D:     我脑子里

posted on 2016-08-30 22:48  zzdoit  阅读(210)  评论(0编辑  收藏  举报

导航