0 #GESP131. GESP四级第二次训练题单

GESP四级第二次训练题单

  1. 下列关于 C++语言中指针的叙述,不正确的是( )。{{ select(1) }}
  • 指针变量中存储的是内存地址。
  • 定义指针变量时必须指定其指向的类型。
  • 指针变量只能指向基本类型变量,不能指向指针变量。
  • 指针变量指向的内存地址不一定能够合法访问。
  1. 下列关于 C++语言中函数的叙述,正确的是( )。{{ select(2) }}
  • 函数必须有名字。
  • 函数必须有参数。
  • 函数必须有返回值。
  • 函数定义必须写在函数调用前。
  1. 一个变量定义为 int *p = nullptr;,则下列说法正确的是( )。{{ select(3) }}
  • 该指针变量的类型为 int。
  • 该指针变量指向的类型为 int。
  • 该指针变量指向的内存地址是随机的。
  • 访问该指针变量指向的内存会出现编译错误。
  1. 一个数组定义为 int a[5] = {1, 2, 3, 4, 5};,一个指针定义为 int * p = &a[2];,则 执行 a[1] = *p;后,数组 a 中的值会变为( )。{{ select(4) }}
  • {1, 3, 3, 4, 5}
  • {2, 2, 3, 4, 5}
  • {1, 2, 2, 4, 5}
  • {1, 2, 3, 4, 5}
  1. 以下哪个函数声明在调用时可以传递二维数组的名字作为参数?( ){{ select(5) }}
  • void BubbleSort(int a[][4]);
  • void BubbleSort(int a[3][]);
  • void BubbleSort(int a[][]);
  • void BubbleSort(int ** a);

6.在下列代码的横线处填写( ),完成对有 n 个 int 类型元素的数组 array 由 小到大排序。{{ select(6) }} image

  • array[min] > array[j]
  • array[min] > array[i]
  • min > array[j]
  • min > array[i]
  1. 数列 1, 1, 2, 3, 5, 8 ... 是以意大利数学家列昂纳多·斐波那契命名的数列,从第 三个数开始,每个数是前面两项之和。如果计算该数列的第 n 项(其中 n>3) fib(n),我们采用如下方法:① 令 fib(1)=fib(2)=1 ②用循环 for i=3 to n 分别计 算 f(i) ③输出 fib(n)。这体现了递推的编程思想() {{ select(7) }}
  • 正确
  • 错误
  1. 在 C++语言中,函数的参数默认以引用传递方式进行传递。() {{ select(8) }}
  • 正确
  • 错误
  1. 在 C++语言中,一个函数没有被调用时,它的参数不占用内存。() {{ select(9) }}
  • 正确
  • 错误
  1. 下列关于C++语⾔中指针的叙述 ,不正确的是( )。 {{ select(10) }}
  • 可以定义指向int类型的指针。
  • 可以定义指向⾃定义结构体类型的指针。
  • ⾃定义结构体类型可以包含指针类型的元素。
  • 不能定义指向void类型的指针 ,那没有意义。
  1. 下列关于C++语⾔中函数的叙述 ,正确的是( )。{{ select(11) }}
  • 函数调用前必须定义。
  • 函数调用时必须提供足够的实际参数。
  • 函数定义前必须声明。
  • 函数声明只能写在函数调用前。
  1. 下列关于C++语⾔中函数的叙述 ,不正确的是( )。{{ select(12) }}
  • 两个函数的声明可以相同。
  • 两个函数的局部变量可以重名。
  • 两个函数的参数可以重名。
  • 两个函数可以重名。
  1. 如果n为int类型的变量,⼀个指针变量定义为int *p=&n; ,则下列说法正确的 是( )。{{ select(13) }}
  • 指针变量p的值与变量n是相同
  • 指针变量p的值与变量n的地址是相同的。
  • 指针变量p指向的值为 'n'。
  • 指针变量p指向的值与变量n的地址是相同的。
  1. ⼀个数组定义为int a[5] = {1, 2, 3, 4, 5}; ,⼀个指针定义为int * p = &a[2]; ,则执⾏*p = a[1]; 后 ,数组a中的值会变为( ){{ select(14) }}
  • {1, 2, 2, 4, 5}
  • {1, 3, 3, 4, 5}
  • {1, 2, 3, 3, 5}
  • {1, 2, 4, 4, 5}
  1. 在下列代码的横线处填写( ),完成对有 n个int类型元素的数组 array 由小到大排序。 image {{ 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) }}
  • 正确
  • 错误
  1. 在C++语言中 ,在函数调用时 ,通过引用传递的参数不会复制实际参数, 因此不会额外占用内存。() {{ select(17) }}
  • 正确
  • 错误
  1. 一个可能抛出异常的函数,调用它的位置没有在try子句中,会引起编译错误。() {{ select(18) }}
  • 正确
  • 错误
  1. 下面有关函数参数的说法,正确的是( )。 {{ select(19) }}
  • 函数参数传递时,主函数当中采用值传递方式将参数传递给子函数时,若子函数将参数值改变,主函数当中的参数值不变。
  • 函数参数传递时,主函数当中采用值传递方式将参数传递给子函数时,若子函数将参数值改变,主函数当中的参数值将随子函数一样改变而改变。
  • 函数参数传递时,主函数如果将参数的地址传递给子函数,若子函数将参数值改变,主函数当中的参数值将不改变。
  • 函数参数传递可以不满足子函数的参数个数要求。
  1. 下面C++代码最后执行后输出是( )。

    image {{ select(20) }}

  • 1
  • 2
  • 3
  • 4
  1. 下面C++代码执行后输出是( )。

    image

