选择题 共10道

01 02 03 04 05 06 07 08 09 10


判断题 共10道

11 12 13 14 15 16 17 18 19 20


编程题 共2道

21 22

E1002 CIE电子学会-202603-C++四级真题-练习

选择题 共10道
01 已知int x = 10;,要让指针p指向x,以下写法正确的? 2分
登录后查看选项
02

执行以下代码,输出结果?

int a = 20;
int *p = &a;
*p = 30;
cout << a;
2分
登录后查看选项
03 以下关于C++结构体的说法,错误的? 2分
登录后查看选项
04

有结构体定义如下,访问结构体变量s的age成员,写法正确的?

struct Student{
  string name;
  int age;
};
Student s;
2分
登录后查看选项
05 将二进制数1010转换为十进制数,结果? 2分
登录后查看选项
06 C++表达式5 & 3的计算结果? 2分
登录后查看选项
07 以下排序算法中,平均时间复杂度为O(n log n)的? 2分
登录后查看选项
08 以下关于排序算法稳定性的说法,正确的? 2分
登录后查看选项
09 在用数组实现高精度加法时,若从数组下标 0 开始存储数字,通常选择将最低位存储在下标 0 处。这样设计的主要原因? 2分
登录后查看选项
10 两个长度为n和m的大整数相加,结果的最大长度? 2分
登录后查看选项
判断题 共10道
11 32位系统中,int类型指针占用4个字节的内存空间。 2分
登录后查看选项
12 空指针NULL可以被解引用,不会出现运行错误。 2分
登录后查看选项
13 C++ 中,结构体的成员变量必须全部是 public 的,不能设置为 private 或 protected。 2分
登录后查看选项
14 相同类型的结构体变量之间可以直接用=进行赋值。 2分
登录后查看选项
15 冒泡排序的最坏时间复杂度是O(n2)。 2分
登录后查看选项
16 十进制数15转换为二进制数是 1111 。 2分
登录后查看选项
17 快速排序的核心思想是分治法。 2分
登录后查看选项
18 C++中,左移运算符<<会将操作数的二进制位向左移动,右侧补0。 2分
登录后查看选项
19 C++的long long类型可以存储任意长度的大整数,无需使用数组实现高精度。 2分
登录后查看选项
20 高精度乘法运算中,两个n位的大整数相乘,结果最长有2n位。 2分
登录后查看选项
编程题 共2道
21

进制转换(2603-4)

题目描述

十一进制是一种以11为基数的计数体系,其数字由0-9的常规数字和代表数值10的符号(大写字母A)组成。给定一个十进制非负整数 n,请将其转换为十一进制数并输出。

具体规则:

十一进制的每一位取值为 0、1、2、3、4、5、6、7、8、9、A;

特别地,十进制0转换为十一进制仍为0。

输入

单个整数表示十进制非负整数 n

输出

单个字符串,表示转换后的十一进制数

数据范围

0≤n≤10^6

输入样例1
23
输出样例1
21
输入样例2
11
输出样例2
10
输入样例3
10
输出样例3
A
输入样例4
0
输出样例4
0
30分
登录后作答
22

双阶乘(2603-4)

题目描述

双阶乘(用 n!!表示)是阶乘的一种扩展形式,其定义为:对于给定的非负整数 n,n!! 表示从 n 开始,依次乘以比前一项小 2 的数,直至乘积项不小于 1 为止。

具体规则:

若 n 为偶数:n!!=n×(n−2)×(n−4)×…×2;

若 n 为奇数:n!!=n×(n−2)×(n−4)×…×1;

特别地,0!!=1,1!!=1。

给定一个整数 n,请使用高精度算法计算并输出 n!! 的结果。

输入

单个整数表示 n

输出

单个整数,表示 n!! 的计算结果

数据范围

0≤n≤2000

输入样例1
5
输出样例1
15
输入样例2
20
输出样例2
3715891200
输入样例3
100
输出样例3
34243224702511976248246432895208185975118675053719198827915654463488000000000000
30分
登录后作答