C++ 蓝桥 STEMA 真题模拟测试卷二
一、选择题(每题 5 分,共 25 分)
1. 以下关于 C++ 变量声明的说法,正确的是?
A. 变量必须在声明时初始化B. int a, b = 5; 表示 a 和 b 都初始化为 5C. 全局变量的作用域是整个程序D. 局部变量不能与全局变量同名
2. 若定义int a = 10, b = 20;,则表达式a++ + ++b的值是?
A. 30B. 31C. 32D. 33
3. 下列哪个运算符不能用于 C++ 数组?
A. []B. =C. sizeofD. <<
4. 关于函数参数传递,下列说法错误的是?
A. 传值调用时,函数内部修改参数不影响外部变量B. 引用调用需要在参数类型后加&C. 指针调用时,传递的是变量的地址D. 数组作为参数传递时,会复制整个数组内容
5. 以下代码的输出结果是?
TypeScript
取消自动换行复制
#include <iostream>
using namespace std;
int main() {
int arr[] = {1, 3, 5, 7, 9};
cout << arr[sizeof(arr)/sizeof(int) - 1];
return 0;
}
A. 1B. 3C. 7D. 9
二、编程题(每题 15 分,共 75 分)
1. 计算 1 到 n 的和
题目描述:输入一个正整数 n(1≤n≤100),计算 1+2+…+n 的值。输入格式:一个整数 n输出格式:和的值
2. 交换两个变量
题目描述:输入两个整数 a 和 b,交换它们的值后输出。输入格式:两个用空格分隔的整数输出格式:交换后的两个整数,用空格分隔
3. 判断闰年
题目描述:输入一个年份 year(1900≤year≤2100),判断是否为闰年。闰年条件:能被 4 整除但不能被 100 整除,或能被 400 整除。若是输出 "YES",否则输出 "NO"。输入格式:一个整数 year输出格式:"YES" 或 "NO"
4. 数组元素查找
题目描述:输入 5 个整数存入数组,再输入一个整数 x,判断 x 是否在数组中。若存在输出 "YES",否则输出 "NO"。输入格式:第一行 5 个用空格分隔的整数,第二行一个整数 x输出格式:"YES" 或 "NO"
5. 计算幂次方
题目描述:输入两个整数 a 和 n(1≤a≤10,1≤n≤5),计算 a 的 n 次方。输入格式:两个用空格分隔的整数 a 和 n输出格式:a 的 n 次方的值