pycharm定义空的二维数组_【C语言教程06】数组(上)

欢迎将文章分享到朋友圈
如需转载,请在后台回复“转载”获取授权 嗨喽!大家好,由于本篇内容较多,已经拆分为上下两篇。

那么正式开始,在上一篇中我们学会了用循环来输出我们想要的形状,上一篇结尾我也为大家提供了一个输出棱形的思路,那么现在让我们一起来看看代码吧。

191fdaf02b6612639fd4f11cd265050c.png

fa1d761902a397b6051a21dd63ddc8f1.png

在上述代码中,我们将棱形的输出拆成两部分,一部分是从上到下逐层递增输出,另一部分则是从上到下逐层递减输出,这两部分中,每一次输出“*”的个数和空格数是有规律的。

第一部分中我们可以发现每一层输出的空格数为(3-第i层),比如第一层就是3-1=2个空格,第二层就是3-2=1个空格,第三层就是0个空格,输出的“*”号数就是(2*i-1)个。

同样的,第二部分中我们也可以发现每一层输出的空格数为i,i为层数,比如第一层就是1个空格,第二层就是2个空格,输出的“*”号数就是(5-2*i)个。

如果不能一眼看出规律的小伙伴建议画一张图来仔细观察一下。

蓝色是第一部分的1、2、3层,红色是第二部分的1、2层,无内容框为空格。

e0d14706d4c70ea0a800709830996ca2.png

当然,想要输出这样的一个棱形,拆分的方法不止一种,只要你能找到规律用循环关系输出都是可以的,甚至你可以写出一个能输出任意层数的棱形图案,用scanf来输入一个基数,找到层数与输出符号个数的关系就可以了,有兴趣的可以自己去研究,百度一下答案。

6b4f93e633dff05a716567393b9c12ba.gif

那么正式进入今天的内容-----数组。

1

数组的含义:

数组是存储多个相同类型数据的集合。比如整型数组里面的元素全为整型。

元素是指组成数组的各个分量,每一个元素对应着一个数组下标,目的是方便索引元素,数组下标从0开始。

a019722a8a232ee8c0136087b23cc5c8.png

上述是一个名为a的整型数组,数组内有5个元素分别为10、20、30、40、50。如果我们要找到40这个元素,只需要通过该元素的下标3就能找到,比如该数组中a[3]=40。

2

数组的声明和定义:

数组的声明与之前变量声明类似,首先需要定义数组的数据类型,比如定义一个整型数组:

int a[5];

其基本结构为:

数类型+数组名[数组大小];

6ca100e798224b006791825ec6cd90bd.png

3

数组的初始化:

对于数组的初始化有两种方法,一个是直接在定义的时候逐个元素初始化,如:

62bb871b35bdffa639c28ae9fc27fd1b.png

6ace2514004f315be5cf82d3ebbda28b.png

二是通过for循环逐个赋初值,如:

9e4067cc4b1480811164ab2d67e1a341.png

b05359301d7a0397f856b165a94fc864.png

当然你也可以对单独的某一个元素赋值,如;

4d392b3ee5fab77a366d5a1828c7da0d.png

0b14c6854cb71b42cbce9b62d231f182.png

4

数组的索引:

数组的索引在上面单独赋值的时候也用到了,很简单,就是通过数组下标来单独访问,并对该数组下标内的元素进行修改,如:

6419b648fcc0d4348d46463707a0c926.png

0f64e80d6e537f5a9a50253e1453dc0f.png

5

数组的输出:

数组的输出可以采用循环将数组元素逐个输出,

3aaba5f8a24f989d6a163127ffc2cd38.png

如果只输出一个元素,只需通过数组下标直接输出就行。

6

二维数组:

在数组中,除了上面学到的数组类型外,二维数组也是经常使用的,一维数组就是指的上面学到的数组类型,它只有一行,而二维数组是在一维数组的基础上增加列,如果说一维数组是这样的,

a019722a8a232ee8c0136087b23cc5c8.png

那么二维数组就是这样:

4bbe74f7b02caaf58043a487f4009f3a.png

定义方法:

和一维数组类似,数据类型+数组名[行数][列数];

d4e0578e3257bcb52d91abb49c559ec5.png

上述是定义一个3行5列的二维数组。

初始化:

和一维数组一样的初始化,从第一行开始逐个赋值,

按照a[0][0]……a[0][4],a[1][0]……a[1][4],a[2][0]……a[2][4]的顺序将3*5个元素赋值。

849530e2be3b2452a8dc634a8c8c99e9.png

或者用上一篇学过的两重嵌套循环逐个赋值,这里就不再列出。

索引和输出:

方法和一维数组一样,只是将单层for循环变成两层嵌套循环,外循环输出行,内循环输出列,每输出完一行就用换行符换行,如下:

# include# includeint main(){int i,j;int a[3][5]=;//声明定义,初始化for(i=0;i<3;i++){ //外循环行  for(j=0;j<5;j++){//内循环列    printf("a[%d][%d]=%d\t",i,j,a[i][j]);//输出  }  printf("\n");//一行输出完毕,换行}return 0;}

162195981c99cb3729255994ef34872f.png

4acdc993087a60943916d74954fa5449.png

一维数组和二维数组基本介绍到这里,下一篇续上函数与数组的传参方式。

7830a79c1c7e640d5e91692e1a5e2cb0.png

图/ITbear

文字/ITbear

d7df94d1ef8edb3f8950b06e420481a2.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值