蓝桥等考C++组别
十
级
第一部分:选择题
1、
C++ L
10
(
15
分)
关于一维数组的初始化,以下语句正确的是( )。
A
.
int a[5] = {1, 2, 3, 4, 5};
B.
int b[5] = {1; 2; 3; 4; 5};
C.
int c[5] = (1, 2, 3, 4, 5);
D.
int d[5] = [1, 2, 3, 4, 5];
正确答案:A
2
、C++ L
10
(
15
分)
以下选项中关于一维数组int
a[
100]
的说法,正确的是( )。
A
.
数组a的最后一个元素的下标(索引)是1
00
。
B.
语句c
out <<
a[
100]
;
有语法错误,程序编译会报错。
C.
如果不进行初始化,那么数组
a
的元素值都是空。
D.
如果数组
a
的声明语句放在
所有
函数的外面,
a的所有元素都会自动初始化为0
。
正确答案:D
3
、C++ L
10
(20分)
在主函数里面有语句:
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
在一行中倒序输出这个数组所有元素的正确方法是(
)。
A
.
for (int i = 9; i > 0; i--)
{
cout << a[i] << " ";
//引号中是一个空格
}
B.
for (int i = 10; i >= 0; i--)
{
cout << a[i] << " ";
//引号中是一个空格
}
C.
for (int i = 9; i >= 0; i--)
{
cout << a[i] << " ";
//引号中是一个空格
}
D.
for (int i = 10; i >= 1; i--)
{
cout << a[i] << " ";
//引号中是一个空格
}
正确答案:C
第二部分:编程题
4、
C++ L10
数列循环右移(
5
0分)
题目名称:
数列循环右移
题目描述:
一个数列A中存有n个整数,要将每个整数循环向右移
2
个位置,即将A中的数据由(A
[
0
]
A
[
1
]……
A
[n
-
3]
A
[n
-
2]
A
[n
-1
]
)变换为(A
[n
-
2]
A
[n
-1
]
A
[
0
]
A
[
1
]
……A
[n
-
3]
)(最右
2
个数循环移至最左面的
2
个位置)。
例如:数列
1 2 3 4 5
循环
右移2位,得到
4 5 1 2 3
。
循环右移操作过程如下图所示:
5
4
5
1
4
2
3
循环右
蓝桥杯青少组C++组别10级编程练习真题(第3套,共10套)