选择题 共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分
登录后作答