{{ select(21) }}

  • 1,2,3
  • 1
  • 2
  • 3
  1. 如果变量x的地址是0x6ffe14,下面C++代码执行以后输出的是( )。

    image {{ select(22) }}

  • 0x6ffe11
  • 0x6ffe14
  • 0x6ffe18
  • 0x6ffe15
  1. 在C++中,执行下面代码后,输出的是( )

    image

{{ select(23) }}

  • 400
  • 200
  • 20
  • 100
  1. 以下C++代码用于实现每个整数对应的因数,如输入 12 ,则输出 1 2 3 4 6 12 ;如输入 18,则输出1 2 3 6 9 18 。横线处应填入代码是( )。

    image {{ select(24) }}

  • if(n%i==0)
  • if(n/i==0)
  • if(n%i!=0)
  • if(n/i!=0)
  1. 若函数声明为 int f(int &x){ x+=3; return x; },则对声明的变量 int a=3 ,下面哪个调用能够改变 a 的值( )。{{ select(25) }}
  • f(&a) ;
  • f(*a) ;
  • f(a) ;
  • f(a-3) ;
  1. 下面C++代码执行后输出是( )。

    image {{ select(26) }}

  • 1
  • 1.1
  • 3
  • 3.1
  1. 对二维数组 int arr[3][16]; ,若 arr 的地址是 0x28cbc0 ,则 arr[1] 的值是( )。 {{ select(27) }}
  • 0x28cbc4
  • 0x28cbd0
  • 0x28cc00
  • 不确定
  1. 下面C++代码执行后输出是( )。

    image {{ select(28) }}

  • e
  • I lov
  • e GESP!
  • GESP!
  1. 下面C++函数中采用的算法是( )。

    image {{ select(29) }}

  • 递推
  • 递归
  • 迭代
  • 循环
  1. 执行下列C++代码时输出中的第2行是( )。

    image {{ select(30) }}

  • 2024
  • 3.16
  • 024
  • 3
  1. 定义变量 int a=5 , 则 cout << &++a 会输出 6 。( ) {{ select(31) }}
  • 正确
  • 错误
  1. 在C++语言中,函数的参数为指针时,可以在函数内部修改该参数的值。( ) {{ select(32) }}
  • 正确
  • 错误
  1. 下列代码中,输出结果是()。

    image {{ select(33) }}

  • 12 24 24 12
  • 24 12 12 24
  • 12 12 24 24
  • 24 24 12 12
  1. 下面函数不能正常执行的是( )。 {{ select(34) }}
  • image
  • image
  • image
  • image
  1. 假设变量 a 的地址是0x6ffe14,下面程序的输出是( )。 image {{ select(35) }}
  • 10
  • 0x6ffe14
  • 0x6ffe15
  • 0x6ffe18
  1. 如果下列程序输出的地址是 0x6ffe00 ,则 cout<<a+1<<endl; 输出的是( )。

    image {{ select(36) }}

  • 0x6ffe04
  • 0x6ffe0C
  • 0x6ffe08
  • 0x6ffe00
  1. 下列程序横线处,应该输入的是( )

    image

{{ select(37) }}

  • swap(a[j],a[j+1]);
  • swap(a[j-1],a[j]);
  • swap(a[j-1],a[j+1]);
  • swap(&a[j-1],&a[j+1]);
  1. 下面关于递推的说法不正确的是( )

{{ select(38) }}

  • 递推表现为自己调用自己
  • 递推是从简单问题出发,一步步的向前发展,最终求得问题。是正向的
  • 递推中,问题的n要求是在计算中确定,不要求计算前就知道n
  • 斐波那契数列可以用递推实现求解
  1. 下面程序中,如果语句 cout<<p<<endl; 输出的是 0x6ffe00 ,则 cout<<++p<<endl; 输出的是()

    image {{ select(39) }}

  • 0x6ffe0c
  • 0x6ffe09
  • 0x6ffe06
  • 0x6ffe04
  1. int& a 和 &a 是一样的,都是取 a 的地址。() {{ select(40) }}
  • 正确
  • 错误
  1. 以下代码不能够正确执行。()

    image {{ select(41) }}

  • 正确
  • 错误
  1. 引用是一个指针常量。( ) {{ select(42) }}
  • 正确
  • 错误
  1. 下面程序两个输出结果是一样的。( )

    image {{ select(43) }}

  • 正确
  • 错误
  1. 函数不可以调用自己。() {{ select(44) }}
  • 正确
  • 错误
  1. 函数参数传递过程中,如果传常量值、常量引用和常量指针都是不能被修改的,它们可以防止函数对实参的 值或地址进行修改。( ) {{ select(45) }}
  • 正确
  • 错误