单选题
1、第166题 (1.0分) 题号:652 在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A
整型常量
B
整型表达式
C
整型常量或整型表达式
D
任何类型的表达式
答案解析
正确答案:C
解析:
在 C 语言中,数组下标用于指定要访问的数组元素的位置。根据 C 语言标准,数组下标必须是一个**整数类型**的值。
具体分析如下:
1. **整型常量**:例如 `a[5]`,这是最常见的情况,直接使用固定的整数索引。
2. **整型表达式**:例如 `a[i]`、`a[i+j]` 或 `a[func()]`,只要表达式的最终计算结果是整数类型(如 `int`, `char`, `short`, `long` 等),都可以作为数组下标。编译器会在运行时计算该表达式的值,并将其作为索引。
**选项分析:**
* **A. 整型常量**:虽然允许,但不全面,因为变量和表达式也是允许的。
* **B. 整型表达式**:虽然允许,但不全面,因为常量也是一种特殊的表达式(或者说常量显然也是允许的),通常为了表述完整,会包含常量。
* **C. 整型常量或整型表达式**:这是最准确的描述。它涵盖了所有合法的整数索引情况,无论是固定的常量还是动态计算的表达式,只要结果是整型即可。
* **D. 任何类型的表达式**:错误。浮点数(如 `a[3.14]`)、指针、结构体等非整型类型不能直接作为数组下标。
因此,数组下标可以是整型常量,也可以是结果为整型的表达式。
正确答案是 **C**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第93题 (1.0分) 题号:597 下列四个选项中,均是C语言关键字的选项是()。
单选题
1、第92题 (1.0分) 题号:542 若有int *p=( )malloc( 则向内存申请到内存
单选题
1、第91题 (1.0分) 题号:491 下列程序段的输出结果为()。 float k=0.8567; printf(”%06.1d%%”,k*100);
单选题
1、第90题 (1.0分) 题号:703 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是()。
单选题
1、第89题 (1.0分) 题号:665 以下正确的说法是:在C语言中()。
单选题
1、第88题 (1.0分) 题号:679 在C语言中,形参的缺省存储类是()。
单选题
1、第87题 (1.0分) 题号:675 关于建立函数的目的,以下正确的说法是()。
单选题
1、第86题 (1.0分) 题号:610 以下选项中,与k=n++完全等价的表达式是()。
单选题
1、第85题 (1.0分) 题号:103 以下运算符中,优先级最高的运算符是()。
单选题
1、第84题 (1.0分) 题号:180 以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5));
