#6736. 智汇少年的选择和判断题模拟卷2(低)

智汇少年的选择和判断题模拟卷2(低)

一、判断题

  1. 以下代码能正确输出二维数组的所有元素。
#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) }}

  • 正确
  • 错误
  1. 枚举法适合解决答案数量无限的问题。 {{ select(2) }}
  • 正确
  • 错误
  1. strcpy()函数可以将一个字符数组的内容复制到另一个数组。 {{ select(3) }}
  • 正确
  • 错误
  1. if-else语句中,if和else后的语句块如果只有一条语句,{}可以省略。 {{ select(4) }}
  • 正确
  • 错误
  1. 二维数组 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) }}

  • 正确
  • 错误
  1. while循环的条件表达式必须是布尔类型。 {{ select(6) }}
  • 正确
  • 错误
  1. 数组 int arr[5] = {1,3}; 未赋值的元素值为0。 {{ select(7) }}
  • 正确
  • 错误
  1. switch语句中case后面的常量值可以重复。 {{ select(8) }}
  • 正确
  • 错误
  1. 执行以下代码,最终会输出数字 8。
#include <iostream>
using namespace std;
int main() {
int num = 10;
if (num > 9) {
num = num - 2;
cout << num;
}
return 0;
}

{{ select(9) }}

  • 正确
  • 错误
  1. C++中变量名可以包含特殊字符,如@、#等。 {{ select(10) }}
  • 正确
  • 错误

二、单选题

  1. 下列关于枚举法的说法,错误的是() {{ select(11) }}
  • 枚举法思路简单
  • 枚举范围越大越容易找到答案
  • 枚举法需要明确判断条件
  • 枚举范围过大会降低效率
  1. 执行语句 int a = 9, b = 2; cout << a + b * 3; 输出结果是() {{ select(12) }}
  • 33
  • 15
  • 29
  • 5
  1. 递归函数
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
  1. 下列关于数组和函数的说法,错误的是() {{ select(14) }}
  • 函数可以接收数组作为参数
  • 数组名传递的是首元素地址
  • 函数内修改数组元素会影响实参
  • 函数可以返回一个数组
  1. 执行代码
int i=0;
for(int i=0; i<5; i++)
{
    if(i==1)
    {
        continue;
    }
    cout << i;
}

输出结果是() {{ select(15) }}

  • 0234
  • 01234
  • 1234
  • 0
  1. 关于switch语句,说法错误的是() {{ select(16) }}
  • switch条件可以是整型
  • case后面必须是常量
  • default语句可以省略
  • break可以跳出所有循环
  1. 下列属于强制类型转换的是() {{ 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;
  1. 使用数学函数 sqrt(16) 时,必须包含的头文件是() {{ select(18) }}
  • <iostream>
  • <cmath>
  • <cstring>
  • <fstream>
  1. 下列关于字符串的说法,正确的是() {{ select(19) }}
  • 字符串用单引号包裹
  • 字符串由多个字符组成
  • 字符串可直接赋值给int变量
  • 字符串长度包含结束符'\0'
  1. 执行代码
void print(int a)
{
    cout << a * 2;
}
int main()
{
    print(6);
    return 0;
}

输出结果是() {{ select(20) }}

  • 6
  • 12
  • 2
  • 62
  1. 关于递归函数,说法错误的是() {{ select(21) }}
  • 有明确的终止条件
  • 自己调用自己
  • 调用次数无限制
  • 执行分为递推和回归
  1. 下列代码中,不能正确遍历数组 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]; }
  1. 关于数组下标,说法正确的是() {{ select(23) }}
  • 下标从 1 开始
  • 下标可以是负数
  • 下标必须是整数
  • 下标可以是字符
  1. 执行语句 int x=8, y=3; int z = x<y ? x*3 : y+5; 则z的值是() {{ select(24) }}
  • 24
  • 8
  • 27
  • 5
  1. 解决“模拟抛硬币10次统计正反面”问题,适合使用的方法是() {{ select(25) }}
  • 枚举法
  • 模拟法
  • 分治法
  • 贪心算法
  1. 定义函数
