星火计划初赛模拟题(一)
考试时间:60分钟 满分:100分
一、单选题(每题5分,共75分)
1. 以下哪个选项是 C++ 中正确的变量命名?
A. 1num
B. _score
C. float
D. my score
2. 执行 cout << 17 / 4 << endl; 后,输出的结果是
A. 4.25
B. 4
C. 5
D. 1
3. 表达式 (int)(7.8) + (int)(2.3) 的值是
A. 10.1
B. 9
C. 10
D. 9.0
4. 以下代码段执行后,x 的值是int x = 5;x = x + 3;x = x * 2;
A. 8
B. 10
C. 16
D. 13
5. 读入一个整数变量 a,正确的语句是
A. scanf("%d", a);
B. cin >> a;
C. cout << a;
D. input(a);
6. 以下 if 语句中,哪个条件能正确判断 x 是偶数?
A. if (x / 2 == 0)
B. if (x % 2 = 0)
C. if (x % 2 == 0)
D. if (x / 2 = 0)
7. 变量 score = 85;,执行以下代码后输出是if (score >= 90) cout << "A";else if (score >= 80) cout << "B";else cout << "C";
A. A
B. B
C. C
D. 无输出
8. 以下 switch 语句中,case 后面可以跟的数据类型是
A. double
B. char
C. string
D. float
9. 以下循环语句执行后,共输出多少次 *?for (int i = 1; i <= 5; i++) cout << '*';
A. 4
B. 5
C. 6
D. 0
10. 以下代码执行后,sum 的值是int sum = 0;for (int i = 1; i <= 4; i++) sum = sum + i;
A. 10
B. 12
C. 15
D. 6
11. 定义数组 int a[5] = {1, 3, 5, 7, 9};,则 a[2] 的值是
A. 3
B. 5
C. 7
D. 9
12. 字符串 string s = "Hello";,s.length() 的值是
A. 4
B. 5
C. 6
D. 0
13. 以下函数调用语句中,正确的是int add(int a, int b) { return a + b; }
A. add(3, 5.5);
B. add(3);
C. add(3, 5);
D. add(int 3, int 5);
14. 以下结构体定义中,正确的是
A. struct Student { int id; string name; };
B. struct { int id; string name }
C. struct Student (int id, string name);
D. struct = { int id; string name; };
15. 函数声明 void print(int x); 中,void 的含义是
A. 返回一个空字符串
B. 函数不返回任何值
C. 返回整数 0
D. 返回空指针
二、判断题(每题5分,共25分)
1. C++ 中,int 类型变量可以存储小数。( )
2. if (x = 5) 和 if (x == 5) 在 C++ 中是等价的判断语句。( )
3. for (int i = 0; i < 10; i++); 后面的分号会导致循环体为空。( )
4. 数组下标从 0 开始,所以 int a[5] 的最后一个元素是 a[5]。( )
5. 结构体中的成员可以通过 . 运算符来访问,例如 stu.name。( )
![]()
176 1113 4175
星火计划C++初赛模拟题(二)
考试时间:60分钟 满分:100分
一、单选题(每题5分,共75分)
1. cout << 10 % 3 << endl; 的输出结果是
A. 3
B. 1
C. 0
D. 3.33
2. 以下哪个表达式的值是 true?
int a = 5, b = 8;
A. a > b
B. a == b
C. a + 3 == b
D. a != 5
3. 执行以下代码后,n 的值是
int n = 10;
n /= 2;
n += 3;
A. 5
B. 8
C. 13
D. 6
4. 以下关于 cin 和 cout 的说法,正确的是
A. cin 用于输出,cout 用于输入
B. 都需要包含头文件
C. cin >> 可以自动换行
D. cout << endl 表示输入结束
5. 以下代码的输出是
int x = 7;
if (x > 5)
if (x > 10) cout << "A";
else cout << "B";
else cout << "C";
A. A
B. B
C. C
D. 无输出
6. switch 语句中,用于跳出分支的关键字是
A. break
B. continue
C. return
D. exit
7. 以下 while 循环执行了多少次?
int i = 1;
while (i <= 3) {
cout << i;
i++;
}
A. 1
B. 2
C. 3
D. 4
8. 以下代码的输出结果是
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++)
cout << '*';
}
A. **
B. ***
C. ******
D. *****
9. 定义 int a[4] = {2, 4, 6, 8};,以下哪个表达式值为 6?
A. a[1]
B. a[2]
C. a[3]
D. a[6]
10. 字符串 string s = "C++";,执行 s = s + "Program"; 后,s 的值是
A. "C++"
B. "Program"
C. "C++Program"
D. 编译错误
11. 以下数组初始化语句,正确的是
A. int a[3] = (1, 2, 3);
B. int a[] = {1, 2, 3};
C. int a[3] = {1, 2, 3, 4};
D. int a(3) = {1, 2, 3};
12. 函数定义 int max(int a, int b) 中,int a, int b 被称为
A. 返回值
B. 形参(形式参数)
C. 实参(实际参数)
D. 局部变量
13. 以下代码中,fun(4) 的返回值是
int fun(int n) {
if (n <= 1) return 1;
return n * fun(n - 1);
}
A. 4
B. 12
C. 24
D. 120
14. 以下结构体使用方式,正确的是
struct Point { int x; int y; };
A. Point p; p.x = 3;
B. Point.x = 3;
C. struct p; p.x = 3;
D. p = Point(3, 5);
15. 以下关于函数重载的说法,正确的是
A. 函数名相同,参数类型或个数不同
B. 函数名和参数都相同,返回值不同
C. 函数名不同,参数相同
D. C++ 不支持函数重载
二、判断题(每题5分,共25分)
1. cout << 5 / 2.0 << endl; 的输出结果是 2。( )
2. if 语句后面必须跟 else 分支。( )
3. break 语句可以用在 for、while 和 switch 中。( )
4. 定义 int a[5]; 后,所有元素的初始值自动为 0。( )
5. 函数必须先声明或定义,然后才能调用。( )
![]()
176 1113 4175
星火计划初赛模拟题(三)
考试时间:60分钟 满分:100分
一、单选题(每题5分,共75分)
1. 以下代码的输出是
int a = 3, b = 2;
cout << a / b * 1.0 << endl;
A. 1.5
B. 1
C. 1.0
D. 2
2. 表达式 5 + 3 * 2 的值是
A. 16
B. 11
C. 13
D. 10
3. 以下哪个运算符优先级最高?
A. +
B. ==
C. *
D. =
4. 执行以下代码后,输出是
int x = 10;
if (x > 5) x = x - 3;
if (x > 8) x = x - 2;
cout << x;
A. 10
B. 7
C. 5
D. 8
5. 以下代码的输出是
int a = 2, b = 3;
if (a > b) cout << "A";
else if (a == b) cout << "B";
else if (a < b) cout << "C";
A. A
B. B
C. C
D. 无输出
6. 以下循环语句中,循环体至少执行一次的是
A. for 循环
B. while 循环
C. do...while 循环
D. 都一样
7. 以下代码的输出是
int s = 0;
for (int i = 1; i <= 5; i++)
if (i % 2 == 0) s += i;
cout << s;
A. 6
B. 9
C. 15
D. 10
8. 以下代码的输出是
int a[5] = {5, 4, 3, 2, 1};
for (int i = 0; i < 5; i += 2)
cout << a[i];
A. 54321
B. 531
C. 52
D. 543
9. 字符串 string s = "abcdef";,s.substr(1, 3) 的值是
A. "abc"
B. "bcd"
C. "cde"
D. "def"
10. 二维数组 int a[3][4]; 中,元素的总个数是
A. 7
B. 12
C. 16
D. 10
11. 以下函数调用中,实参和形参的传递方式是
void swap(int a, int b) { int t = a; a = b; b = t; }
swap(x, y);
A. 地址传递
B. 值传递
C. 引用传递
D. 指针传递
12. 以下代码的输出是
int f(int n) {
int s = 0;
for (int i = 1; i <= n; i++) s += i;
return s;
}
cout << f(4);
A. 4
B. 6
C. 10
D. 15
13. 结构体定义如下,以下赋值正确的是
struct Student {
int id;
string name;
};
A. Student s = {1001, "Tom"};
B. Student s; s.id = 1001, s.name = "Tom";
C. Student s; s.id = 1001; s.name = "Tom";
D. 以上都正确
14. 以下关于递归函数的说法,错误的是
A. 递归函数调用自身
B. 递归必须有终止条件
C. 递归一定比循环效率高
D. 递归可以简化某些问题的代码
15. 以下代码的输出是
struct Rect { int w; int h; };
Rect r = {4, 5};
cout << r.w * r.h;
A. 9
B. 20
C. 45
D. 54
二、判断题(每题5分,共25分)
1. double 类型比 float 类型占用更多的内存空间。( )
2. continue 语句会立即终止整个循环。( )
3. 数组名代表数组首元素的地址。( )
4. 函数内部定义的变量,在函数外部也可以直接访问。( )
5. 结构体可以作为函数的参数进行传递。( )
![]()
176 1113 4175
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.