单选题
1、第4题 (1.0分) 题号:640 以下对二维数组a的正确说明是()。
A
int a[3][]
B
float a(3,4)
C
double a[1][4]
D
float a(3)(4)
答案解析
正确答案:C
解析:
这道题考查的是 C 语言中二维数组的定义规则。
在 C 语言中,定义二维数组的一般形式为:
`类型说明符 数组名[常量表达式1][常量表达式2];`
我们需要根据以下规则逐一分析选项:
1. **括号使用**:数组的下标必须使用方括号 `[]`,不能使用圆括号 `()`。
2. **维度省略规则**:在定义二维数组时,**第一维(行)的长度可以省略**(通常用于初始化时由编译器自动计算),但**第二维(列)的长度绝对不能省略**。因为编译器需要知道每一行有多少个元素,才能正确计算内存地址偏移。
**选项分析:**
* **A. `int a[3][]`**
* **错误**。省略了第二维(列)的长度。C 语言规定二维数组定义时必须指定列数。
* **B. `float a(3,4)`**
* **错误**。使用了圆括号 `()`,这是函数调用或声明的语法,不是数组定义的语法。
* **C. `double a[1][4]`**
* **正确**。使用了方括号 `[]`,且同时指定了第一维(1)和第二维(4)的长度,符合二维数组的定义规范。
* **D. `float a(3)(4)`**
* **错误**。使用了圆括号 `()`,语法错误。
因此,正确答案是 **C**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第255题 (1.0分) 题号:133 若有以下定义:char s='\092'; 则该语句()。
单选题
1、第254题 (1.0分) 题号:186 已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中 不正确的是()。
单选题
1、第253题 (1.0分) 题号:208 下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是()。
单选题
1、第252题 (1.0分) 题号:557 打开文件时,方式”w”决定了对文件进行的操作是()。
单选题
1、第251题 (1.0分) 题号:87 C语言源程序的基本单位是()。
单选题
1、第250题 (1.0分) 题号:709若定义:int a=511,*b=&a;, 则printf(”%d\n”,*b);的输出结果为()。
单选题
1、第249题 (1.0分) 题号:172 在C语言程序中()。
单选题
1、第248题 (1.0分) 题号:682 sizeof( )是()。
单选题
1、第247题 (1.0分) 题号:182 执行下面程序后,输出结果是()。
单选题
1、第246题 (1.0分) 题号:718 系统的标准输入文件是指()。
