#6736. 智汇少年的选择和判断题模拟卷2(低)
智汇少年的选择和判断题模拟卷2(低)
一、判断题
- 以下代码能正确输出二维数组的所有元素。
#include <iostream>
using namespace std;
int main() {
int brr[2][2] = {{1,2},{3,4}};
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << brr[i][j];
}
}
return 0;
}
{{ select(1) }}
- 正确
- 错误
- 枚举法适合解决答案数量无限的问题。 {{ select(2) }}
- 正确
- 错误
- strcpy()函数可以将一个字符数组的内容复制到另一个数组。 {{ select(3) }}
- 正确
- 错误
- if-else语句中,if和else后的语句块如果只有一条语句,{}可以省略。 {{ select(4) }}
- 正确
- 错误
- 二维数组 int mat [2][3] = {{1,2},{3,4,5}}; 中 mat [1][2] 的值是 5
#include <iostream>
using namespace std;
int main() {
int mat[2][3] = {{1,2},{3,4,5}};
cout << mat[1][2];
return 0;
}
{{ select(5) }}
- 正确
- 错误
- while循环的条件表达式必须是布尔类型。 {{ select(6) }}
- 正确
- 错误
- 数组 int arr[5] = {1,3}; 未赋值的元素值为0。 {{ select(7) }}
- 正确
- 错误
- switch语句中case后面的常量值可以重复。 {{ select(8) }}
- 正确
- 错误
- 执行以下代码,最终会输出数字 8。
#include <iostream>
using namespace std;
int main() {
int num = 10;
if (num > 9) {
num = num - 2;
cout << num;
}
return 0;
}
{{ select(9) }}
- 正确
- 错误
- C++中变量名可以包含特殊字符,如@、#等。 {{ select(10) }}
- 正确
- 错误
二、单选题
- 下列关于枚举法的说法,错误的是() {{ select(11) }}
- 枚举法思路简单
- 枚举范围越大越容易找到答案
- 枚举法需要明确判断条件
- 枚举范围过大会降低效率
- 执行语句 int a = 9, b = 2; cout << a + b * 3; 输出结果是() {{ select(12) }}
- 33
- 15
- 29
- 5
- 递归函数
int fib(int n)
{
if(n==1 || n==2)
{
return 1;
}
return fib(n-1) + fib(n-2);
}
调用 fib(4) 的结果是() {{ select(13) }}
- 2
- 3
- 4
- 5
- 下列关于数组和函数的说法,错误的是() {{ select(14) }}
- 函数可以接收数组作为参数
- 数组名传递的是首元素地址
- 函数内修改数组元素会影响实参
- 函数可以返回一个数组
- 执行代码
int i=0;
for(int i=0; i<5; i++)
{
if(i==1)
{
continue;
}
cout << i;
}
输出结果是() {{ select(15) }}
- 0234
- 01234
- 1234
- 0
- 关于switch语句,说法错误的是() {{ select(16) }}
- switch条件可以是整型
- case后面必须是常量
- default语句可以省略
- break可以跳出所有循环
- 下列属于强制类型转换的是() {{ select(17) }}
- int a=5; double b=a;
- char a='c'; int b=a;
- double a=5.9; int b=(int)a;
- long a=18; int b=a;
- 使用数学函数 sqrt(16) 时,必须包含的头文件是() {{ select(18) }}
<iostream><cmath><cstring><fstream>
- 下列关于字符串的说法,正确的是() {{ select(19) }}
- 字符串用单引号包裹
- 字符串由多个字符组成
- 字符串可直接赋值给int变量
- 字符串长度包含结束符'\0'
- 执行代码
void print(int a)
{
cout << a * 2;
}
int main()
{
print(6);
return 0;
}
输出结果是() {{ select(20) }}
- 6
- 12
- 2
- 62
- 关于递归函数,说法错误的是() {{ select(21) }}
- 有明确的终止条件
- 自己调用自己
- 调用次数无限制
- 执行分为递推和回归
- 下列代码中,不能正确遍历数组 int num[4] = {3,5,7,9} 的是() {{ select(22) }}
- for(int i=0; i<4; i++) { cout << num[i]; }
- int i=0; while(i<4) { cout << num[i]; i++; }
- do { cout << num[i]; i++; } while(i<4);
- for(int i=0; i<=3; i++) { cout << num[i]; }
- 关于数组下标,说法正确的是() {{ select(23) }}
- 下标从 1 开始
- 下标可以是负数
- 下标必须是整数
- 下标可以是字符
- 执行语句 int x=8, y=3; int z = x<y ? x*3 : y+5; 则z的值是() {{ select(24) }}
- 24
- 8
- 27
- 5
- 解决“模拟抛硬币10次统计正反面”问题,适合使用的方法是() {{ select(25) }}
- 枚举法
- 模拟法
- 分治法
- 贪心算法
- 定义函数
int sub(int a, int b)
{
return a - b;
}
调用该函数的正确方式是() {{ select(26) }}
- sub(8,3)
- sub8,3
- int sub(8,3)
- cout<<sub
- 下列关于函数的说法,正确的是() {{ select(27) }}
- 函数只能有一个参数
- 函数定义后必须调用
- 函数可提高代码复用性
- 函数不能有返回值
- 执行代码
int i=1;
do
{
cout << i;
i++;
} while(i<=4);
输出结果是() {{ select(28) }}
- 123
- 1234
- 2345
- 1111
- 下列循环语句语法错误的是() {{ select(29) }}
- for(int i=0; i<5; i++) { cout << i; }
- while(0) { cout << "test"; }
- do { cout << 1; i++; } while(i<4);
- for(int i=0; i<3; i++) { cout << "ok"; }
- 定义数组 int arr[] = {2,4,6,8,10}; 数组的大小是() {{ select(30) }}
- 4
- 5
- 6
- 不确定
- 关于if-else语句,说法错误的是() {{ select(31) }}
- else不能单独存在
- if条件成立时执行对应语句块
- 多个if语句可并列使用
- else语句块一定会执行
- 下列不属于C++基本数据类型的是() {{ select(32) }}
- int
- double
- string
- char
- 执行语句 int a = 14, b = 3; cout << a / b; 输出结果是() {{ select(33) }}
- 4
- 4.67
- 5
- 11
- 下列变量定义不合法的是() {{ select(34) }}
- char a = '9';
- double b = 7.89;
- int c = 156;
- int d$ = 23;
- 下列关于C++程序的说法,错误的是() {{ select(35) }}
- main函数是程序入口
- 程序可包含多个函数
- 语句必须以分号结束
- 函数可以嵌套定义
三、多选题
- 下列关于C++程序的说法,正确的有() {{ multiselect(36) }}
- 注释分为单行注释和多行注释
- 变量定义后必须赋值才能使用
- 函数调用时实参与形参个数需一致
- 程序执行从 main 函数开始
- 使用枚举法解决“找出10以内的奇数”问题,步骤有() {{ multiselect(37) }}
- 枚举对象为 1~10 的整数
- 枚举范围为 1~10
- 判断条件为 “不能被 2 整除”
- 逐一验证每个数
- 关于二维数组int brr[3][4],说法正确的有? {{ multiselect(38) }}
- 该数组有 3 行 4 列
- 元素个数为 12
- brr[2][3]是最后一个元素
- 列数为 3,行数为 4
- 下列属于头文件中常用函数的有() {{ multiselect(39) }}
- strlen()
- strcpy()
- sqrt()
- strcat()
- 以下代码中,能正确定义并初始化一维数组的有? {{ multiselect(40) }}
- int arr[] = {5,6,7};
- int arr[3] = {5,6};
- int arr[3] = {5,6,7,8};
- int arr[5] = {0};
- 关于函数参数传递的说法,正确的有() {{ multiselect(41) }}
- 值传递中形参是实参的副本
- 函数参数可以是数组
- 形参修改一定影响实参
- 函数可以没有参数
- 下列循环语句能正常执行的有() {{ multiselect(42) }}
- for(int i=0; i<4; i++) { cout << i * 3; }
- while(3>2) { cout << "yes"; break; }
- do { cout << "no"; } while(2>3);
- for( ; ; ) { cout << "loop"; break; }
- 下列关于数组的说法,正确的有() {{ multiselect(43) }}
- 数组元素类型必须一致
- 数组下标从 0 开始
- 数组大小可随时修改
- 空数组定义合法(int arr[];)
- 关于if-else语句的用法,正确的有() {{ multiselect(44) }}
- if条件表达式结果为布尔值
- 可嵌套多层if-else
- else可与任意if配对
- 多个if-else可并列使用
- 下列变量定义合法的有() {{ multiselect(45) }}
- int a = 123;
- char b = 'q';
- double c = 8.05;
- int #e = 7;