int sub(int a, int b)
{
    return a - b;
}

调用该函数的正确方式是() {{ select(26) }}

  • sub(8,3)
  • sub8,3
  • int sub(8,3)
  • cout<<sub
  1. 下列关于函数的说法,正确的是() {{ select(27) }}
  • 函数只能有一个参数
  • 函数定义后必须调用
  • 函数可提高代码复用性
  • 函数不能有返回值
  1. 执行代码
int i=1;
do
{
    cout << i;
    i++;
} while(i<=4);

输出结果是() {{ select(28) }}

  • 123
  • 1234
  • 2345
  • 1111
  1. 下列循环语句语法错误的是() {{ 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"; }
  1. 定义数组 int arr[] = {2,4,6,8,10}; 数组的大小是() {{ select(30) }}
  • 4
  • 5
  • 6
  • 不确定
  1. 关于if-else语句,说法错误的是() {{ select(31) }}
  • else不能单独存在
  • if条件成立时执行对应语句块
  • 多个if语句可并列使用
  • else语句块一定会执行
  1. 下列不属于C++基本数据类型的是() {{ select(32) }}
  • int
  • double
  • string
  • char
  1. 执行语句 int a = 14, b = 3; cout << a / b; 输出结果是() {{ select(33) }}
  • 4
  • 4.67
  • 5
  • 11
  1. 下列变量定义不合法的是() {{ select(34) }}
  • char a = '9';
  • double b = 7.89;
  • int c = 156;
  • int d$ = 23;
  1. 下列关于C++程序的说法,错误的是() {{ select(35) }}
  • main函数是程序入口
  • 程序可包含多个函数
  • 语句必须以分号结束
  • 函数可以嵌套定义

三、多选题

  1. 下列关于C++程序的说法,正确的有() {{ multiselect(36) }}
  • 注释分为单行注释和多行注释
  • 变量定义后必须赋值才能使用
  • 函数调用时实参与形参个数需一致
  • 程序执行从 main 函数开始
  1. 使用枚举法解决“找出10以内的奇数”问题,步骤有() {{ multiselect(37) }}
  • 枚举对象为 1~10 的整数
  • 枚举范围为 1~10
  • 判断条件为 “不能被 2 整除”
  • 逐一验证每个数
  1. 关于二维数组int brr[3][4],说法正确的有? {{ multiselect(38) }}
  • 该数组有 3 行 4 列
  • 元素个数为 12
  • brr[2][3]是最后一个元素
  • 列数为 3,行数为 4
  1. 下列属于头文件中常用函数的有() {{ multiselect(39) }}
  • strlen()
  • strcpy()
  • sqrt()
  • strcat()
  1. 以下代码中,能正确定义并初始化一维数组的有? {{ multiselect(40) }}
  • int arr[] = {5,6,7};
  • int arr[3] = {5,6};
  • int arr[3] = {5,6,7,8};
  • int arr[5] = {0};
  1. 关于函数参数传递的说法,正确的有() {{ multiselect(41) }}
  • 值传递中形参是实参的副本
  • 函数参数可以是数组
  • 形参修改一定影响实参
  • 函数可以没有参数
  1. 下列循环语句能正常执行的有() {{ 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; }
  1. 下列关于数组的说法,正确的有() {{ multiselect(43) }}
  • 数组元素类型必须一致
  • 数组下标从 0 开始
  • 数组大小可随时修改
  • 空数组定义合法(int arr[];)
  1. 关于if-else语句的用法,正确的有() {{ multiselect(44) }}
  • if条件表达式结果为布尔值
  • 可嵌套多层if-else
  • else可与任意if配对
  • 多个if-else可并列使用
  1. 下列变量定义合法的有() {{ multiselect(45) }}
  • int a = 123;
  • char b = 'q';
  • double c = 8.05;
  • int #e = 7;