pta理论题练习遇到困惑

1.. 下列程序的输出结果是

#include 
void f(int v, int w) {
  int t;
  t = v; v = w; w = t;
}
int main()
{
  int x = 1, y = 3, z = 2;
  if (x > y)f(x, y);
  else if (y > z)f(y, z);
  else f(x, z);
  printf("%d, %d, %d\n", x, y, z);
  return 0;
}

答案:132
求解释

2.这是考察什么内容呀?答案是6和几?

#include

int x=3;

void fun1( void)

{ int  x=6;
  printf("%d  ",x);
}
int main( )

{ x++;

fun1( );

printf("%d",x);

return 0;
}

3.实数的存储格式
计算机中的实数采用二进制科学计数法。如:−1.00101011101×10 −101 。
实数的存储格式分为三部分:分别是?

1.修改形参的值不会改变实参,所以函数f不管执行多少次都不改变原始值,外面的if,else完全是在迷惑人的
2.这是在考察同名变量的作用域问题,你把函数里面的x用y代替,就非常清楚了
3.这种题非常无聊,尽量别在上面消耗时间,考试大概率也不会考,大体了解了就行,对你实际编程作用不大

该回答引用GPTᴼᴾᴱᴺᴬᴵ

  1. 程序输出结果为 1, 3, 2。首先根据条件语句,执行第二个条件语句,即执行 f(y, z) 函数,交换 y 和 z 的值,此时 x = 1, y = 2, z = 3。然后输出 x, y, z 的值,即 1, 2, 3。
  2. 这段代码考察了变量作用域和全局变量。函数 fun1 中定义了一个局部变量 x,并将其赋值为 6,然后输出 x 的值,即 6。在主函数中,全局变量 x 的值增加了 1,即 x = 4,然后输出 x 的值,即 4。因此程序输出结果为 6, 4。
  3. 实数的存储格式包括三个部分:符号位、指数部分和尾数部分。其中,符号位用于表示实数的正负性,指数部分用于表示实数的数量级和精度,尾数部分用于表示实数的有效数字。在二进制科学计数法中,指数部分和尾数部分都用二进制表示。例如,-1.00101011101×10^-101 的符号位为负号,指数部分为 -101,尾数部分为 1.00101011101。