在c语言中,引用数组元素时,其数组下标的数据类型允许是什么?

在c语言中,引用数组元素时,其数组下标的数据类型允许是:整型常量或整型表达式。数组是用来存储一系列数据,用于区分数组的各个元素的数字编号称为下标;下标只能为整型常量或整型表达式,如为小数时,将自动取整。

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。

用于区分数组的各个元素的数字编号称为下标。

表示方法

数组元素是组成数组的基本单元。数组元素也是一种变量, 其标识方法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。

一维数组元素的一般形式为:

数组名[下标]

二维数组元素的一般形式为:

数组名[下标][下标]

其中的下标只能为整型常量或整型表达式。如为小数时,C编译将自动取整。

例如,a[5]a[i+j]a[i++]都是合法的数组元素。

数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。在C语言中只能逐个地使用下标变量, 而不能一次引用整个数组。

下标变量和数组说明在形式中有些相似,但这两者具有完全不同的含义。数组说明的方括号中给出的是某一维的长度,即可取下标的最大值; 而数组元素中的下标是该元素在数组中的位置标识。前者只能是常量, 后者可以是常量,变量或表达式。

一个学习小组有5个人,每个人有三门课的考试成绩。求全组分科的平均成绩和各科总平均成绩。

课程 成绩姓名Math C DBASE

张 80 75 92

王 61 65 71

李 59 63 70

赵 85 87 90

周 76 77 85

可设一个二维数组a[5][3]存放五个人三门课的成绩。再设一个一维数组v[3]存放所求得各分科平均成绩,设变量l为全组各科总平均成绩。编程如下:

void main()
{
int i,j,s=0,l,v[3],a[5][3];
printf("input score\\n");
for(i=0;i<3;i++){
for(j=0;j<5;j++)
{ scanf("%d",&a[j][i]);
s=s+a[j][i];}
v[i]=s/5;
s=0;
}
l=(v[0]+v[1]+v[2])/3;
printf("math:%d\\nc languag:%d\\ndbase:%d\\n",v[0],v[1],v[2]);
printf("total:%d\\n",l);
}

程序中首先用了一个双重循环。在内循环中依次读入某一门课程的各个学生的成绩,并把这些成绩累加起来, 退出内循环后再把该累加成绩除以5送入v之中,这就是该门课程的平均成绩。

外循环共循环三次,分别求出三门课各自的平均成绩并存放在v数组之中。退出外循环之后,把v[0],v[1],v[2]相加除以3即得到各科总平均成绩。最后按题意输出各个成绩。

推荐:《c语言教程》

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注