右移运算符 (>>) a >> n 表示将a的二进制位向右移动n位 右移相当于除以2^n(对于正数) 1 >> 2 = 1 ÷ 4 = 0(整数除法)
C程序执行分析
程序代码
#include <stdio.h>
void main()
{
int a = 1, b;
b = (a >> 2) % 3;
printf("%d,%d", a, b);
}
逐步执行分析
第1步:变量初始化
int a = 1, b;- a 被初始化为 1
- b 声明但未初始化
第2步:计算表达式 b = (a >> 2) % 3
2.1 右移运算 a >> 2
- a = 1 的二进制表示:
00000001 - 右移2位:
00000000 - 结果:0
2.2 取模运算 0 % 3
- 0 除以 3 的余数是 0
- 所以 b = 0
第3步:输出结果
printf("%d,%d", a, b);- a = 1, b = 0
- 输出:
1,0
关键知识点
右移运算符 (>>)
a >> n表示将a的二进制位向右移动n位- 右移相当于除以2^n(对于正数)
- 1 >> 2 = 1 ÷ 4 = 0(整数除法)
取模运算符 (%)
a % b返回a除以b的余数- 0 % 3 = 0
答案
程序运行后的输出结果是:1,0
对应选项 C. 1,0

浙公网安备 33010602011771号