初赛2_语法补强
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
选择题(每题 10 分,共计 100 分)
- 以下哪个是选择结构的关键字? {{ select(1) }}
for
if
while
do-while
- 以下代码段的输出结果是什么?
int i = 0; do { printf("%d ", i); i++; } while (i < 2);
{{ select(2) }}
0
0 1
0 1 2
1 2
- 以下
C++
程序的输出结果是?
int main() {
int m = 14, n = 4;
int p = m / n;
int q = p + 5;
printf("%d", q);
return 0;
}
{{ select(3) }}
- 8
- 8.5
- 11
- 9
- 以下数组定义中,符合正确的是? {{ select(4) }}
int a[5] = {1, 2, 3, 4, 5};
int a[2] = {1, 2, 3};
int a() = {1, 2, 3, 4, 5};
int a[5] = {1, 2, 3, 4, 5, 6};
- 以下对数组的描述中,错误的是? {{ select(5) }}
- 数组可以存储相同类型的多个元素
- 数组的下标从 开始
- 数组的大小在定义后不能改变
- 数组可以存储不同类型的元素
- 有以下函数定义,调用该函数正确的是?
void fun(int a, int b) { int c = a + b; printf("%d\n", c); }
{{ select(6) }}
fun(1, 2);
fun(1);
fun();
fun(1, 2, 3);
- 以下关于递归函数的说法,错误的是? {{ select(7) }}
- 递归函数必须有一个明确的结束条件
- 递归函数的执行效率通常比非递归函数高
- 递归函数在调用自身时,参数会发生变化
- 递归函数可能会导致栈溢出
- 以下递归函数用于计算阶乘,请问下列说法错误的是?
int factorial(int n) {
if (n == 0)
return 1;
else
return n * factorial(n - 1);
}
{{ select(8) }}
- 等于 的时候返回边界值
- 没有用到递归算法
- 可能会导致栈溢出
- 计算结果可能不准确
- 以下关于
C++
字符串的说法中,错误的是? {{ select(9) }}
- 可以使用
strlen
函数获取字符串的长度 - 字符串可以使用
+
运算符进行连接 - 字符串以
'\0'
作为结束标志 - 字符串可以直接与整数相乘
- 以下代码片段的输出是?
int main() {
string str = "hello world";
str.replace(6, 5, "HELLO");
cout << str << std::endl;
return 0;
}
{{ select(10) }}
hello HELLO
hello WORLD
helloHELLO
helloHHELLO