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

1、第159题 (1.0分) 题号:642 在C语言中,一维数组的定义方式为:类型说明符数组名()。

A
 [常量表达式]
B
 [整型表达式]
C
 [整型常量]或[整型表达式]
D
 [整型常量]

答案解析

正确答案:D

解析:

**解析:** 在 C 语言中,定义一维数组的一般形式为: `类型说明符 数组名[常量表达式];` 对此规则的关键点分析如下: 1. **方括号是必须的**:数组的大小必须放在方括号 `[]` 中。 2. **常量表达式**:方括号内的内容必须是**常量表达式**(Constant Expression)。这意味着在编译阶段就能确定其值。 * 它可以是整型常量(如 `10`)。 * 它可以是符号常量(如通过 `#define N 10` 定义的 `N`)。 * 它**不能**是变量(如 `int n = 10; int a[n];` 在标准 C89/C90 中是非法的,虽然 C99 引入了变长数组 VLA,但在传统的 C 语言基础考试题境中,通常强调数组长度必须是编译时常量)。 * 它**不能**是包含变量的表达式。 **选项分析:** * **A. [常量表达式]**:这个描述在理论上是准确的,因为 C 语言标准确实规定使用“常量表达式”。但是,在很多基础教材和考试语境中,为了区分“常量”和“变量”,往往会特别强调必须是“整型常量”或“值为整型的常量表达式”。如果其他选项有更具体的限制或错误,我们需要对比。然而,看选项 D。 * **B. [整型表达式]**:错误。“整型表达式”可以包含变量,例如 `i + 1`,如果 `i` 是变量,则不能作为数组定义的长度(在传统 C 语言标准下)。 * **C. [整型常量]或[整型表达式]**:错误。理由同上,“整型表达式”可能包含变量,这是不允许的。 * **D. [整型常量]**:这是最符合传统 C 语言教学语境的选项。虽然严格来说可以是“常量表达式”(比如 `5+5` 或 `sizeof(int)`),但这些最终都归结为编译时可确定的**整型常数值**。在许多初级 C 语言题库中,为了简化概念,常将“常量表达式”通俗地表述为要求是一个“整型常量”(即值固定不变的整数)。 **为什么选 D 而不是 A?** 这就涉及到具体教材的定义习惯。 * 如果题目严格遵循 ANSI C 标准术语,**A** 其实更准确(因为 `#define N 10` 后 `a[N]` 中的 `N` 是宏替换后的常量表达式,不仅仅是狭义的“整型常量字面量”)。 * 但是,观察本题给出的答案是 **D**。这说明出题者的逻辑是:强调数组长度必须是**固定的、已知的整数**,排除任何涉及“变量”或“运行时计算”的可能性。在很多老式教材中,会直接说“数组名[整型常量]”。 * 另外,有些语境下,“常量表达式”可能被误解为包含浮点数等,而数组下标/长度必须是**整型**的。选项 D 明确指出了“整型”和“常量”两个关键属性。 **总结:** C 语言规定,定义数组时,方括号内必须是**值为正整数的常量表达式**。在常见的单选题库中,**[整型常量]** 是被广泛接受的标准答案,用以区别于包含变量的表达式。 因此,正确答案是 **D**。
题目纠错
c语言选择判断题库

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

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