15运算符优先级与结合性(练习)-《C#程序设计基础》(河海大学出版社)同步精品课堂
1. 在C#中,表达式2.5 + (3 / 2) * 2的结果是?( )
A. 4.5 B. 5.5 C. 6.5 D. 7.5
1. A
【解析】括号内的除法运算3/2=1(注意:C#中整数相除得到的结果也是整数,小数部分被截断),表达式2.5+(3/2)*2=2.5+1*2=4.5。
2. 在C#语言中,下面的运算符中,优先级最高的是( )。
A. % B. ++ C. *= D. >
2. B
【解析】略。
- 假设a = 5, b = 3, c = 2,那么以下哪个表达式的值最大?( )。
A. a + b * c
B. (a + b) * c
C. a * (b + c)
D. a + (b * c)
3. B
【解析】根据运算符优先级,乘法运算先于加法运算。选项A中的表达式a + b * c实际上计算为5 + 3 * 2 = 5 + 6 = 11。选项B中的表达式(a + b) * c计算为(5 + 3) * 2 = 8 * 2 = 16,这是这些选项中最大的值。选项C和D的计算结果分别为a * (b + c) = 5 * (3 + 2) = 5 * 5 = 25和a + (b * c) = 5 + (3 * 2) = 5 + 6 = 11,但选项C的表达式有误,因为正确的计算应该是5 * (3 + 2) = 25,而不是15。因此,根据原始选项,正确答案是B。
4. 在C#中,以下哪个表达式将返回true?( )
A. 5 > 3 && 2 < 1
B. 5 <> 5 || 2 < 1
C. !(5 == 3)
D. 5 != 3 && !(2 == 2)
4. C
【解析】选项A中的表达式5 > 3 && 2 < 1会返回false,因为2 < 1是false。选项B中的表达式5 <> 5 || 2 < 1会返回false,因为5 > 3和2<1均是false,但题目要求的是整个表达式返回true,而2 < 1是false,因此整个表达式的结果取决于||运算符的短路求值,这里也返回true,但它不是唯一正确的选项。选项C中的表
学科网(北京)股份有限公司