本次作业链接如下:
1.在C语言中,表达式 `7 / 2` 的结果是多少?
- A) 3.5
- B) 3
- C) 4
- D) 编译错误
答案:B) 3
解析:
在C语言中,当两个整数进行除法运算时,结果也是整数。这里的 `7 / 2` 实际上是整数除法,结果中的小数部分会被舍去,所以结果是 3。
2.表达式 `7.0 / 2` 的结果是多少?
- A) 3.5
- B) 3
- C) 4
- D) 编译错误
答案:A) 3.5
解析:
当参与除法的数中至少有一个是浮点数时,C语言执行浮点除法。这里 `7.0` 是浮点数,所以 `7.0 / 2` 的结果是 3.5。
3.`++i` 和 `i++` 有什么区别?
- A) 没有区别
- B) `++i` 先增加后返回,`i++` 先返回后增加
- C) `++i` 先返回后增加,`i++` 先增加后返回
- D) 语法错误
答案:B) `++i` 先增加后返回,`i++` 先返回后增加
解析:
`++i`(前缀递增)首先增加 `i` 的值,然后返回新值。而 `i++`(后缀递增)首先返回当前 `i` 的值,然后增加 `i` 的值。
4.在C语言中,`!=` 和 `==` 是哪类操作符?
- A) 算术操作符
- B) 关系操作符
- C) 逻辑操作符
- D) 赋值操作符
答案:B) 关系操作符
解析:
`!=`(不等于)和 `==`(等于)都是关系操作符,用于比较两个值的关系。
5.以下哪个操作符的优先级最高?
- A) +
- B) *
- C) ==
- D) =
答案:B) *
解析:
在C语言中,乘法操作符 `*` 的优先级高于加法 `+`、赋值 `=` 和相等比较 `==`。
6.表达式 `5 > 3 && 2 || 8 < 4` 的结果是?
- A) 0
- B) 1
- C) 编译错误
- D) 逻辑错误
答案:B) 1
解析:
此表达式使用了逻辑与 `&&` 和逻辑或 `||`。首先计算 `5 > 3`(真),然后 `2`(非零,因此真),因此 `5 > 3 && 2` 是真。`8 < 4` 是假,但由于逻辑或 `||` 的存在,整个表达式为真。在C中,真用 1 表示。
7.在C语言中,哪个操作符用于取模(即求余数)?
- A) %
- B) /
- C) *
- D) &
答案:A) %
8.以下代码的输出是什么?
cs
int i = 5;
printf("%d", i++ + ++i);
A) 10
-
B) 11
-
C) 12
-
D) 13
答案:C) 12
解析:
在表达式 `i++ + ++i` 中,`i++` 先返回 `i` 的当前值(5),然后 `i` 变成 6。接下来 `++i` 将 `i` 增加到 7,然后返回新值(7)。因此,表达式等于 5 + 7 = 12。
9.以下哪个不是C语言的算术操作符?
- A) +
- B) -
- C) *
- D) &&
答案:D) &&
解析:
`&&` 是逻辑与操作符,不是算术操作符。其余 `+`(加法)、`-`(减法)、`*`(乘法)都是算术操作符。
10.哪个表达式的结果是布尔值?
- A) 5 + 3
- B) 5 == 3
- C) 5 / 3
- D) 5 % 3
答案:B) 5 == 3
解析:
`5 == 3` 是一个比较表达式,结果是布尔值。在这个例子中,由于 5 不等于 3,结果为假(在C中用 0 表示)。其他选项是算术表达式,结果是数值。
这些问题覆盖了C语言中的基本算术操作符和关系操作符的使用,以及一些基本的编程概念。