信奥AC之路-1级
-
第1课 开发环境与基础输出5 主题|小节
-
第2课 算术运算符7 主题|小节
-
第3课 printf与运算输出7 主题|小节
-
第4课 数的进制与拆位6 主题|小节
-
第5课 变量与基础运算17 主题|小节
-
第6课 常量与取整运算8 主题|小节
-
第7课 关系运算8 主题|小节
-
第8课 逻辑运算9 主题|小节
-
第9课 输入与计算进阶10 主题|小节
-
第10课 if语句及双分支语句8 主题|小节
-
第11课 if语句及双分支进阶11 主题|小节
-
第12课 三目运算9 主题|小节
-
第13课 多分支、多if和switch语句11 主题|小节
-
第14课 循环(基本输出)7 主题|小节
-
第15课 循环(While+If)8 主题|小节
-
第16课 循环(计数、求和、求乘积)10 主题|小节
-
第17课 循环进阶(While+)8 主题|小节
-
第18课 do-while及while其他用法8 主题|小节
-
第19课 For循环基础9 主题|小节
-
第20课 For循环进阶8 主题|小节
“小朋友们,为了帮助你们更好地掌握三目运算的知识,让我们来做一些练习题,”我说,”这些题目会从不同角度测试你们对三目运算的理解。”
选择题
第1题:下面C++代码执行后输出是( )。
int a = 5, b = 3;
cout << (a > b ? a : b);
A. 3 B. 5 C. 8 D. 2
答案:B
解析: 条件a > b为真(5大于3),所以表达式的值为a,即5。
第2题:下面C++代码执行后输出的是( )。
int x = 10;
cout << (x % 2 == 0 ? "偶数" : "奇数");
A. 偶数 B. 奇数 C. 10 D. 不输出
答案:A
解析: x % 2 == 0判断x是否为偶数。10是偶数,所以条件为真,输出”偶数”。
第3题:下面C++代码执行后输出的是( )。
int a = 3, b = 4, c = 5;
cout << (a > b ? a > c ? a : c : b > c ? b : c);
A. 3 B. 4 C. 5 D. 编译错误
答案:C
解析: 这是嵌套的三目运算。a > b为假,所以计算b > c ? b : c。b > c也为假,所以表达式的值为c,即5。
第4题:下面C++代码执行后的结果是( )。
int a = 2, b = 3;
int c = a < b ? a++ : b++;
cout << a << " " << b << " " << c;
A. 2 3 2 B. 3 3 2 C. 2 4 3 D. 3 4 2
答案:B
解析: a < b为真,所以c = a++,c的值为2,a递增为3。b保持不变。所以输出”3 3 2″。
第5题:下面C++代码中,三目运算等价于( )。
int max = a > b ? a : b;
A.
int max;
if(a > b)
max = a;
else
max = b;
B.
int max;
if(a > b)
max = b;
else
max = a;
C.
int max = a;
if(a > b)
max = b;
D.
int max = b;
if(a > b)
max = a;
答案:A
解析: 三目运算等价于if-else结构,当条件a > b为真时赋值a,为假时赋值b。
判断题
第1题:三目运算符(?:)在C++中可以嵌套使用。( )
答案:正确
解析: 三目运算符可以嵌套使用,但过度嵌套会降低代码的可读性。
第2题:三目运算符(?:)的优先级高于赋值运算符(=)。( )
答案:正确
解析: 三目运算符的优先级高于赋值运算符,但低于输出运算符。
第3题:三目运算 a ? b : c 中,无论条件如何,b和c都会被计算。( )
答案:错误
解析: 三目运算是短路求值的,只有被选中的表达式会被计算。
第4题:三目运算可以完全替代所有的if-else语句。( )
答案:错误
解析: 三目运算只适合简单的条件判断和赋值,不能替代需要执行多条语句的if-else结构。
第5题:表达式 x = a > b ? a : b 等价于使用max函数求两数中的较大值。( )
答案:正确
解析: 这个表达式的功能确实等同于x = max(a, b),都是求两数中的较大值。