AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、〖第17题〗635) 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。

A
2
B
3
C
4
D
 无确定值

答案解析

正确答案:B

解析:

这是一道关于 C 语言二维数组初始化的经典题目。以下是详细的解析: ### 核心考点 **二维数组初始化时,第一维(行数)的自动推导规则。** ### 详细推导过程 1. **理解数组定义** 语句 `int a[][3] = {1, 2, 3, 4, 5, 6, 7};` 定义了一个二维整型数组 `a`。 * `[]` 表示第一维(行数)未指定,编译器需要根据初始化列表的内容自动计算。 * `[3]` 表示第二维(列数)固定为 3,即每一行最多存放 3 个整数。 2. **分析初始化列表** 初始化列表中共有 **7** 个元素:`{1, 2, 3, 4, 5, 6, 7}`。 3. **计算行数(第一维大小)** 在 C 语言中,当省略第一维大小时,行数的计算公式为: $$ \text{行数} = \lceil \frac{\text{元素总个数}}{\text{列数}} \rceil $$ 也就是:**行数 = (元素总数 + 列数 - 1) / 列数** (向上取整)。 具体分配如下: * **第 1 行** (`a[0]`):容纳前 3 个元素 `{1, 2, 3}` * **第 2 行** (`a[1]`):容纳接下来的 3 个元素 `{4, 5, 6}` * **第 3 行** (`a[2]`):容纳剩下的 1 个元素 `{7}`,其余位置自动补 0,即 `{7, 0, 0}` 因为还有剩余元素需要存放,所以必须开辟第 3 行。 数学计算:$7 \div 3 = 2 \dots 1$。商为 2,余数为 1,说明填满 2 行后还剩 1 个元素,因此需要第 3 行。所以总行数为 **3**。 ### 结论 数组 `a` 的第一维大小(行数)为 **3**。 故正确答案是 **B**。
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码