C语言一维数组赋值方法

Python024

C语言一维数组赋值方法,第1张

一位数组赋值的几种方式

int

a[10]={1,2,3,4,5,6,7,8,9,10}

.一般初始化,例:

int

a[10]={3,10,5,3,4,5,6,7,8,9};

int

array[5]={2,3,4,5,6};

其结果是给每一个数组元素都指定了初值。

2.部分元素初始化,其余元素均为零。

例:

int

a[10]={7,8,9,67,54};

仅给前5个元素赋初值,后5个元素初值为0。

3.全部元素均初始化为1。

int

a[10]

=

{1,1,1,1,1,1,1,1,1,1}

不允许简写为 int

a[10]={1}或int

b[10]={1*10}

同学们想一想上述定义a和b数组后,初始化结果是什么?

注意:当程序不给数组指定初始值时,编译器作如下处理:

(1)部分元素初始化,编译器自动为没有初始化的元素初始化为0。

(2)数值数组如果只定义不初始化,编译器不为数组自动指定初始值,即初值为一些随机值(值不确定)。

4.如果全部元素均指定初值,定义中可省略元素的个数。

例:

int

a[5]={9,28,3,4,5}可以写为:

int

a[

]={9,28,3,4,5}

数组元素的引用

c语言规定,不能整体引用数值数组,只能逐个引用数组元素;

元素引用方式:数组名[下标表达式]

例:a[0]

=

a[5]

+

a[7]

-

a[2*3]

“下标表达式”可以是任何非负整型数据。

特别强调:1.一个数组元素,实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。

2.在c语言中,数组作为一个整体,不能参加数据运算,只能对单个的元素进行处理。

main()

{int a[10]int b=3

for(i=0i<10i++)

a[i]=0//空转 理论上在开头应该写a[10]={0} 即可

j=3//赋值但应该在开头定义j的类型,否则会报错

a[j]=b

printf("%d",a[j])}

结果估计是 0 要么就出错 这段程序有问题

正确答案是C。

A错误,因为f只是一个float型的变量,并不是数组。

B错误,因为数组元素个数为6,而定义的数组a只是a[0]-a[4],会越界。

D错误,因为初始化错误。不在定义数组时初始化,只能每一个元素进行初始化,比如d[0]=1和d[1]=2。d[5]={1,2,3,4,5}这种方式错误了。

希望能帮助到你。