csp考试选择题+程序题,模拟

程序:

  1. 下列哪个选项可以正确地声明和定义一个整型变量? A. int x; B. integer x; C. x int; D. var x;

    答案:A. int x;

  2. 下面哪个选项是正确的函数调用方式? A. functionName(); B. functionName; C. functionName[]; D. functionName{};

    答案:A. functionName();

  3. 下面哪个选项可以输出到控制台? A. print(); B. cout(); C. System.out.println(); D. std::cout << "";

    答案:D. std::cout << "";

  4. 以下哪个选项可以读取用户输入的整数? A. input(); B. cin(); C. system.in.read(); D. std::cin >> ;

    答案:D. std::cin >> ;

  5. 在C++中,以下哪个选项可以用来表示逻辑或(OR)操作? A. && B. || C. ! D. &

    答案:B. ||

  6. 下面哪个选项是正确的if语句写法? A. if (x > 5) then { ... } B. if x > 5 { ... } C. if x > 5 then { ... } D. if (x > 5) { ... }

    答案:D. if (x > 5) { ... }

  7. 以下哪个选项可以用来循环执行代码块? A. for B. until C. switch D. if

    答案:A. for

  8. 下面哪个选项是C++中的合法数组声明方式? A. int array[10]; B. array[10] int; C. array[int]; D. int[10] array;

    答案:A. int array[10];

  9. 在C++中,以下哪个选项表示类的成员函数? A. function() B. method() C. member_function() D. class_function()

    答案:B. method()

  10. 下面哪个选项可以用来动态分配内存? A. new B. malloc C. alloc D. create

    答案:A. new

数学: 

  1. 问题:将 72 分解为质数的乘积。 答案:72 = 2 * 2 * 2 * 3 * 3。

  2. 问题:计算等差数列的通项公式和前 n 项和,已知首项 a = 3,公差 d = 2。 答案:通项公式为 an = 3 + (n - 1) * 2,前 n 项和为 Sn = (n/2) * (2a + (n - 1)d)。

  3. 问题:计算等比数列的通项公式和前 n 项和,已知首项 a = 2,公比 r = 3。 答案:通项公式为 an = 2 * (3^(n - 1)),前 n 项和为 Sn = (a * (r^n - 1)) / (r - 1)。

  4. 问题:计算 √25 的值。 答案:√25 = 5。

  5. 问题:计算立方根 ∛27 的值。 答案:∛27 = 3。

  6. 问题:计算 A(4, 2) 的值。 答案:A(4, 2) 表示从 4 个元素中选取 2 个元素的排列数,计算公式为 A(4, 2) = 4! / (4-2)! = 12。

  7. 问题:计算 C(5, 3) 的值。 答案:C(5, 3) 表示从 5 个元素中选取 3 个元素的组合数,计算公式为 C(5, 3) = 5! / (3! * (5-3)!) = 10。

  8. 问题:计算 12 和 18 的最大公约数和最小公倍数。 答案:最大公约数为 6,最小公倍数为 36。

  9. 问题:计算数列 1 + 3 + 5 + 7 + ... 的前 n 项和。 答案:等差数列公式可得 Sn = (n/2) * (a + an) = (n/2) * (1 + (2n - 1)) = n^2。

  10. 问题:计算 sin(30°) 的值。 答案:sin(30°) = 0.5。

 ⭐程序题:

模拟填空题:

  1. 填写空缺的代码,使程序输出指定结果(7)。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
    int n;
    cin >> ____①____;
    vector<int> a(____①____);
    for (int i = 0; i < ____①____; i++) {
        cin >> a[____②____];
    }
    sort(a.____③____, a.____③____ + ____①____);
    int sum = 0, p = ____①____ >> 1;
    for (int i = 0; i < ____①____; i++) {
        sum += abs(a[i] - a[____④____]);
    }
    cout << ____⑤____ << endl;
    return 0;
}

答案:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
    int n;
    cin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    sort(a.begin(), a.end());
    int sum = 0, p = n >> 1;
    for (int i = 0; i < n; i++) {
        sum += abs(a[i] - a[p]);
    }
    cout << sum << endl;
    return 0;
}

  1. 判断下列说法是否正确。
  • 程序中使用了 vector 容器来存储输入的数据。(√)
  • 程序中没有使用循环语句。(×)
  • 程序可以处理输入数据中有相同元素的情况。(√)

模拟阅读题:

假设所有输入均为不大于100的正整数,完成下列单选题。

  1. 下面哪个函数可以对 vector 容器进行排序?

A. sort

B. reverse

C. unique

D. lower_bound

答案:A

解析:sort()函数可以对容器的元素进行排序,reverse()函数可以将容器中的元素倒序排列,unique()函数可以去除容器中的相邻重复元素,lower_bound()函数可以在有序容器中查找第一个大于等于指定值的元素的迭代器。

  1. 在程序中,变量 p 的作用是什么?

A. 存储输入数据中的中位数。

B. 存储输入数据中的最大值。

C. 存储输入数据中的最小值。

D. 存储输入数据中的平均值。

答案:A

解析:程序中使用变量 p 来存储数组中的中位数,用来计算数组中所有元素与中位数之差的绝对值之和。程序中使用了位运算符 >> 来计算 p 的值,其等价于整数除以 2 的结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源来源于网络,如有侵权,私信立删。 CSP-J/S第一轮时间 CSP-J/S第一轮分为:CSP-J1和CSP-S1。和NOIP第一轮时间一样,CSP-J/S第一轮认证在10月份第三个星期六进行。 CSP-J/S第一轮考察重点 第一轮认证为笔试或机试,主要测试选手有关计算机方面的基本知识,第一轮为资格测试。从2020年开始,全部为机试。 CSP-J/S第一轮报名方式 参加CSP-S/J两组两轮认证均须在网上注册报名,注册网站为http://rg.noi.cn。参加认证者必须如实填写个人信息报名,包括但不限于姓名、身份证号、出生日期、性别、就学(学籍学校)/就职单位等,信息一旦注册,不得修改,如有错误,责任自负。 CSP-J/S第一轮认证考点 省认证点由CCF授权的CSP非专业级别省认证组织单位设置。 1、第一轮认证点:由省认证组织单位总负责人设置,每个认证点人数不应少于20人。 2、未经批准的认证点,其认证成绩不予承认。 认证费用 第一轮CSP-S/J组:50元/人(该费用不包括食宿及交通费)。 CSP-J/S第一轮认证试组成 CSP-J/S第一轮在10月份第三个星期六进行,其中CSP-J1认证时间为周六9:30-11:30,CSP-S1认证时间为周六14:30-16:30。考试时长为2小时,内容为笔试或机试(从2020年开始全部为机试),满分100分。 试由三部分组成: ① 选择题(共15,每2分,共计30分) CSP-S1的前10道为单选,后10道为不定项选择题(只有全部选对才得分,否则不得分);CSP-J1的前15道都是单选。 ② 程序阅读理解(共3,共计40分) 目给出一段程序(不一定有关于程序功能的说明),考生通过阅读理解该段程序进行答,分为选择题和判断。 ③ 程序完善(共3,共计30分) 目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若干个语句或语句的一部分并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,选择对应答案 。三皆为选择题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值