林老师 · 客观题题库 · CSP-J 卷
CSP-J 卷
高频 · 一维/二维数组/越界 · 共 34 题 · 由简到难 · 建议 51 分钟
真题
复刻
试卷编号OBJ-943705
题目总数34 题 · 68 分
试卷类型客观题
考生须知:
① 本卷为客观题单卷,合计 34 题 · 68 分,全部为客观题;
② 试卷右上角设有 「提交答卷」 与 「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。
壹
客 观 题
34 QUESTIONS · 2 POINTS EACH
第 1 题
单选
未作答
一个数组定义为 double array[3];,则这个数组占用内存的大小为( )。
(2 分)
GESP 三级 2023-06 · 单选 第6题 | 知识点 一维数组、浮点型
第 2 题
单选
未作答
(2 分)
GESP 三级 2023-06 · 单选 第7题 | 知识点 一维数组、字符型
第 3 题
判断
未作答
在 C++语言中,长度为 n 的数组,合理的下标范围是从 0 到 n,包括 0 和 n。
(2 分)
GESP 三级 2023-06 · 判断 第4题 | 知识点 一维数组、数组越界
第 4 题
判断
未作答
在 C++语言中,数组被定义时,它的大小就确定了。
(2 分)
GESP 三级 2023-06 · 判断 第7题 | 知识点 一维数组、常量与变量
第 5 题
单选
未作答
如果数组定义为 long long array[] = {3, 5, 7, 2};,则数组 array 占用的字节数为( )。
(2 分)
GESP 三级 2023-09 · 单选 第5题 | 知识点 一维数组、整型
第 6 题
单选
未作答
一个数组定义为 double array[3];,则可合理访问这个数组的元素的下标最大为( )。
(2 分)
GESP 三级 2023-09 · 单选 第6题 | 知识点 一维数组、数组越界
第 7 题
单选
未作答
在下列代码的横线处填写( ),可以使得输出是 120。
01#include <iostream>
02using namespace std;
03
04int main() {
05 int array[5] = {1, 2, 3, 4, 5};
06 int res = 0;
07 for (int i = 0; i < 5; i++)
08 ____________ ; // 在此处填入代码
09 cout << res << endl;
10 return 0;
11}
(2 分)
GESP 三级 2023-09 · 单选 第14题 | 知识点 一维数组、算术运算、程序补全
第 8 题
判断
未作答
在 C++语言中,长度为 n 的数组,访问下标为 n 的元素会引起编译错误。
(2 分)
GESP 三级 2023-09 · 判断 第4题 | 知识点 数组越界、一维数组
第 9 题
判断
未作答
在 C++语言中,数组下标的大小决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序无关。
(2 分)
GESP 三级 2023-09 · 判断 第6题 | 知识点 一维数组、数组越界
第 10 题
判断
未作答
在 C++语言中,定义数组时,[] 中必须指定元素个数。
(2 分)
GESP 三级 2023-09 · 判断 第7题 | 知识点 一维数组、常量与变量
第 11 题
判断
未作答
执行 C++ 代码将输出 0 5,5 之后还有一个空格。
01int list[10]={1,2,3,4,5,6,7,8,9,10};
02for(int i=0;i<10;i++)
03{
04 if(i%5==0)
05 {
06 cout<<list[i]<<" ";
07 }
08}
(2 分)
GESP 三级 2023-12 · 判断 第5题 | 知识点 一维数组、for循环、程序阅读与输出推断
第 12 题
判断
未作答
下面 C++ 代码将输出 1。
01int list[10]={1};
02cout<<list<<endl;
(2 分)
GESP 三级 2023-12 · 判断 第6题 | 知识点 一维数组、cin与cout、程序阅读与输出推断
第 13 题
判断
未作答
下面 C++ 程序将输出 1。
01int arr[10]={1};
02cout<<arr[0]<<endl;
(2 分)
GESP 三级 2023-12 · 判断 第7题 | 知识点 一维数组、程序阅读与输出推断
第 14 题
判断
未作答
执行 C++ 代码,将输出 1 3 5 7 9,9 之后还有一个空格。
01int list[10]={1,2,3,4,5,6,7,8,9,10};
02for(int i=0;i<10;i+=2)
03{
04 cout<<list[i]<<" ";
05}
(2 分)
GESP 三级 2023-12 · 判断 第8题 | 知识点 for循环、一维数组、程序阅读与输出推断
第 15 题
单选
未作答
下面 C++ 代码执行后数组中大于 0 的数的特征是( )。
01int main()
02{
03 int a[20],i;
04 for(i = 0; i < 20; i++)
05 a[i] = i+1;
06
07 for(int i = 0; i < 20; i++)
08 if((a[i]%2)&&(a[i]%3))
09 a[i] = 0;
10 for(i = 0; i < 20; i++)
11 if(a[i])
12 cout << a[i] << " ";
13
14 cout << endl;
15 return 0;
16}
(2 分)
GESP 三级 2024-03 · 单选 第6题 | 知识点 一维数组、逻辑运算、程序阅读与输出推断
第 16 题
单选
未作答
执行下面 C++ 代码后输出的第一个数是( )。
01int main()
02{
03 int a[20],i;
04 for(i = 0; i < 20; i++)
05 a[i] = i+1;
06 for( ; i > 0; i--)
07 cout << a[i-1] << " ";
08 cout << endl;
09 return 0;
10}
(2 分)
GESP 三级 2024-03 · 单选 第7题 | 知识点 一维数组、for循环、程序阅读与输出推断
第 17 题
单选
未作答
下面 C++ 程序执行的结果是( )。
01int main()
02{
03 int a[20],i;
04 int cnt=0;
05 for(i = 0; i < 20; i++)
06 a[i] = i+1;
07
08 for( ; i > 1; i--)
09 if((a[i-1]+a[i-2])%3)
10 cnt++;
11 cout << cnt << endl;
12 cout << endl;
13 return 0;
14}
(2 分)
GESP 三级 2024-03 · 单选 第11题 | 知识点 一维数组、同余与模运算、程序阅读与输出推断
第 18 题
判断
未作答
对定义的数组 int a[7]={2,0,2,4,3,1,6},可以用简单循环就找到其中最小的整数。
(2 分)
GESP 三级 2024-03 · 判断 第8题 | 知识点 一维数组、枚举
第 19 题
单选
未作答
在下列代码的横线处填写( ),可以使得输出是"7"。
01#include <iostream>
02using namespace std;
03
04int main() {
05 int array[5] = {3, 7, 5, 2, 4};
06 int max = 0;
07 for(int i=0; i<5; i++)
08 if(____________) // 在此处填入代码
09 max = array[i];
10 cout << max << endl;
11 return 0;
12}
(2 分)
GESP 三级 2024-06 · 单选 第10题 | 知识点 一维数组、程序补全
第 20 题
单选
未作答
小杨在做数学题,题目要求找出从 1 到 35 中能被 7 整除的数字,即 [7,14,21,28,35],则横线处应填入哪个代码?( )
01#include <iostream>
02using namespace std;
03int main() {
04 int arr[35];
05 int count = 0;
06 for (int i = 1; i <= 35; i++) {
07 if (i % 7 == 0)
08 ____________
09 // 在此处填入代码
10 }
11
12 for (int i = 0; i < count; i++)
13 cout << arr[i] << endl;
14 return 0;
15}
(2 分)
GESP 三级 2024-06 · 单选 第11题 | 知识点 一维数组、程序补全
第 21 题
判断
未作答
(2 分)
GESP 三级 2024-06 · 判断 第5题 | 知识点 一维数组、数组越界
第 22 题
判断
未作答
C++ 中可以对数组和数组的每个基础类型的元素赋值。
(2 分)
GESP 三级 2024-06 · 判断 第6题 | 知识点 一维数组、常量与变量
第 23 题
单选
未作答
(2 分)
GESP 三级 2024-09 · 单选 第12题 | 知识点 一维数组、数组越界
第 24 题
单选
未作答
下面的程序中,会输出( )。
01int a[10]={1,2,3,4,5,6,7,8,9,10};
02cout<<a[10]<<endl;
(2 分)
GESP 三级 2024-09 · 单选 第13题 | 知识点 数组越界、一维数组
第 25 题
判断
未作答
下列程序将输出 1。
01int a[10]={1};
02cout<<a[1]<<endl;
(2 分)
GESP 三级 2024-09 · 判断 第7题 | 知识点 一维数组、程序阅读与输出推断
第 26 题
单选
未作答
下面枚举法查找最大值索引程序中,横线处应该填写的是( )。
01#include <iostream>
02using namespace std;
03
04int main() {
05 int arr[] = {3, 7, 2, 9, 5};
06 int maxIndex = 0;
07 for (int i = 1; i < 5; i++) {
08 ————————————————————————————————
09 {
10 maxIndex = i;
11 }
12 }
13 cout << maxIndex;
14 return 0;
15}
(2 分)
GESP 三级 2025-03 · 单选 第11题 | 知识点 一维数组、枚举、程序补全
第 27 题
单选
未作答
以下代码的功能是将数组中的奇数和偶数分别放在数组的前半部分和后半部分,横线处应该填入的是( )。
01#include <iostream>
02using namespace std;
03
04int main() {
05 int arr[] = {1, 2, 3, 4, 5};
06 int left = 0, right = 4;
07 while (left < right) {
08 while (arr[left] % 2 == 1 && left < right) left++;
09 ————————————————————————————————————————————————————
10 if (left < right) {
11 swap(arr[left], arr[right]);
12 }
13 }
14 for (int i = 0; i < 5; i++) {
15 cout << arr[i] << " ";
16 }
17 return 0;
18}
(2 分)
GESP 三级 2025-03 · 单选 第12题 | 知识点 双指针、一维数组、程序补全
第 28 题
单选
未作答
(2 分)
GESP 三级 2025-09 · 单选 第3题 | 知识点 一维数组、数组越界
第 29 题
单选
未作答
执行以下 C++ 代码后,数组 arr 的内容是( )。
01int arr[4] = {1, 2, 3};
02arr[3] = arr[0] + arr[2];
(2 分)
GESP 三级 2025-09 · 单选 第6题 | 知识点 程序阅读与输出推断、一维数组
第 30 题
单选
未作答
以下关于标准 C++ 一维数组的描述,哪一项是错误的?( )
(2 分)
GESP 三级 2025-12 · 单选 第2题 | 知识点 一维数组、常量与变量
第 31 题
单选
未作答
在 C++ 中,( )正确声明了一个 3 行 4 列的二维数组。
(2 分)
GESP 四级 2024-09 · 单选 第7题 | 知识点 二维数组、一维数组
第 32 题
单选
未作答
(2 分)
GESP 四级 2024-12 · 单选 第8题 | 知识点 二维数组、一维数组
第 33 题
单选
未作答
假设 int arr[2][3] = {{1,2,3},{4,5,6}};,则 arr[1][2] 的值是( )。
(2 分)
GESP 四级 2025-03 · 单选 第8题 | 知识点 二维数组、一维数组
第 34 题
单选
未作答
小杨用一个二维数组表示棋盘,其中 1 表示有棋子,0 表示没有棋子。他想知道第 2 行第 3 列有没有棋子,可采用的代码是:( )。
01int a[3][4] = {
02 {1, 0, 1, 0},
03 {0, 1, 0, 1},
04 {1, 1, 0, 0}
05};
(2 分)
GESP 四级 2025-12 · 单选 第3题 | 知识点 二维数组、一维数组