#P5274. 【大湾区】第一届C++语言试题初中组

【大湾区】第一届C++语言试题初中组

Description

**一,单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项)** 1. 如下关于C++编程语言中基础数据类型说法不正确的是()。 * double 类型的变量占用内存的大小是浮动的。 * bool 类型的变量占用 1 字节内存。 * int 类型变量的取值范围不是无限的。 * char 类型的变量有 256 种取值。 2. ()是一种解释型编程语言。 * C 语言 * C++ * Golang * python 3. 以下程序执行完毕时变量x的值为()。 ![image](/upload/106.55.101.120/20250403/B5t6tttSCFx3q3tz3V432.png) * 54321 * 543210 * 531 * 5309 4. 如下语句中等价于“ cout << a[5];”的语句为()。 ![image](/upload/106.55.101.120/20250403/MJ50DI5QF0U-o6CmlyRRR.png) * cout << a + 5; * cout < s.size(),则程序输出一定为负整数 -1。() * 正确 * 错误 29. 若字符串 p 中字符均不重复,则执行中 pmt 数组的值恒为 0。() * 正确 * 错误 30. 对于任意合法输人,程序输出为大于等于 -1 且小于 s.size() 的整数数字。() * 正确 * 错误 ■选择题 31. 若程序输人 s 为 “abcdabceabcf” , p 为 “aaa” , 则程序输出为()。 * -1 * 0 * 4 * 8 32. 若程序输入 s 为 “abcdabceabcf” , p 为 “bcd” , 则程序输出为()。 * -1 * 0 * 1 * 9 33. 若输入 s 由 500 个字符 a 与 1 个字符 b 任意排列组成,输入 p 为连续的 200 个字符 a,则程序输出最大可能为()。 * -1 * 0 * 200 * 301 **三、完善程序(单选题,每小题3分,共计30分)** (一) (求后序遍历)在二叉树的先序 ( 根左右 ) 、中序 ( 左根右 ) 、后序 ( 左右根 ) 遍历中,已知先序与中序就能唯一地确定二叉树的形态。 现对二叉树的每个节点给定一个唯一的字母字符编号,并已知其先序与中序遍历,计算并输出其对应后序遍历。 例如前序为ABDC,中序为DBAC时,程序输出后序应为DBCA。 ![image](/upload/106.55.101.120/20250403/HVczpRqf9d6JFuOhbfD3q.png) 34. (1)处应填()。 * p1 > ir * pr < i1 * p1 ir 35. (2)处应填()。 * p1 * pr * i1 * i 36. (3)处应填()。 * js = i * js = i - 1 * js = pr - i * js += 1 37. (4)处应填()。 * js * root - i1 + 1 * root * root - 1 38. (5)处应填()。 * 0, 1 - 1 * 1 * 0, 1 * 1 - 1, 0 (二) (石子合并)桌面上从左到右放着 n( 1 ≤ n ≤ 20 ) 堆石子,其中 i 堆石子包含的石子数量为b$_i$ ( 1 ≤ b$_i$ ≤ 20 )。现在要将石子有序地合并成一堆。 规定每次能取任意的两堆石子合并成新的一堆,并将新的一堆的石子数,记为该次合并的花费。那么,n - 1 次合并后,石子将合并成一堆。 你需要寻找一种合并方案,使得花费总和最小。输出最小的花费总和。 例如有 4 堆石子,每堆依次为 3、5、6、7。则首先合并第一堆和第二堆,花费为 3 + 5 = 8,剩余 3 堆石子依次为 8、6、7; 再合并当前第二堆和第三堆,花费为 6 + 7 = 13; 剩余两堆石子依次为 8 和 13; 最后合并两堆花费为 8 + 13 = 21。 总花费最小为 8 + 13 + 21 = 42,其他合并方案的花费均大于等于 42。 ![image](/upload/106.55.101.120/20250403/sCu2Rd3mHe8Gfgt0i1FP1.png) 39. (1)处应填()。 * i * 1 << i * i + 1 * i * ( i + 1 ) / 2 40. (2)处应填()。 * a[0] * i / 2 * n - i * 1 41. (3)处应填()。 * i + j * i - j * j * i 42. (4)处应填()。 * dp[i] * dp[i] * dp[i - j] * dp[i] + dp[i-j] 43. (5)处应填()。 * i == 1 * i <= 3 * i % 2 == 0 * dp[i] == 1e9