B、28
C、25
D、30
B.2
C.4
D.6
A、true
B、false
C、编译出错
D、抛出一个异常
B、021021
C、000122
D、012
A、0
B、1
C、2
D、3
某程序中有如下循环代码段P: for (i=0; i<n; 1 2 3 4 5 6 i++) sum+="A[i];" 假设编译时变量sum和i分别分配在寄存器r1和r2中。常量n在寄存器r6中,数组a的首地址在寄存器r3中,程序段p的起始地址为08048100h,对应汇编代码和机器代码如下表所示: 编号 地址 机器码 汇编码 操作注释 08048100h 00022080h loop: sll r4,r2,2 08048104h 00083020h add r4,r4,r3 (r4)+(r3)→r4 08048108h 8c850000h load r5,0(r4) ((r4)+0)→r5 0804810ch 00250820h r1,r1,r5 (r1)+(r5)→r1 08048110h 20420001h addi r2,r2,1 (r2)+1→r2 08048114h 1446fffah bne r2,r6,loop if (r2) ≠ (r6) goto loop 如果执行上述代码的计算机采用32位定长指令字,其中的分支指令bne格式如下: 31:26 25:21 20:16 15:0 op rs rd offset 其中的op为操作码,rs和rd为寄存器编号,offset为偏移量(用补码表示),请回答下列问题: 计算机的存储器编址单位是( ) a. 8位 b. 16位 c. 32位 d. 64位>
A.331
B.41
C.2
D.1
面试官:看你简历上写的是精通C/C++语言,这两门语言你用了几年了?
应聘者:从大一算起的话,快六、七年了。
面试官:也是C/C++的老程序员了嘛(微笑),那先问一个C++的问题(递给应聘者一张A4纸,上面有一段打印的代码,如下面所示)。你能不能分析一下这段代码的输出?
class A
{
private:
int n1;
int n2;
public:
A():n2 (0), nl (n2+2)
{
} void Print()
{
std::cout$amp; {
num=num*10十 (*digit - ' 0');
digit++;
}
else
{
num=0;
break;
}
}
if(*digit=='\0')
{
g nStatus=kValid;
if (minus)
num=0 - n um;
}
}
return num;
}
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!