2022年CSP-J初赛真题及答案解析(阅读程序1)

2022年CSP-J初赛真题及答案解析(阅读程序1)

2022年CSP-J初赛真题及答案解析(阅读程序1)

第 1 题

01#include<iostream>0203usingnamespacestd;0405intmain()06{07unsignedshortx,y;08cin>>x>>y;09x=(x|x<<2)&0x3310x=(x|x<<1)&0x5511y=(y|y<<2)&0x3312y=(y|y<<1)&0x5513unsignedshortz=x|y<<114cout<<z<<endl;15return016}

假设输入的 x,y 均是不超过 15 的自然数,完成下面的判断题和单选题:

判断题

  1. 删去第 7 行与第 13 行的 unsigned,程序行为不变。
  2. 将第 7 行与第 13 行的 short 均改为 char,程序行为不变。
  3. 程序总是输出一个整数“0”。
  4. 当输入为 2 2 时,输出为 10。
  5. 当输入为 2 2 时,输出为 59。
    单选题
  6. 当输入为 13 8 时,输出为( )。
    A. 0
    B. 209
    C. 197
    D. 226

答案

  1. A(正确)
  2. B(错误)
  3. B(错误)
  4. B(错误)
  5. B(错误)
  6. B(209)

解析
程序将两个数的低 4 位进行某种位交错。第9-12行是对每个数进行位扩展,第13行将 y 左移1位后与 x 按位或,相当于把 x 的位放在奇数位,y 的位放在偶数位(从0开始)。输入 2 (0010) 和 2 (0010) 处理后得到二进制 001100,即12,所以4、5错。输入 13 (1101) 和 8 (1000) 处理后得到 209 (11010001),验证正确。


更多内容请关注专栏:信奥赛C++普及组csp-j初赛&复赛真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转


【秘籍汇总】(完整csp信奥赛C++学习资料):

1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):

https://edu.csdn.net/lecturer/7901 点击跳转

2、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

https://edu.csdn.net/course/detail/41081 点击跳转

3、csp信奥赛高频考点知识详解及案例实践:

CSP信奥赛C++动态规划:
https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转

CSP信奥赛C++标准模板库STL:
https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转

信奥赛C++提高组csp-s知识详解及案例实践:
https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转

4、csp信奥赛冲刺一等奖有效刷题题解:

信奥赛C++普及组CSP-J一等奖通关刷题题单及题解:
https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转

信奥赛C++普及组csp-j初赛&复赛真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转

5、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转


GESP(C++ 七级+八级)真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转

· 文末祝福 ·

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}