c语言入门教程 第7讲 数组

一维数组

同类元素的集合,称为数组

定义方式

数据类型 数组名 [常量表达式]; 举例:

int 	a[5];
float	score[8];
double	d[10];
char	name[256];

初始化


int a[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;

int b[5] = { 1, 2, 3, 4, 5 };    // 省略写法

float score[8] = { 1.0, 1.2 };   // 后面未赋值则为零

char name[] = "Alan";            // 省略写法,单独定义时必须声明大小

一维数组的下标

数组的下标实际上是关于数组第一个元素的偏移量 比如,定义一个数组array[5]。它的第一个元素跟数组的第一个元素的偏移量为0 所以,数组的第一个元素应该是array[0] 数组的第二个元素跟数组的第一个元素偏移量为1 所以,数组的第二个元素应该是array[1] 以此类推,数组的第五个元素与第一个元素的偏移量为4 所以,数组array的第五个元素应该是array[4] 结论: 一位数组最后一个元素的下标为 (长度 – 1) 并且对于一个数组它的第几个元素的下标就是几减一

循环初始化:


#include <stdio.h>

main()
{
    int a[10], b[3], i;

    // 有规律的循环赋值
    for( i = 0; i < 10; i++ )
    {
        a[i] = i;
    }

    // 多次输入赋值
    for( i = 0; i < 3; i++ )
    {
        scanf("%d", b[i]);
    }
}

注意如果一次输入多个数用scanf循环去接收的话,空格也会被当做字符(或数值)来保存

一维数组遍历

#include <stdio.h>

main()
{
    int a[8] = { 1, 1, 2, 3, 5, 8, 13, 21 };
    int i;

    for( i = 0; i < 8; i++ )
    {
        printf("%d ", a[i]);
    }
}

一维数组应用示例

#include <stdio.h>

main()
{
    int a[8] = { 80, 90, 85, 84, 70, 76, 75, 83 };
    int i, max = 0, min = 100;

    for( i = 0; i < 8; i++ )
    {
        if( a[i] > max )
        {
            max = a[i];
        }else if( a[i] < min )
        {
            min = a[i];
        }
    }
    printf("最高分为:%d 最低分为:%d", max, min);
}

二维数组

定义

//数据类型 数组名 [常量表达式][常量表达式];

int 	a[56][3];
char	name[5][256];

初始化


// 1)分段赋值
int grade[2][3] = { {80,75,92}, {61,65,71} };

// 2)连续赋值
int a[2][3] = { 80, 75, 92, 61, 65, 71 };

// 3)连续省略赋值
int a[][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

二维数组的遍历


#include <stdio.h>

int main()
{
    int grade[4][3] = {82,77,76,90,87,56,87,48,75,86,86,66};
    int i, j;
    for( i = 0; i < 4; i++ )
    {
        for( j = 0; j < 3; j++ )
        {
            if( grade[i][j] < 60 )
            {
                printf("第%d位学生不及格");
                continue;
            }
        }
    }
}

本讲小结

一、数组由类型说明符、数组名、数组长度(数组的个数)三部分组成
int a[10]; float money[2][3]; // 注意下标

二、数组的初始化
1)声明之后一个个赋值
2)省略形式赋值: char name[] = “Sam”;

三、数组的遍历
通过while、do while、for等循环遍历

四、数组的作用
数组是程序设计中最常用的数据结构,属于构造类型。它将相同类型的数据连续组合在一起,简化了命名和赋值过程。相较单一的数据类型,能够更快更方便的处理更多的数据。

C语言入门教程 第8讲 指针的基本概念

Advertisements

9 thoughts on “c语言入门教程 第7讲 数组

  1. 数据类型 数组名 [常量表达式];
    常量表达式
    不够仔细
    应该是 整型 而且是正数[不能是负数 不能是0]的常量表达式

    另外需要注意的是 这个表达式是 可选的 [可以写 可以不写]

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google+ photo

You are commenting using your Google+ account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s