#L0003. 语法基础汇总——2019~2025 CSP-J初赛

语法基础汇总——2019~2025 CSP-J初赛

  1. (2019年第2题)二进制数 11 1011 1001 0111\text{11 1011 1001 0111}01 0110 1110 1011\text{01 0110 1110 1011} 进行按位与运算的结果是()。

{{ select(1) }}

  • 01 0010 1000 1011\text{01 0010 1000 1011}
  • 01 0010 1001 0011\text{01 0010 1001 0011}
  • 01 0010 1000 0001\text{01 0010 1000 0001}
  • 01 0010 1000 0011\text{01 0010 1000 0011}
  1. (2019年第4题)若有如下程序段,其中 sabc 均已定义为整型变量,且 ac 均已赋值(c 大于 00
s = a;
for (b = 1; b <= c; b++) s = s - 1;

则与上述程序段功能等价的赋值语句是()

{{ select(2) }}

  • s = a - c;
  • s = a - b;
  • s = s - c;
  • s = b - c;
  1. (2020年第3题)设 x=true,y=true,z=false,以下逻辑运算表达式值为真的是( )。

{{ select(3) }}

  • (y∨z)∧x∧z
  • x∧(z∨y) ∧z
  • (x∧y) ∧z
  • (x∧y)∨(z∨x)
  1. (2022年第3题)运行以下代码片段的行为是( )。
int x = 101;
int y = 201;
int *p = &x;
int *q = &y;
p = q;

{{ select(4) }}

  • xx 的值赋为 201201
  • yy 的值赋为 101101
  • qq 指向 xx 的地址
  • pp 指向 yy 的地址
  1. (2022年第14题)一个字符串中任意个连续的字符组成的子序列称为该字符串的子串,则字符串 abcab\tt abcab 有( )个内容互不相同的子串。

{{ select(5) }}

  • 1212
  • 1313
  • 1414
  • 1515
  1. (2023年第1题)在 C++ 中,下面哪个关键字用于声明一个变量, 其值不能被修改?

{{ select(6) }}

  • unsigned
  • const
  • static
  • mutable
  1. (2023年第3题)阅读下述代码,请问修改 datavalue 成员以存储 3.143.14,正确的方式是
union Data{
    int num;
    float value;
    char symbol;
};
union Data data;

{{ select(7) }}

  • data.value = 3.14;
  • value.data = 3.14;
  • data -> value = 3.14;
  • value->data = 3.14;
  1. (2024年第6题)以下哪个不是 C++ 中的基本数据类型?( )

{{ select(8) }}

  • int
  • float
  • struct
  • char
  1. (2024年第7题)以下哪个不是 C++ 中的循环语句?( )

{{ select(9) }}

  • for
  • while
  • do-while
  • repeat-until
  1. (2024年第8题)在 C/C++ 中,(char)('a' + 13) 与下面的哪一个值相等?( )

{{ select(10) }}

  • 'm'
  • 'n'
  • 'z'
  • 'l'
  1. (2025年第2题)在 C++ 中,执行 int x = 255; cout << (x & (x - 1)); 后,输出的结果是?

{{ select(11) }}

  • 255255
  • 254254
  • 128128
  • 00
  1. (2025年第7题)假设 a,b,ca, b, c 都是布尔变量,逻辑表达式 (a && b) || (!c && a) 的值与下列哪个表达式不始终相等?

{{ select(12) }}

  • a && (b || !c)
  • (a || !c) && (b || !c) && (a || a)
  • a && (!b || c)
  • !(!a || !b) || (a && !c)
  1. (2025年第9题)下列关于 C++ string 类的说法,正确的是?

{{ select(13) }}

  • string 对象的长度在创建后不能改变。
  • 可以使用 + 运算符直接连接一个 string 对象和一个 char 类型的字符。
  • string 的 length() 和 size() 方法返回的值可能不同。
  • string 对象必须以 '\0' 结尾,且这个结尾符计入 length()。
  1. (2025年第10题)考虑以下 C++ 函数:
void solve(int &a, int b) {
    a = a + b;
    b = a - b;
    a = a - b;
}
int main() {
    int x = 5, y = 10;
    solve(x, y);
}

在 main 函数调用 solve 后,xxyy 的值分别是?

{{ select(14) }}

  • 5,105,10
  • 10,510,5
  • 10,1010,10
  • 5,55,5