出一套GESP的c++一级试卷
时间: 2023-08-26 17:11:26 浏览: 128
好的,以下是一套GESP的C++一级试卷,共10道题目,包括选择题和编程题。
## 选择题
1. 在 C++ 中,下列不属于基本数据类型的是:
A. int
B. char
C. float
D. string
2. 在 C++ 中,下列关键字中不属于流程控制语句的是:
A. if
B. else
C. for
D. while
3. 在 C++ 中,下列关于函数返回值的说法中,错误的是:
A. 返回值可以是任何数据类型
B. 如果函数没有返回值,可以使用 void 关键字表示
C. 如果函数有返回值,但没有 return 语句,程序会出错
D. 函数可以有多个返回值
4. 下列程序的输出结果是什么?
```cpp
int main() {
int a = 10;
int* p = &a;
*p = 20;
cout << "a = " << a << endl;
return 0;
}
```
A. a = 10
B. a = 20
C. 20
D. 10
5. 下列程序的输出结果是什么?
```cpp
int main() {
int arr[] = {1, 2, 3, 4, 5};
int* p = arr;
cout << *(p + 2) << endl;
return 0;
}
```
A. 1
B. 2
C. 3
D. 4
6. 下列程序的输出结果是什么?
```cpp
int main() {
int a = 10;
int b = 20;
swap(a, b);
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
```
A. a = 10, b = 20
B. a = 20, b = 10
C. a = 0, b = 0
D. 程序会出错
7. 下列程序的输出结果是什么?
```cpp
int main() {
int a = 10;
int* p = &a;
int& r = *p;
r = 20;
cout << "a = " << a << endl;
return 0;
}
```
A. a = 10
B. a = 20
C. 20
D. 10
8. 下列程序的输出结果是什么?
```cpp
int main() {
int a = 10;
int b = 20;
int* p1 = &a;
int* p2 = &b;
swap(p1, p2);
cout << "*p1 = " << *p1 << endl;
cout << "*p2 = " << *p2 << endl;
return 0;
}
```
A. *p1 = 10, *p2 = 20
B. *p1 = 20, *p2 = 10
C. *p1 = 0, *p2 = 0
D. 程序会出错
9. 下列程序的输出结果是什么?
```cpp
int main() {
int a = 10;
int* p1 = &a;
int** p2 = &p1;
int*** p3 = &p2;
***p3 = 20;
cout << "a = " << a << endl;
return 0;
}
```
A. a = 10
B. a = 20
C. 20
D. 10
10. 下列程序的输出结果是什么?
```cpp
int main() {
int a = 10;
int* p = &a;
delete p;
cout << "a = " << a << endl;
return 0;
}
```
A. a = 10
B. a 的值是不确定的
C. a 的值是随机的
D. 程序会出错
## 编程题
11. 编写一个 C++ 程序,读取一个整数 `n`,然后输出从1到 `n` 的所有正整数。
12. 编写一个 C++ 函数,接受一个整型数组和它的长度作为参数,计算数组中所有元素的平均值并返回结果。
13. 编写一个 C++ 函数,接受一个字符串作为参数,将字符串中的所有小写字母转换成大写字母后返回结果。
14. 编写一个 C++ 程序,读取一个整数 `n`,动态分配一个长度为 `n` 的整型数组,并读取 `n` 个整数存入该数组中。然后计算数组中所有元素的平均值并输出到控制台,最后释放动态分配的内存空间。
15. 编写一个 C++ 程序,读取一个整数 `n`,动态分配一个长度为 `n` 的整型数组,并读取 `n` 个整数存入该数组中。然后将数组中的所有元素按照从小到大的顺序排序,并输出排序后的结果到控制台,最后释放动态分配的内存空间。
以上是一套GESP的C++一级试卷,希望对你有所帮助。
阅读全文