出一个c++试卷,关于单分支,双分支,多分支,循环结构,一维数组,函数,输入输出,字符串数组,不要指针,类与对象,格式化输入输出,结构体。10道单选,10道判断,2道编程
时间: 2023-07-25 17:03:25 浏览: 113
基于C++编写一个函数求一个4*4二维数组所有周边元素的和
好的,以下是试卷内容:
## C++试卷
### 单选题(每题2分,共计20分)
1. 以下哪个不是单分支结构?
A. if
B. switch
C. while
D. for
2. 如果一个变量的值小于等于10,则输出“小于等于10”,否则输出“大于10”。下面哪个语句是正确的?
A. if (value <= 10) { cout << "小于等于10" << endl; } else { cout << "大于10" << endl; }
B. if (value <= 10) { cout << "小于等于10" << endl; } else if (value > 10) { cout << "大于10" << endl; }
C. if (value <= 10) { cout << "小于等于10" << endl; } if (value > 10) { cout << "大于10" << endl; }
D. if (value <= 10) { cout << "小于等于10" << endl; } if (value >= 10) { cout << "大于10" << endl; }
3. 下面哪个语句可以用来判断一个数是否为偶数?
A. if (num % 2 == 0)
B. if (num % 2 != 0)
C. if (num / 2 == 0)
D. if (num * 2 == 0)
4. 以下哪个循环结构是先判断后执行?
A. while
B. do-while
C. for
D. 以上都不是
5. 如果一个数组的长度为10,下标范围是0~9。那么下面哪个语句是正确的?
A. int arr[10]; arr[10] = 1;
B. int arr[10]; arr[9] = 1;
C. int arr[9]; arr[10] = 1;
D. int arr[10]; arr[0] = 1;
6. 以下哪个是函数的调用?
A. int main() { cout << "Hello, world!" << endl; return 0; }
B. void printMessage() { cout << "Hello, world!" << endl; } printMessage();
C. int value = 5; cout << value << endl;
D. int add(int a, int b) { return a + b; } int result = add(3, 4);
7. 以下哪个语句可以用来输出一个整数?
A. cout << "Hello, world!" << endl;
B. cout << 3.14 << endl;
C. cout << "5" << endl;
D. cout << 5 << endl;
8. 下面哪个语句可以用来输出一个字符串?
A. cout << "Hello, world!" << endl;
B. cout << 3.14 << endl;
C. cout << "5" << endl;
D. cout << 5 << endl;
9. 如果一个字符串数组的长度为10,下标范围是0~9。那么下面哪个语句是正确的?
A. string arr[10]; arr[10] = "hello";
B. string arr[10]; arr[9] = "hello";
C. string arr[9]; arr[10] = "hello";
D. string arr[10]; arr[0] = "hello";
10. 以下哪个语句可以用来定义一个结构体?
A. struct { int age; string name; } person;
B. struct person { int age; string name; } p;
C. struct (int age, string name) { } person;
D. struct person { }
### 判断题(每题2分,共计20分)
1. 在单分支结构中,如果条件成立,就执行if语句块内的语句,否则不执行。 √
2. 在双分支结构中,如果条件成立,就执行if语句块内的语句,否则执行else语句块内的语句。 √
3. 在多分支结构中,可以使用switch语句来代替if-else语句。 √
4. 在while循环中,先判断条件是否成立,如果成立,则执行循环体内的语句,否则结束循环。 √
5. 在do-while循环中,先执行循环体内的语句,再判断条件是否成立,如果成立,则继续执行循环体内的语句,否则结束循环。 √
6. 在for循环中,先执行初始化语句,然后判断条件是否成立,如果成立,则执行循环体内的语句,再执行迭代语句,直到条件不成立。 √
7. 数组是一种可以存储多个相同类型数据的容器。 √
8. 函数是一段可以重复执行的程序代码,它可以接受参数,也可以返回一个值。 √
9. 输入操作符(>>)用于将数据从输入流中读取到变量中。 √
10. 输出操作符(<<)用于将数据从变量中输出到输出流中。 √
### 编程题(每题30分,共计60分)
1. 编写一个程序,输入两个整数a和b,如果a>b,则输出“a>b”,否则输出“a<=b”。
2. 编写一个程序,输入一个字符串,输出这个字符串中每个字符的ASCII码。
提示:可以使用string类的length()函数获取字符串的长度,使用string类的at()函数获取字符串中指定位置的字符。
答案如下:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入一个字符串:";
cin >> str;
for (int i = 0; i < str.length(); i++) {
cout << (int)str.at(i) << " ";
}
cout << endl;
return 0;
}
```
以上是本次的C++试卷,希望对你有所帮助!
阅读全文