林老师 · 客观题题库 · 第 6 章 数组与字符串 · 知识细节练习

第 6 章 数组与字符串 · 知识细节练习

50 题 · 每题对应一个知识细节 · 全部原创
真题
复刻
试卷编号ORIG-第6章数组与字符串-知识细节练习
题目总数50 题 · 100 分
试卷类型客观题
考生须知:
① 本卷共 8 大部分,合计 50 题 · 100 分,全部为客观题;
② 试卷右上角设有 「提交答卷」「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。

判 分 报 告

0 / 100 分
0
答 对 · 得 0
0
答 错 · 失 0
当前筛选下没有题目

一维数组基础

7 QUESTIONS · 2 POINTS EACH
第 1 题 A1 未作答

判断题:C++ 数组的下标从 0 开始。

(2 分)
第 2 题 A2 未作答

int a[5] = {1, 2, 3}; 执行后,a[3] 的值是( )。

(2 分)
第 3 题 A3 未作答

判断题:访问数组越界元素(如 int a[5]; 中的 a[5])不会报错,但结果是未定义行为。

(2 分)
第 4 题 A4 未作答

int a[10]; 中,sizeof(a) / sizeof(a[0]) 的值是( )。

(2 分)
第 5 题 A5 未作答

int a[5] = {1, 2, 3, 4, 5}; 用循环求所有元素之和,结果是( )。

(2 分)
第 6 题 A6 未作答

55 个元素的数组完全逆序存放,最少需要交换( )次。

(2 分)
第 7 题 A7 未作答

nn 个元素的数组中找最大值,一般需要( )次比较。

(2 分)

二维数组

7 QUESTIONS · 2 POINTS EACH
第 8 题 B1 未作答

判断题:int a[3][4]; 表示一个 3344 列的二维数组。

(2 分)
第 9 题 B2 未作答

int a[2][3] = {{1, 2, 3}, {4, 5, 6}};a[1][2] 的值是( )。

(2 分)
第 10 题 B3 未作答

判断题:C++ 二维数组按行优先存储(先存完第一行,再存第二行)。

(2 分)
第 11 题 B4 未作答

遍历 int a[3][4]; 的全部元素,需要( )层循环。

(2 分)
第 12 题 B5 未作答

int a[3][4]; 占用( )字节(int44 字节)。

(2 分)
第 13 题 B6 未作答

5×55 \times 5 的数组 a 中,主对角线上的元素是( )。

(2 分)
第 14 题 B7 未作答

按行优先存储的 int a[3][4]; 中,a[2][3] 是从 0 开始数的第( )个元素。

(2 分)

数组应用

6 QUESTIONS · 2 POINTS EACH
第 15 题 C1 未作答

统计一组数字中 090 \sim 9 各出现的次数,计数数组应定义大小为( )。

(2 分)
第 16 题 C2 未作答

前缀和数组 s[i] 表示 a[0] + ... + a[i],则 a[l] + ... + a[r] 等于( )。

(2 分)
第 17 题 C3 未作答

判断题:bool 数组常用来做标记(如 visited),记录某个元素是否被访问过。

(2 分)
第 18 题 C4 未作答

判断题:逆序输出数组元素,只需从下标 n1n-1 循环到 00,不需要真的交换元素。

(2 分)
第 19 题 C5 未作答

判断题:在数组中删除一个元素后,需要把它后面的元素依次前移一位。

(2 分)
第 20 题 C6 未作答

判断题:对已排序的数组去重,只需比较相邻元素是否相同。

(2 分)

字符数组

7 QUESTIONS · 2 POINTS EACH
第 21 题 D1 未作答

判断题:char s[10]; 最多可以存放 99 个字符(要留 11 个位置给结尾的 '\0')。

(2 分)
第 22 题 D2 未作答

判断题:字符串字面量(如 "abc")是常量,不能修改它的内容。

(2 分)
第 23 题 D3 未作答

