zoukankan      html  css  js  c++  java
  • 数组01 零基础入门学习C语言23

    第六章:数组01

     

    让编程改变世界

    Change the world by program


     

    数组的概念

      有如下几组数据,它们分别该如何存储呢?

    学生的学习成绩 银行的账单 一行文字

      这些个数据的特点是:

    1、具有相同的数据类型 2、使用过程中需要保留原始数据

      C语言为这些数据,提供了一种构造数据类型:数组。  

    我们来看一下书本的定义:

    在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。

    这些按序排列的同类数据元素的集合称为数组。在C语言中,数组属于构造数据类型。

    一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。

    因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。

     

    数组:具有相同类型的数据组成的序列,是有序集合。

    [caption id="attachment_92" align="aligncenter" width="309"] 数组[/caption] 数组元素由其所在的位置序号(称数组元素的下标)来区分。 用数组名与下标可以用统一的方式来处理数组中的所有元素,从而方便的实现处理一批具有相同性质数据的问题。 注意:数组元素有序不是指元素大小顺序  

    一维数组的定义和引用

      一维数组的定义方式: 在C语言中使用数组必须先进行定义。 一维数组的定义方式为:类型说明符 数组名 [常量表达式]; 例如:int a[10]; 它表示定义了一个整形数组,数组名为a,此数组有10个元素,10个元素都是整型变量!  

    需要注意的是:

    一、类型说明符是任一种基本数据类型或构造数据类型。对于同一个数组,其所有元素的数据类型都是相同的。 二、数组名是用户定义的数组标识符。书写规则应符合标识符的书写规定。 三、方括号中的常量表达式表示数据元素的个数,也称为数组的长度。 四、允许在同一个类型说明中,说明多个数组和多个变量。 例如:int a,b,c,d,k1[10],k2[20]; 五、a[10],表示a数组有10个元素,注意下标是从0开始的,这10个元素是,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。请持别注意,按上面的定义,不存在数组元素a[10]。 六、C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。 例如,下面这样定义数组是不行的:

    int n;

    scanf(“%d″,&n); /*在程序中临时输入数组的大小 */

    int a[n];

    一些常见的错误:

    ① float a[0]; /* 数组大小为0没有意义 */

    ② int b(2)(3); /* 不能使用圆括号 */

    ③ int k, a[k]; /* 不能用变量说明数组大小*/

    以下是正确的演示:

    int a[10];                  //说明整型数组a,有10个元素。

    float b[10],c[20];  //说明实型数组b,有10个元素,实型数组c有20个元素。

    char ch[20];            //说明字符数组ch,有20个元素。

     

    重点补充:一维数组在内存中的存放形式

    一维数组: int mark[100]; [caption id="attachment_93" align="aligncenter" width="150"] 一维数组在内存中的存放方式[/caption]  

    一维数组元素的引用

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

    a[0]= a[5] + a[7] - a[2*3]

    a[i+j]

    a[i++]

    都是合法的数组元素。  

    一些个注意的事项:

    数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量。在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。 例如输出有10个元素的数组必须使用循环语句逐个输出各下标变量: [codesyntax lang="c"]
    for(i=0; i<10; i++)
    {
        printf("%d",a[i]);
    }
    [/codesyntax] 而不能用一个语句输出整个数组。 下面的写法是错误的:printf("%d", a);   定义数组时用到的“数组名[常量表达式]” 和引用数组元素时用到的“数组名[下标]” 是有区别的。 例如:

    int a[10]; /* 定义数组长度为10 */

    t = a[6]; /* 引用a数组中序号为6的元素。此时6不代表数组长度 */

      [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LISTMENIMNXP']视频下载[/Downlink]
  • 相关阅读:
    SU Demos-02Filtering-03Sudipfilt
    SU suspecfk命令学习
    SU suplane命令学习
    (原创)c#学习笔记10--定义类成员01--成员定义01--定义字段
    (原创)c#学习笔记09--定义类08--浅度和深度复制
    (原创)c#学习笔记09--定义类07--结构类型
    (原创)c#学习笔记09--定义类06--接口和抽象类
    (原创)c#学习笔记09--定义类05--类库项目
    (原创)c#学习笔记09--定义类03--构造函数和析构函数
    (原创)c#学习笔记09--定义类02--System.Object
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3845964.html
Copyright © 2011-2022 走看看