#4212. 信息素养大赛C++初赛模拟题(三)

信息素养大赛C++初赛模拟题(三)

一.单选题

  1. 下列关于 C++语言的叙述,不正确的是()。

{{ select(1) }}

  • 变量定义时可以不初始化
  • 变量被赋值之后的类型不变
  • 变量没有定义也能够使用
  • 变量名必须是合法的标识符
  1. 如果 a 和 b 为 int 类型的变量,且值分别为 7 和 2,则下列哪个表达式的计算结果不是 3.5?( )

{{ select(2) }}

  • 0.0 + a / b
  • (a + 0.0) / b
  • (0.0 + a) / b
  • a / (0.0 + b)
  1. 下面C++代码第2行,总共被执行次数是( )。

{{ select(3) }}

  • 10
  • 19
  • 20
  • 21
  1. 如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断“a 等于 0 或 b 等于 0”的是() {{ select(4) }}
  • (!a) || (!b)
  • (a == b == 0)
  • (a == 0) && (b == 0)
  • (a == 0) - (b == 0) == 0
  1. 以下选项中,不能用于表示分支结构的C++保留字是?( ) {{ select(5) }}
  • switch
  • return
  • else
  • if
  1. 下面C++代码执行后的输出是( )。

    {{ select(6) }}

  • 0
  • 1
  • 2
  • 3
  1. 以下C++代码用于输出1-100(含)的整数平方数(完全平方数),如16是4的平方, 横线处应填写( )。

{{ select(7) }}

  • int(sqrt(i)) * int(sqrt(i)) = i
  • int(sqrt(i)) == sqrt(i)
  • int(sqrt(i)) * int(sqrt(i)) == i
  • int(sqrt(i)) = sqrt(i)
  1. 以下C++代码判断一个正整数N的各个数位是否都是偶数。如果都是,则输出“是”,否则输出“否”。例如N=2024时输出“是”。则横线处应填( )。

{{ select(8) }}

  • break
  • continue
  • N = N / 10
  • N = N % 10
  1. 一个数组定义为 double array[3];,则这个数组占用内存的大小为( )。

{{ select(9) }}

  • 24
  • 12
  • 6
  • 3
  1. 以下数组定义,符合C++语言语法的是( )。

    {{ select(10) }}

  • double a[];
  • double b[] = {1, 2.0, '3'};
  • double c[3.0];
  • double[] d = new double[3];
  1. 执行下面C++代码后输出的是( )。

{{ select(11) }}

  • 输出未知的数
  • 输出'n'
  • 输出'\0'
  • 输出空格
  1. 在下列代码的横线处填写( ),可以使得输出是 ABCD IS INTERESTING 。

{{ select(12) }}

  • str[i]+='a'-'A'
  • str[i]+=20
  • str[i]+='A'-'a'
  • 无法实现
  1. 下列关于C++语言中数组的叙述,不正确的是( )。

{{ select(13) }}

  • 一维数组可以用来表示数列。
  • 二维数组可以用来表示矩阵。
  • 三维数组可以用来表示空间中物体的形状。
  • 世界是三维的,所以定义四维数组没有意义。
  1. 下列关于 C++语言中数组的叙述,不正确的是( )。

    {{ select(14) }}

  • 一维数组在内存中一定是连续存放的。
  • 二维数组是一维数组的一维数组。
  • 二维数组中的每个一维数组在内存中都是连续存放的。
  • 二维数组在内存中可以不是连续存放的。
  1. 在下列代码的横线处填写( ),完成对有 n 个 int 类型元素的数组 array 由小到大排序。

{{ select(15) }}

  • int j=1;j<n; j++
  • int j=0;j<n; j++
  • int j=0;j<i-1; j++
  • int j=0;j<i; j++
  1. 下面C++代码执行后的结果是( )。

{{ select(16) }}

  • image
  • image
  • image
  • image
  1. 下面C++代码以递归方式实现合并排序,并假设 merge (int T[], int R[], int s, int m, int t) 函 数将有序(同样排序规则)的T[s..m]和T[m+1..t]归并到R[s..t]中。横线处应填上代码是( )。

{{ select(17) }}

  • mergeSort(SList,T2,s,m,len),mergeSort(SList,T2, m,t,len)
  • mergeSort(SList,T2,s,m-1,len),mergeSort(SList,T2, m+1,t,len)
  • mergeSort(SList,T2,s,m,len),mergeSort(SList,T2, m+1,t,len)
  • mergeSort(SList,T2,s,m-1,len),mergeSort(SList,T2, m-1,t,len)
  1. 小杨想编写一个判断任意输入的整数N是否为素数的程序,下面哪个方法不合适?( )

{{ select(18) }}

  • 埃氏筛法
  • 线性筛法
  • 二分答案
  • 枚举法
  1. 辗转相除法也被称为( )

{{ select(19) }}

  • 高斯消元法
  • 费马定理
  • 欧几里德算法
  • 牛顿迭代法
  1. 以下代码使用了辗转相除法求解最大公因数,请在横线处填入( ),使其能正确实现相应功能。

{{ select(20) }}

  • int temp=b;b=a/b;a=temp;
  • int temp=a;a=b/a;b=temp;
  • int temp=b;b=a%b; a=temp;
  • b=a% b; a=b;

二.判断题

  1. C++语句 cout << (2, 3, "23") 的输出为 2, 3, 23 。 {{ select(21) }}
  • 正确
  • 错误
  1. 如果 a 为 int 类型的变量,则表达式(a % 4 == 2)可以判断 a 的值是否为偶数。

    {{ select(22) }}

  • 正确
  • 错误
  1. 在C++中,while可能是死循环,而for循环不可能是死循环。

    {{ select(23) }}

  • 正确
  • 错误
  1. Xyz , xYz , xyZ 是三个不同的变量。

    {{ select(24) }}

  • 正确
  • 错误
  1. C++语言中>=是运算符,但=>不是。

    {{ select(25) }}

  • 正确
  • 错误
  1. 在 C++语言中,可以使用字符(如'0')作为数组下标。

{{ select(26) }}

  • 正确
  • 错误
  1. 执行C++代码 cout<<(5||2); 后将输出 1 。

​ {{ select(27) }}

  • 正确
  • 错误
  1. 已知 A 的ASCII码值为65,表达式 int('C')+abs(-5.8) 的值为72.8。

    {{ select(28) }}

  • 正确
  • 错误
  1. C++语言中 cout << 9^2 << endl; 会输出81。

    {{ select(29) }}

  • 正确
  • 错误
  1. 单链表和双链表都可以在常数时间内实现在链表头部插入或删除节点的操作。

    {{ select(30) }}

  • 正确
  • 错误