char s[] = "abc";strlen(s)sizeof(s) 的值分别是( )。

(2 分)
第 24 题 D4 未作答

判断题:遍历字符数组可以用 while (s[i] != '\0')'\0' 是字符串的结束标志。

(2 分)
第 25 题 D5 未作答

C 风格字符串比较是否相等,应使用( )。

(2 分)
第 26 题 D6 未作答

判断题:cin >> s 遇到空格会停止读取,而 getline(cin, s) 会读取整行(含空格)。

(2 分)
第 27 题 D7 未作答

判断题:C++ 中字符串比较(如 "abc" < "abd")按字典序逐字符比较。

(2 分)

ASCII 与字符运算

6 QUESTIONS · 2 POINTS EACH
第 28 题 E1 未作答

char c = '7'; int d = c - '0'; 执行后,d 的值是( )。

(2 分)
第 29 题 E2 未作答

判断题:小写字母 'a' 与大写字母 'A' 的 ASCII 码相差 3232

(2 分)
第 30 题 E3 未作答

判断题:isdigit(c) 用于判断字符 c 是否为数字字符('0''9')。

(2 分)
第 31 题 E4 未作答

字符 'C' 在英文字母表中的序号是( )(从 11 开始数)。

(2 分)
第 32 题 E5 未作答

判断题:把字符串 "123" 转成整数 123123,可以逐位处理:123 = 1 \times 100 + 2 \times 10 + 3

(2 分)
第 33 题 E6 未作答

判断题:把整数逐位取出(用 % 10 取个位、/ 10 去掉个位)可以构造它的字符串形式。

(2 分)

string 类

7 QUESTIONS · 2 POINTS EACH
第 34 题 F1 未作答

判断题:string s = "abc";string s("abc"); 等价。

(2 分)
第 35 题 F2 未作答

string a = "ab", b = "cd"; string c = a + b; 执行后,c 的值是( )。

(2 分)
第 36 题 F3 未作答

判断题:string 类型可以直接用 ==< 比较(按字典序)。

(2 分)
第 37 题 F4 未作答

string s = "abcdef";s.substr(1, 3) 的值是( )。

(2 分)
第 38 题 F5 未作答

string s = "hello";s.find("ll") 的返回值是( )。

(2 分)
第 39 题 F6 未作答

判断题:C++11 起可以用 for (char c : s) 遍历 string 中的每个字符。

(2 分)
第 40 题 F7 未作答

判断题:s.c_str() 返回 C 风格字符串(const char*),用于与 C 语言函数兼容。

(2 分)

字符串处理综合

5 QUESTIONS · 2 POINTS EACH
第 41 题 G1 未作答

统计一段文本中 2626 个小写字母各出现的次数,计数数组应定义大小为( )。

(2 分)
第 42 题 G2 未作答

判断题:判断长度为 nn 的字符串是否回文,可以比较 s[i]s[n - 1 - i]

(2 分)
第 43 题 G3 未作答

string s = "abc"; 反转后得到的字符串是( )。

(2 分)
第 44 题 G4 未作答

字符串 "I love CSP" 按空格分隔,共有( )个单词。

(2 分)
第 45 题 G5 未作答

判断题:删除字符串中所有指定字符,需要把要保留的字符依次前移。

(2 分)

易错综合

5 QUESTIONS · 2 POINTS EACH
第 46 题 H1 未作答

判断题:int a[5]; 中合法的下标范围是 040 \sim 4a[5] 是越界访问。

(2 分)
第 47 题 H2 未作答

判断题:int a[3][4]; 中,a[4][3] 是合法访问(3344 列)。

(2 分)
第 48 题 H3 未作答

判断题:遍历 int a[n]; 时写 for (int i = 0; i <= n; i++) 会越界访问一次。

(2 分)
第 49 题 H4 未作答

要读取含空格的整行字符串,应使用( )。

(2 分)
第 50 题 H5 未作答

下列说法错误的是( )。

(2 分)