C语言6-数组1-一维整型数组

摘要:本文介绍了数组的基本概念和使用方法。数组是相同类型元素的有限集合,可分为一维、二维和多维数组,包括整型和字符型。重点讲解了一维整型数组的定义、访问方式、初始化和存储特点,强调元素下标从0开始且不能越界。文章提供了三个实践练习:查找最小值、查找最大值及其下标、数组元素倒置,并详细说明了倒置操作的交换规律。通过示例代码和注意事项,帮助读者掌握数组的基本操作和常见应用场景。

一、数组概念

1、定义:数组是一组相同类型有限个数的集合。数据类型相同,元素个数有限。

2、分类:

  •  一维整型数组:         int a[5];
  •  二维整型数组:         int a[2][3];
  •  多维整型数组:         int a [2][3][4]...[9];
  •  一维字符型数组:     char str [32];
  •  二维字符型数组:     char str [5][32];

二、一维整型数组

1、基本形式:数据类型    数组名[元素个数];

  •  注意事项:元素个数必须为常量,常量表达式,不能为变量或者变量表达式

2、数组元素的访问:数组名[元素下标]

  • 数组不能对整体操作,只能对单个元素操作;
  • 元素下标可以是常量、变量或者表达式,必须为整形;
  • 数组的元素下表是从零开始的;
  • 数组元素不能越界访问,元素下标必须保证在 0 - 元素个数-1的范围;

3、数组元素的初始化:

  1. 默认初始化:int a[ ] = {1, 2, 3, 4, 5};   //不给定元素个数,通过给定初值的个数决定元素个数
  2. 局部初始化:int a[5] = {0};                  //没有给定初值的元素全部给定默认值0
  3. 全部初始化:int a[5] = {1, 3, 5, 7, 9};

4、数据的存储:

  1. 连续性:数组存储空间连续;数组所占空间大小 = 每个元素所占空间大小 * 元素个数
  2. 有序性:数组中存放数据的顺序是有序的

5、 数组从终端接收值(for循环加scanf语句)

注意事项:sizeof用之前定义一下,scanf的取地址符&别忘了。

三、练习

1、小试牛刀: 从终端接收5个数,打印出这5个数中的最小值;(基础版)

ps:曲曲折折 折折曲曲;写出来了,原因分析前面的内容还是没有掌握。写的过程大问题小毛病很多。不过也是好事,能够发现问题然后改错。也是大智慧。(ps为个人碎碎念)

2、小试牛刀: 从终端接收5个数组,打印出这5个数组中的最大值并打印数组的元素的下标(plus版)

个人注解 :

(1)与基础版的区别是,我们此次求出来的是最大值数组元素的下标,就可以知道数组的最大       值数。但是像基础版的只知道数组最小值的数,我们推不出来数组元素的下标。(啰嗦版)

(2)数组元素下 (能推出) →  此时数组的值 反之不可以!        (简洁版)

3、小试牛刀:从终端接受五个数组,实现数组元素倒置

个人注解:

                                  五个数组倒置关系

(1)a[0] a[4] 进行交换        a[1]a[3] 进行交换        a[2] a[2] 进行交换

        广义推广一下规律就是: a[i]  a[len -i-1] 进行交换

(2)其次:3个数组,0 - 2换      4个数组,0 - 3换、1 - 2换       5个数组,0 - 4 换、1 - 3 换

        仔细看循环换的条件是 int ‘len/2’ 取整

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值