右移运算符 (>>) 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

posted @ 2025-08-31 15:32  量子我梦  阅读(12)  评论(0)    收藏  举报