C_TA_Website/source/_posts/answer1.md
2020-10-30 13:59:49 +08:00

1.4 KiB

title date tags
第一次作业(答案) 2020-10-30 09:53:13

第一题

写出下列程序运行的结果:

sizeof: 4, a = 61, b = 62
sizeof: 1, c1 = a, c2 = b
sizeof: 4, d = 3.56  , e = -6.78
sizeof: 8, f = 3157.890121    , g = 0.123456789000
sizeof: 4, m = 50000, n = -60000
sizeof: 4, p = 32768, q = 4000

有些同学可能遇到警告:"printf": 格式字符串"%d"需要类型"int"的参数,但可变参数 1 拥有了类型"size_t",这是因为sizeof()的类型是size_t而非int,在printf()中与%d的类型不匹配。可以尝试%zu(C99标准及以后)或%lu(ANSI C标准)。

第二题

9, 11, 9, 10

第三题

# 表达式 变量的值 结果
1 3.5 + 1 / 2 + 56 % 10 9.5
2 (a++ * 1 / 3) a = 2 0
3 x + a % 3 * (int)(x + y) % 2 / 4 x = 2.5, a = 7, y = 4.7 2.5
4 (float)(a + b) / 2 + (int)x % (int)y 设a = 2, b = 3, x = 3.5, y = 2.5 3.5
5 x = (x = ++y, x + 5, x / 5) x = 3, y = 4 1

第五题

写出下面表达式运算后a的值,设原来a = 12。

  1. 24
  2. 60
  3. 0
  4. 0