单选题
1、第190题 (1.0分) 题号:696 设 int b=2;表达式(b>>2)/(b>>1)的值是()。
A
0
B
2
C
4
D
8
答案解析
正确答案:A
解析:
**解析:**
本题考查 C 语言中的位运算和整数除法。
1. **分析变量初始值**:
`int b = 2;`
在二进制中,`2` 表示为 `...0000 0010`(假设是32位或更多位整数,高位补0)。
2. **计算 `(b >> 2)`**:
`>>` 是右移运算符。`b >> 2` 表示将 `b` 的二进制位向右移动 2 位。
`2` 的二进制是 `10`。
右移 1 位变成 `1` (即 `...0000 0001`)。
再右移 1 位(共2位)变成 `0` (即 `...0000 0000`)。
所以,`b >> 2` 的结果是 **0**。
3. **计算 `(b >> 1)`**:
`b >> 1` 表示将 `b` 的二进制位向右移动 1 位。
`2` 的二进制是 `10`。
右移 1 位变成 `1` (即 `...0000 0001`)。
所以,`b >> 1` 的结果是 **1**。
4. **计算最终表达式**:
原表达式变为:`(0) / (1)`
即 `0 / 1`。
在整数除法中,0 除以任何非零整数结果均为 0。
5. **结论**:
表达式的值为 **0**。
故正确答案为 **A**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第69题 (1.0分) 题号:704 变量的指针,其含义是指该变量的()。
单选题
1、第68题 (1.0分) 题号:105 以下运算符中,优先级最高的运算符是()。
单选题
1、第67题 (1.0分) 题号:584 设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为()。
单选题
1、第66题 (1.0分) 题号:146 用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。 long a=0xffffff; int b; char c;
单选题
1、第65题 (1.0分) 题号:636 若二维数组a有m列,则在a[i][j]前的元素个数为()。
单选题
1、第64题 (1.0分) 题号:659 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。
单选题
1、第63题 (1.0分) 题号:524 与实际参数为实型数组名相对应的形式参数不可以定义为()。
单选题
1、第62题 (1.0分) 题号:570 以下叙述不正确的是()。
单选题
1、第61题 (1.0分) 题号:212 C语言中的文件类型只有()。
单选题
1、第60题 (1.0分) 题号:674 以下错误的描述是:函数调用可以()。
