一、单选
1. 80x86中,十进制数-3用16位二进制数表示为?
解答: 0xFFFD. 数据在计算机里用补码表示,正数的补码为其原码,不变,负数的值为其补码求反加一。最高位为符号位。
因此,可以这样计算,3减去1,等于2,然后取反,则得到-3的补码。
2. 假定符号-、*、$分别代表减法、乘法和指数运算,且
三个运算符优先级顺序是:- 最高,*其次,$最低;
运算符运算时为左结合。请计算3-2*4$1*2$3的值:
(A)4096,(B)-61,(C)64,(D)-80,(E)512
解答:-优先级最高,表达式从左到右计算,先运算3-2,得到1,然后乘以4,得四。由于$d的优先级最低,所以
接着计算1×2,为2.最后表达式为4$2$3.从左到右计算,为4的2次方,得到16,再3次方,得到4096.
3.下列伪代码 中,参数是引用传递,结果是?
calc(double p, double q, double r)
{
q=q-1.0;
r=r+p
}
main(
{
double a = 2.5, b = 9.0;
calc(b-a, a, a)