跳到正文
OJ
佛大附属信奥
在线评测 · 分级学习
学习
题库
测验
提交
作业
留言
登录
菜单
学习
题库
测验
提交
作业
留言
登录
GESP C++ 四级 · 2023 年 9 月认证理论卷
登录
后作答才能记录成绩
一、单选题(每题 2 分)
1.
人们所使用的手机上安装的App通常指的是( )。
A. 一款操作系统
B. 一款应用软件
C. 一种通话设备
D. 以上都不对
2.
下列流程图的输出结果是?( )
A. 9
B. 7
C. 5
D. 11
3.
对包含n个元素的数组进行冒泡排序,平均时间复杂度一般为( )。
A. $O(n)$
B. $O(n^2)$
C. $O(n \log n)$
D. 以上都不正确
4.
下列关于C++语言中指针的叙述,不正确的是( )。
A. 可以定义指向int类型的指针。
B. 可以定义指向自定义结构体类型的指针。
C. 自定义结构体类型可以包含指针类型的元素。
D. 不能定义指向void类型的指针,那没有意义。
5.
下列关于C++语言中数组的叙述,不正确的是( )。
A. 一维数组可以用来表示数列。
B. 二维数组可以用来表示矩阵。
C. 三维数组可以用来表示空间中物体的形状。
D. 世界是三维的,所以定义四维数组没有意义。
6.
下列关于C++语言中函数的叙述,正确的是( )。
A. 函数调用前必须定义。
B. 函数调用时必须提供足够的实际参数。
C. 函数定义前必须声明。
D. 函数声明只能写在函数调用前。
7.
下列关于C++语言中函数的叙述,不正确的是( )。
A. 两个函数的声明可以相同。
B. 两个函数的局部变量可以重名。
C. 两个函数的参数可以重名。
D. 两个函数可以重名。
8.
一个二维数组定义为char array[3][10];,则这个二维数组占用内存的大小为( )。
A. 10
B. 30
C. 32
D. 48
9.
如果n为int类型的变量,一个指针变量定义为int *p = &n;,则下列说法正确的是( )。
A. 指针变量p的值与变量n是相同的。
B. 指针变量p的值与变量n的地址是相同的。
C. 指针变量p指向的值为'n'。
D. 指针变量p指向的值与变量n的地址是相同的。
10.
一个三维数组定义为long long array[6][6][6];,则array[1][2][3]和array[3][2][1]在内存中的位置相差多少字节?( )
A. 70字节
B. 198字节
C. 560字节
D. 无法确定
11.
如果a为int类型的变量,且a的值为6,则执行a = ~a;之后,a的值会是( )。
A. -6
B. 6
C. -7
D. 7
12.
一个数组定义为int a[5] = {1, 2, 3, 4, 5};,一个指针定义为int * p = &a[2];,则执行*p = a[1];后,数组a中的值会变为( )。
A. {1, 2, 2, 4, 5}
B. {1, 3, 3, 4, 5}
C. {1, 2, 3, 3, 5}
D. {1, 2, 4, 4, 5}
13.
下列关于C++语言中异常处理的叙述,正确的是( )。
A. 一个try子句可以有多个catch子句与之对应。
B. 如果try子句在执行时发生异常,就一定会进入某一个catch子句执行。
C. 如果try子句中没有可能发生异常的语句,会产生编译错误。
D. catch子句处理异常后,会重新执行与之对应的try子句。
14.
执行以下C++语言程序后,输出结果是( )。 ```cpp // 代码内容见原题 ```
A. 0
B. 5
C. 55
D. 无法确定。
15.
在下列代码的横线处填写( ),完成对有n个int类型元素的数组array由小到大排序。
A. int j = 1; j < n; j++
B. int j = 0; j < n; j++
C. int j = 0; j < i - 1; j++
D. int j = 0; j < i; j++
二、判断题(每题 2 分)
1.
在C++语言中,指针变量在逻辑上指向另一个变量在内存中的位置,指针变量本身不占用内存。 ( )
对
错
2.
对n个元素的数组执行插入排序算法,通常的时间复杂度是$O(n)$。 ( )
对
错
3.
在C++语言中,每个变量都有其作用域。 ( )
对
错
4.
在C++语言中,在函数调用时,通过引用传递的参数不会复制实际参数,因此不会额外占用内存。 ( )
对
错
5.
在C++语言中,可以通过定义结构体,定义一个新的数据类型。 ( )
对
错
6.
在C++语言中,可以定义结构体类型的数组变量,定义结构体时也可以包含数组成员。 ( )
对
错
7.
如果希望记录10个最长为99字节的字符串,可以将字符串数组定义为char s[10][100];。 ( )
对
错
8.
一个可能抛出异常的函数,调用它的位置没有在try子句中,会引起编译错误。 ( )
对
错
9.
==和:=都是C++语言的运算符。 ( )
对
错
10.
通过使用文件重定向操作,可以将程序中输出到cout的内容输出到文件中,这是常用的记录程序运行日志的方法之一。 ( )
对
错