C语言入门 Day_12 一维数组

目录

前言

1.创建一维数组

2.使用一维数组

3.易错点

4.思维导图


前言

存储一个数据的时候我们可以使用变量, 比如这里我们定义一个记录语文考试分数的变量chinese_score,并给它赋值一个浮点数(float)。

float chinese_scoer=98.0;
printf("语文考试分数是%f\n",chinese_scoer);

假如我们需要记录多个类似的数据,比如这里记录语文数学英语物理化学生物这6科考试的分数,我们就需要6个变量,这样的话就有点麻烦

假设我们要记录100个数据呢?全用变量的话一来变量名很多,二来代码也会很冗长,这时候我们就需要一些新的机制

float chinese_score = 98.0;
float math_score = 96.0;
float english_score = 90.0;
float physics_score = 88.0; 
float chemistry_score = 87.0;
float  organism_score = 81.0;

这里我们就要介绍一个新的存储方式——数组,

它可以一次性存储多个相同类型的数据。

如果变量就像一个盒子的话,一次可以存储一个数据;

那么数组就像一个抽屉,可以存储多个数据。

1.创建一维数组

1.1

我们创建一个有六个元素的浮点型数组用来存储成绩:

float exam_score[6]={98.0,96.0,90.0,88.0,87.0,81.0};


1. 数组的数据类型,float浮点型

2. 数组名,exam_score

3. 数组的长度是6,也就是能容纳6个数据

4. 方括号,里面写的是数组的长度

float exam_score[6]={98.0,96.0,90.0,88.0,87.0,81.0};


5.赋值符号 =

6.数组的六个元素,都是浮点型

7.数组的元素,需要用花括号括起来

8.数组中的元素用逗号,隔开

1.2

上面我们完成了数组的初始化工作,创建了一个浮点数的数组,它里面存储了六个值。我们把这些值叫做数组的元素

数组的命名规则和变量是一致的,由大小写字母,数字和下划线组成,不能由数字开头

同时,我们不仅能创建浮点数的数组,之前学过的所有数据类型的数组都可以创建,只不过需要注意的是,完成创建以后,所有数组的元素都是这个类型的。

例如:

int student_age[3]={18,19,21};


1.我们创建一个有三个元素的整型数组student_age,并进行赋值:

2.然后输入数组名字student_age:

3.填入数组的长度[3],注意使用英文的方括号[]:

int student_age[3]={18,19,21};


4.填入赋值符号= :

5.填入数组元素的花括号{}

6.填入分隔数组元素的逗号, :

1.3

完成了数组的创建/定义之后,我们就可以使用里面的数据元素了,这里的使用包括了读取修改

创建一维数组就像是做好了一个抽屉,并在抽屉中放好了东西(数据);

使用一维数组就是在这个抽屉中取出东西(数据),或者在抽屉的每个格子里面放入不同的东西(数据)。

2.使用一维数组

2.1

数组中的元素存储是有序的,

有序的意思就是数组元素是按照顺序一个一个排好的

他们都有固定的位置,方便查找和修改

下列代码就会输出1,2,3,因为我们依次打印了这个数组的第一个元素,第二个元素,第三个元素:

int int_list[3]={1,2,3};
printf("%d\n",int_list[0]);
printf("%d\n",int_list[1]);
printf("%d\n",int_list[2]);

1.创建了一个有三个元素的整型数组

2.打印数组里面的第一个元素   printf("%d\n", int_list[0])

3 数组里面的第一个元素  int_list[0]

int int_list[3]={1,2,3};
printf("%d\n",int_list[0]);
printf("%d\n",int_list[1]);
printf("%d\n",int_list[2]);

4.数组元素的位置,也是用方括号+数字表示   [0]

5.打印数组里面的第二个元素 printf("%d\n", int_list[1]);

6.打印数组里面的第三个元素  printf("%d\n", int_list[2]);

2.2

这种有序的数据结构又叫做线性表,也就是说每个元素都像一根线一样一一排列的。我们可以通过索引/下标的方式来访问数组中的元素。

2.3

我们来看看数组里面的下标,也就是方括号里面的数字

int int_list[3]=[1,2,3];
printf("%d\n",int_list[0]);
printf("%d\n",int_list[1]);
printf("%d\n",int_list[2]);

1. 方括号里面是3,表明这个数组的长度是3

2.  打印第一个元素,下标是0

3.   打印第二个元素,下标是1

4.   打印第三个元素,下标是2

2.4

我们可以注意到,在使用数组的时候,我们下标是从0开始的,比如第一个元素是int_list[0]

这是由一个C语言内在的机制决定的,因为第一个元素是在线性表的头部,所以它的位置和线性表的开头位置是重合的;

因此我们增加0的位置就能访问这个元素了,因为第一个元素就在开头。

而访问第二个元素的时候,我们需要越过第一个元素,这时候需要+1,因此第二个元素的下标是1。

2.5

比较有意思的是,从C语言开始,后面所有的编程语言在类似数组这样线性表的结构里面,都使用0来表示第一个元素。

所以久而久之这也成了程序员的一个梗,第一个数不是1,是0

例如:

char char_list[5]={'p','a','p','e','r'};
printf("%c\n",char_list[0]);
printf("%c\n",char_list[1]);
printf("%c\n",char_list[2]);
printf("%c\n",char_list[3]);
printf("%c\n",char_list[4});

输出结果

papper


1.我们定义一个字符数组并赋值,然后打印输出它,填入第一个下标0:

2.填入第二个下标和方括号[1],需要注意的是,由于没有换行符/n,所以这五个字符字母是在同一排输出的:

2.6

除了访问数组的元素以外,我们还可以修改数组的元素,因为数组的元素也和变量一样,可以重新赋值和修改。

创建一个数组并初始化赋值1,0,2,4,然后修改这个数组的元素,赋值1,1,1,1:

int int_list[4]={1,0,2,4};
int int_list[1]={1};
int int_list[2]={1};
int int_list[3]={1};

1.定义一个整型数组,赋值1,0,2,4

2.给第二个数组元素赋值1,因为第一个数组元素就是1,无需修改

3.给第三个数组元素赋值1

4.给第四个数组元素赋值1

2.7

既然是个线性结构,我们就不能超出这个这个线性表的长度,比如一个数组长度是‘3’,我们可使用的范围就是0到2

超出这个范围就属于越界”,程序会报错

3.易错点

如图 

方括号[]中常量表达式表示数组元素的个数;

数组元素的索引是从0开始的;

数组大小必须是大于0的正整数

4.思维导图

最后我想说的是:

在撰写这篇文章时,我参考了《白纸编程》这个app的观点和思想,我要感谢他们对我的启发和帮助。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值