C语言内涵教程练习2参考答案.docVIP

  • 18
  • 0
  • 约5.89千字
  • 约 8页
  • 2017-08-13 发布于北京
  • 举报
练习二 2.1 答:语句short j = 50000;在语法上虽然没有问题,可以理解为把整数50000赋值给short型变量j,但实际上它是有问题,因为变量j的了取值范围为-32768至32767,它的值不可能为50000。 程序的输出结果为: 分析: 以短整型有符号数的方式输出变量j的实际值时,结果为-15536,与所赋值50000相差甚远。 2.2 答:计算机中的数据都是编码后的数据,实际上全部为01串,因此,不同类型的数据相互赋值时至少在形态上没有任何障碍。可以用负数给不能取负值的无符号整型变量赋值。 程序的输出结果为: 分析: 以无符号短整型的方式输出变量j的实际值时,结果为65535,可见它的存储状态为16个1,而-1在计算机中的存储状态为32个1,因此,赋值操作使得变量j与-1的2个字节保持了一致。 2.3 0xac=10×16+12=172  0253=2×82+7×8+3=171   -027=-(2×8+7)=-23  -0x20=-(2×16)=-32 升序排列为-0x20-02716902530xac 2.4 (一) 分析:scanf函数要求用户输入三个有符号十进制整数,因此,它不会把-023中的0看作是八进制的标志,它把-0x23中的x看作是非法字符从而提前结束匹配认为用户输入了-0。 (二) 分析:替换之后,scanf函数要求用户输入一个有符号十进制整数

文档评论(0)

1亿VIP精品文档

相关文档