4.7 同步练习

1. 下列程序段执行后,t5的结果是(  )。

  1. var t1 = 9, t2 = 11, t3=8
  2. var t4, t5 : Int
  3. t4 = t1 > t2 ? t1 : t2+t1
  4. t5 = t4 > t3 ? t4 : t3

A. 8   B. 20   C. 11   D. 9

2. 下列程序段执行后,b, x, y的值分别是(  )。

  1. var x=6,y=8
  2. var b : Bool
  3. b = x > y && x++ == --y

A. true, 6, 8   B. false, 7, 7   C. true, 7, 7   D. false, 6, 8

3. 下列执行程序段后,b, x, y的值分别是(  )。

  1. var x=6,y=8
  2. var b : Bool
  3. b = x++ == --y && x > y

A. true, 6, 8   B. false, 7, 7   C. true, 7, 7   D. false, 6, 8

4. 设有定义var x=3.5, y=4.6, z=5.7,则以下的表达式中,值为true的是(  )。

A. x > y || x > z   B. x != y   C. z > ( y + x )   D. x < y && !( x > z )

5. 下列程序段执行后,b3 的结果是(  )。

  1. var b1 = true, b2, b3 : Bool
  2. b3 = b1 ? b1 : b2

A. 0   B. 1   C. true   D. false   E. 无法编译

6. 下列关于使用“<<”和“>>”操作符的结果正确的是(  )。

A. 1010 0000 0000 0000 >> 4 的结果是0000 1010 0000 0000

B. 1010 0000 0000 0000 >> 4 的结果是1111 1010 0000 0000

C. 0000 1010 0000 0000 << 2 的结果是0010 1000 0000 0000

D. 0000 1010 0000 0000 << 2 的结果是0000 1010 0000 0000

7. 下列表达式中哪两个相对?

A. 16>>2   B. 16/2^2   C. 16*4   D. 16<<2

8. 下列程序段执行后,输出结果是(  )。

提示String是结构体,它是值类型。

  1. var a :String = "123", b :String = "123"
  2. println(a === b)
  3. a = b
  4. println(a === b)

A. false   B. false   C. true   D. true

  false     true     true     false

E. 编译错误

9. 下列程序段执行后,输出结果是(  )。

提示NSString是类,它是引用数据类型。

  1. var a :NSString = "123", b :NSString = "123"
  2. println(a === b)
  3. a = b
  4. println(a === b)

A. false   B. false   C. true   D. true   E. 编译错误

 false     true     true    false

  1. 下列程序段执行后,输出结果是(  )。
  1. var a1 :String = "123", b1 :String = "123"
  2. var a2 :NSString = "123", b2 :NSString = "123"
  3. println(a1 == b1)
  4. println(a2 !== b2)

A. false   B. false   C. true   D. true   E. 编译错误

 false     true     true    false