一、单选题(共15题,共30分)
第1题 人们所使用的手机上安装的App通常指的是( )。
A:一款操作系统
B:一款应用软件
C:一种通话设备
D:以上都不对
答案:B
第2题 下列流程图的输出结果是?( )
A:9
B:7
C:5
D:11
答案:A
第3题 对包含 n 个元素的数组进行冒泡排序,平均时间复杂度一般为( )。
A:O(n)
B:O(nlogn)
C:O(n2)
D:以上都不正确
答案:C
第4题 下列关于C++语言中指针的叙述,不正确的是( )。
A:可以定义指向 int 类型的指针。
B:可以定义指向自定义结构体类型的指针。
C:自定义结构体类型可以包含指针类型的元素。
D:不能定义指向void类型的指针,那没有意义。
答案:D
第5题 下列关于C++语言中数组的叙述,不正确的是( )。
A:一维数组可以用来表示数列。
B:二维数组可以用来表示矩阵。
C:三维数组可以用来表示空间中物体的形状。
D:世界是三维的,所以定义四维数组没有意义。
答案:D
第6题 下列关于C++语言中函数的叙述,正确的是( )。
A:函数调用前必须定义。
B:函数调用时必须提供足够的实际参数。
C:函数定义前必须声明。
D:函数声明只能写在函数调用前。
答案:B
第7题 下列关于C++语言中函数的叙述,不正确的是( )。
A:两个函数的声明可以相同。
B:两个函数的局部变量可以重名。
C:两个函数的参数可以重名。
D:两个函数可以重名。
答案:A
第8题
一个二维数组定义为 char array[3][10];
,则这个二维数组占用内存的大小为( )。
A:10
B:30
C:32
D:48
答案:B
第9题
如果 n 为 int 类型的变量,一个指针变量定义为 int *p = &n;
,则下列说法正确的是( )。
A:指针变量 p 的值与变量 n 是相同的。
B:指针变量 p 的值与变量 n 的地址是相同的。
C:指针变量 p 指向的值为 ‘n’ 。
D:指针变量 p 指向的值与变量 n 的地址是相同的。
答案:B
第10题
一个三维数组定义为 long long array[6][6][6];
,则 array[1][2][3]
和 array[3][2][1]
在内存中的位置相差多少字节?( )
A:70字节
B:198字节
C:560字节
D:无法确定
答案:C
第11题 如果 a 为 int 类型的变量,且 a 的值为6,则执行 a = ~a; 之后, a 的值会是( )。
A:-6
B:6
C:-7
D:7
答案:C
第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}
答案:A
第13题 下列关于C++语言中异常处理的叙述,正确的是( )。
A:一个 try 子句可以有多个 catch 子句与之对应。
B:如果 try 子句在执行时发生异常,就一定会进入某一个 catch 子句执行。
C:如果 try 子句中没有可能发生异常的语句,会产生编译错误。
D:catch 子句处理异常后,会重新执行与之对应的 try 子句。
答案:A
第14题 执行以下C++语言程序后,输出结果是( )。
A:0
B:5
C:55
D:无法确定。
答案: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++
答案:C
二、判断题(共10题,共20分)
第16题 在C++语言中,指针变量在逻辑上指向另一个变量在内存中的位置,指针变量本身不占用内存。
答案:错误
第17题 对N个元素的数组执行插入排序算法,通常的时间复杂度是O(N2)。
答案:正确
第18题 在C++语言中,每个变量都有其作用域。
答案:正确
第19题 在C++语言中,在函数调用时,通过引用传递的参数不会复制实际参数,因此不会额外占用内存。
答案:错误
第20题 在C++语言中,可以通过定义结构体,定义一个新的数据类型。
答案:正确
第21题 在C++语言中,可以定义结构体类型的数组变量,定义结构体时也可以包含数组成员。
答案:正确
第22题
如果希望记录10个最长为99字节的字符串,可以将字符串数组定义为 char s[10][100];
。
答案:正确
第23题 一个可能抛出异常的函数,调用它的位置没有在 try 子句中,会引起编译错误。
答案:错误
第24题 == 和 := 都是C++语言的运算符。
答案:错误
第25题 通过使用文件重定向操作,可以将程序中输出到 cout 的内容输出到文件中,这是常用的记录程序运行日志的方法之一。
答案:正确
三、编程题(共2题,共50分)