Files

4.2 KiB
Raw Blame History

C++ 逻辑运算符 课后习题

姓名: ___________________

一、 填空题

  1. C++ 中用来表示逻辑“与”的运算符是 __________,表示逻辑“或”的运算符是 __________,表示逻辑“非”的运算符是 __________。
  2. 逻辑与 && 的运算规则是:两个条件必须都为 true,结果才为 true,这叫做“__________,一假即为假”。
  3. 逻辑或 || 的运算规则是:只要有一个条件为 true,结果就为 true,这叫做“__________,全假才为假”。
  4. 在C++的逻辑判断中,整数 0 会被当作 __________ 来看待,而任何非零的整数(如 5、-10)都会被当作 __________ 来看待。
  5. 在 A && B 这个表达式中,如果 A 的值为 false,程序就不会再去计算 B 的值,这种现象叫做 __________。
  6. 运算符的优先级决定了计算顺序,逻辑运算符的优先级从高到低是:__________ > __________ > __________。
  7. 运算符优先级顺序的口诀是:非 > ______ > ______ > ______ > 或。

二、 单项选择题

(   ) 1. 执行 cout << ((5 > 3) && (2 < 1)); 这行代码,屏幕上会输出什么? A. true   B. false   C. 1   D. 0

(   ) 2. 执行 cout << ((10 == 9) || (3 != 4)); 这行代码,屏幕上会输出什么? A. 1   B. 0   C. true   D. false

(   ) 3. 表达式 !(-1) 的计算结果是什么? A. 1   B. 0   C. -1   D. 语法错误

(   ) 4. “年份 year 是闰年”的条件是“能被4整除但不能被100整除,或者能被400整除”。下列哪个表达式是正确的? A. year % 4 == 0 && year % 100 != 0 && year % 400 == 0 B. year % 4 == 0 || year % 100 != 0 && year % 400 == 0 C. (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) D. year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)

(   ) 5. 阅读以下代码,其输出结果是什么? cpp int a = 1, b = 0; cout << (a || b); ​ A. 0   B. 1   C. 2   D. a

(   ) 6. 阅读以下代码,执行后变量 y 的值是多少? cpp int x = 5, y = 10; bool result = (x > 1) || (y++ > 10); ​ A. 10   B. 11   C. 5   D. 1

(   ) 7. 阅读以下代码,执行后变量 y 的值是多少? cpp int x = 0, y = 10; bool result = (x > 1) && (y++ > 10); ​ A. 10   B. 11   C. 0   D. 1

(   ) 8. 下列表达式中,结果一定是 true (或 1) 的是?(假设 x 为 int 类型变量) A. x > 0 && x < 0   B. x > 100   C. !(x > 10)   D. x >= 20 || x < 20

(   ) 9. 根据运算符优先级,表达式 !true || false && true 的结果是? A. 1   B. 0   C. 无法计算   D. true

(   ) 10. int a = 10;,下列哪个表达式的结果是 false (或 0) ? A. a > 5   B. a > 5 || a < 1   C. ! (a == 5)   D. a > 1 && a < 10

三、 判断题 (对的打“√”,错的打“×”)

  1. 逻辑运算符 && 的优先级比 || 要高。 (   )
  2. 对于 int 型变量 a,表达式 !a 和 a == 0 在逻辑判断上是等价的。 (   )
  3. 在 C++ 中,5 < x < 10 这个表达式可以正确地判断 x 是否在 5 和 10 之间。 (   )
  4. 关系运算符(如 >、==)的优先级要低于逻辑运算符(如 &&)。 (   )
  5. 在表达式 A || B 中,如果 A 的计算结果为 true,那么计算机就必须再计算 B 的值才能确定最终结果。 (   )
  6. 以下代码执行后,会输出 1。 (   )
    int a = 1, b = 2, c = 3;
    cout << (a > b || c > b);
    
  7. 以下代码执行后,变量 b 的值会变成 11。 (   )
    int a = 0, b = 10;
    bool result = a && (b++);
    
  8. 表达式 !0 的计算结果是 1。 (   )
  9. cout << (true && false); 的输出结果是 0。 (   )
  10. 当我们想表达“两个条件中至少有一个满足”时,应该使用 || 运算符。 (   )