0 #GESP131. GESP四级第二次训练题单
GESP四级第二次训练题单
- 下列关于 C++语言中指针的叙述,不正确的是( )。{{ select(1) }}
- 指针变量中存储的是内存地址。
- 定义指针变量时必须指定其指向的类型。
- 指针变量只能指向基本类型变量,不能指向指针变量。
- 指针变量指向的内存地址不一定能够合法访问。
- 下列关于 C++语言中函数的叙述,正确的是( )。{{ select(2) }}
- 函数必须有名字。
- 函数必须有参数。
- 函数必须有返回值。
- 函数定义必须写在函数调用前。
- 一个变量定义为 int *p = nullptr;,则下列说法正确的是( )。{{ select(3) }}
- 该指针变量的类型为 int。
- 该指针变量指向的类型为 int。
- 该指针变量指向的内存地址是随机的。
- 访问该指针变量指向的内存会出现编译错误。
- 一个数组定义为 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}
- 以下哪个函数声明在调用时可以传递二维数组的名字作为参数?( ){{ 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) }}
- array[min] > array[j]
- array[min] > array[i]
- min > array[j]
- min > array[i]
- 数列 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) }}
- 正确
- 错误
- 在 C++语言中,函数的参数默认以引用传递方式进行传递。() {{ select(8) }}
- 正确
- 错误
- 在 C++语言中,一个函数没有被调用时,它的参数不占用内存。() {{ select(9) }}
- 正确
- 错误
- 下列关于C++语⾔中指针的叙述 ,不正确的是( )。 {{ select(10) }}
- 可以定义指向int类型的指针。
- 可以定义指向⾃定义结构体类型的指针。
- ⾃定义结构体类型可以包含指针类型的元素。
- 不能定义指向void类型的指针 ,那没有意义。
- 下列关于C++语⾔中函数的叙述 ,正确的是( )。{{ select(11) }}
- 函数调用前必须定义。
- 函数调用时必须提供足够的实际参数。
- 函数定义前必须声明。
- 函数声明只能写在函数调用前。
- 下列关于C++语⾔中函数的叙述 ,不正确的是( )。{{ select(12) }}
- 两个函数的声明可以相同。
- 两个函数的局部变量可以重名。
- 两个函数的参数可以重名。
- 两个函数可以重名。
- 如果n为int类型的变量,⼀个指针变量定义为int *p=&n; ,则下列说法正确的 是( )。{{ select(13) }}
- 指针变量p的值与变量n是相同
- 指针变量p的值与变量n的地址是相同的。
- 指针变量p指向的值为 'n'。
- 指针变量p指向的值与变量n的地址是相同的。
- ⼀个数组定义为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}
- 在下列代码的横线处填写( ),完成对有 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++
- 在C++语言中 ,指针变量在逻辑上指向另⼀个变量在内存中的位置 ,指针 变量本身不占用内存。() {{ select(16) }}
- 正确
- 错误
- 在C++语言中 ,在函数调用时 ,通过引用传递的参数不会复制实际参数, 因此不会额外占用内存。() {{ select(17) }}
- 正确
- 错误
- 一个可能抛出异常的函数,调用它的位置没有在try子句中,会引起编译错误。() {{ select(18) }}
- 正确
- 错误
- 下面有关函数参数的说法,正确的是( )。 {{ select(19) }}
- 函数参数传递时,主函数当中采用值传递方式将参数传递给子函数时,若子函数将参数值改变,主函数当中的参数值不变。
- 函数参数传递时,主函数当中采用值传递方式将参数传递给子函数时,若子函数将参数值改变,主函数当中的参数值将随子函数一样改变而改变。
- 函数参数传递时,主函数如果将参数的地址传递给子函数,若子函数将参数值改变,主函数当中的参数值将不改变。
- 函数参数传递可以不满足子函数的参数个数要求。
-
下面C++代码最后执行后输出是( )。
{{ select(20) }}
- 1
- 2
- 3
- 4
-
下面C++代码执行后输出是( )。
{{ select(21) }}
- 1,2,3
- 1
- 2
- 3
-
如果变量x的地址是
0x6ffe14
,下面C++代码执行以后输出的是( )。{{ select(22) }}
0x6ffe11
0x6ffe14
0x6ffe18
0x6ffe15
-
在C++中,执行下面代码后,输出的是( )
{{ select(23) }}
- 400
- 200
- 20
- 100
-
以下C++代码用于实现每个整数对应的因数,如输入
12
,则输出1 2 3 4 6 12
;如输入18
,则输出1 2 3 6 9 18
。横线处应填入代码是( )。{{ select(24) }}
if(n%i==0)
if(n/i==0)
if(n%i!=0)
if(n/i!=0)
- 若函数声明为
int f(int &x){ x+=3; return x; }
,则对声明的变量int a=3
,下面哪个调用能够改变a
的值( )。{{ select(25) }}
f(&a) ;
f(*a) ;
f(a) ;
f(a-3) ;
-
下面C++代码执行后输出是( )。
{{ select(26) }}
1
1.1
3
3.1
- 对二维数组
int arr[3][16];
,若arr
的地址是0x28cbc0
,则arr[1]
的值是( )。 {{ select(27) }}
0x28cbc4
0x28cbd0
0x28cc00
- 不确定
-
下面C++代码执行后输出是( )。
{{ select(28) }}
e
I lov
e GESP!
GESP!
-
下面C++函数中采用的算法是( )。
{{ select(29) }}
- 递推
- 递归
- 迭代
- 循环
-
执行下列C++代码时输出中的第2行是( )。
{{ select(30) }}
2024
3.16
024
3
- 定义变量
int a=5
, 则cout << &++a
会输出6
。( ) {{ select(31) }}
- 正确
- 错误
- 在C++语言中,函数的参数为指针时,可以在函数内部修改该参数的值。( ) {{ select(32) }}
- 正确
- 错误
-
下列代码中,输出结果是()。
{{ select(33) }}
- 12 24 24 12
- 24 12 12 24
- 12 12 24 24
- 24 24 12 12
- 下面函数不能正常执行的是( )。 {{ select(34) }}
- 假设变量 a 的地址是0x6ffe14,下面程序的输出是( )。 {{ select(35) }}
- 10
- 0x6ffe14
- 0x6ffe15
- 0x6ffe18
-
如果下列程序输出的地址是 0x6ffe00 ,则 cout<<a+1<<endl; 输出的是( )。
{{ select(36) }}
- 0x6ffe04
- 0x6ffe0C
- 0x6ffe08
- 0x6ffe00
-
下列程序横线处,应该输入的是( )
{{ 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]);
- 下面关于递推的说法不正确的是( )
{{ select(38) }}
- 递推表现为自己调用自己
- 递推是从简单问题出发,一步步的向前发展,最终求得问题。是正向的
- 递推中,问题的n要求是在计算中确定,不要求计算前就知道n
- 斐波那契数列可以用递推实现求解
-
下面程序中,如果语句 cout<<p<<endl; 输出的是 0x6ffe00 ,则 cout<<++p<<endl; 输出的是()
{{ select(39) }}
- 0x6ffe0c
- 0x6ffe09
- 0x6ffe06
- 0x6ffe04
- int& a 和 &a 是一样的,都是取 a 的地址。() {{ select(40) }}
- 正确
- 错误
-
以下代码不能够正确执行。()
{{ select(41) }}
- 正确
- 错误
- 引用是一个指针常量。( ) {{ select(42) }}
- 正确
- 错误
-
下面程序两个输出结果是一样的。( )
{{ select(43) }}
- 正确
- 错误
- 函数不可以调用自己。() {{ select(44) }}
- 正确
- 错误
- 函数参数传递过程中,如果传常量值、常量引用和常量指针都是不能被修改的,它们可以防止函数对实参的 值或地址进行修改。( ) {{ select(45) }}
- 正确
- 错误