美文网首页c语言C语言学习C/C++
C语言从零开始(十二)-一维数组

C语言从零开始(十二)-一维数组

作者: 天花板 | 来源:发表于2015-11-19 21:33 被阅读2816次

什么是数组

数组是有序数据的集合,在内存中是一段连续的存储空间。用来保存一组相同类型的数据。假如我们需要保存1~100这100个整数,如果用100个int变量保存太不方便,于是就有了数组。

我们今天主要介绍一维数组。大家可以把一维数组理解为一组数字排成一列保存在内存中。

一维数组的定义

数据类型 数组名[常量];

例如:

int a[10];

这句话定义了一个长度为10的int型数组。它能够保存10个整数。

一维数组元素的引用

数组元素的引用形式如下:

数组名[下标]

这里需要区别于数组的定义形式,前面的“常量”表示数组长度,这里的“下标”指的是元素的个数。注意:下标是从0开始计算的。例如一个有10个元素的int型数组,下标范围是0~9。后面会具体说明。

一维数组的初始化

1. 定义时赋初值

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

这句话定义了一个10个元素的int型数组,里面保存了10个数字。大括号中的10个数字就是数组a的初值。

注意,大括号中的数字个数可以小于数组长度。

2. 全赋值0

如果想在a[10]中保存10个0,有两种写法:

int a[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int b[10] = {0};

数组a和b的内容相同。

3. 可以不指定长度

int a[] = {1, 2, 3, 4, 5};

这句话定义了一个长度为5的数组a,赋值1,2,3,4,5。

程序说明

数组的用法比较灵活,对于初学者而言理解起来不太容易。我们这里不要求大家一下全部掌握,我们通过一段程序来了解具体怎么使用。

int main()
{
    int i;
    int a[10] = {0}; // 数组a赋值

    // 打印数组中的10个元素
    for (i = 0; i < 10; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");

    // 数组a赋值为 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
    for (i = 0; i < 10; i++)
    {
        a[i] = i + 1;
    }

    // 打印数组中的10个元素
    for (i = 0; i < 10; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");

    return 0;
}

执行结果如下:

执行结果

需要注意的是,在利用下标访问数组a时,如果下标大于等于数组长度,系统会报错,叫做数组访问越界。这是必须要牢记的。

请大家仔细学习这段代码,力求熟练掌握。一维数组的使用会贯穿于后面的例子,这里就不过多讲解了。

课后练习

字符串数组拼接练习。

有两个字符数组a和b,请把它们拼接成一个新的字符串保存在字符串c中,并打印出来。

int main()
{
    int i;
    char a[] = {'a', 'b', 'c', 'd', 'e'};
    char b[] = {'f', 'g', 'h', 'i', 'j'};
    char c[10];

   // -----------------------


   // -----------------------

   for (i = 0; i < 10; i++)
   {
       printf("%c ", c[i]);
   }

   return 0;
}

上面给出了一个代码片段,请在两行横线中写出拼接代码,使得最终输出结果为:a b c d e f g h i j

我是天花板,让我们一起在软件开发中自我迭代。
如有任何问题,欢迎与我联系。


上一篇:C语言从零开始(十一)-循环while语句
下一篇:C语言从零开始(十三)-字符串与字符数组

相关文章

  • 维护中-1

    此文章已经移至 C语言从零开始(十)-循环基础for 上一篇:C语言从零开始(九)-选择结构下一篇:C语言从零开始...

  • C语言从零开始(十二)-一维数组

    什么是数组 数组是有序数据的集合,在内存中是一段连续的存储空间。用来保存一组相同类型的数据。假如我们需要保存1~1...

  • C语言数组的升维与降维之说

    C语言数组的升维与降维之说 C语言数组的升维 C语言数组的降维

  • c语言入门经典18个程序

    C语言程序设计 QQ群:731871503 功能介绍 从零开始精通C语言教程用于C语言学习交流,分享C语言相关的...

  • 指针数组和数组指针

    指针数组|存储指针的数组 在C语言和C++语言中,数组元素全为指针的数组称为指针数组。 例如:int *p[10]...

  • C语言中的指针与数组

    C语言中的指针与数组 @(C语言)[排序算法, 快速排序, C实现] 引言 相信指针与数组是不少同学在初学C语言时...

  • 0基础学习C语言第七章:数组(2)

    C语言 多维数组 C 语言支持多维数组。多维数组声明的一般形式如下: type name[size1][size2...

  • iOS开发 -- C语言基础6(数组)

    iOS开发 -- C语言基础6(数组) C语言数组 一、数组的概念 用来存储一组数据的构造数据类型 特点:只能存放...

  • 21天C语言代码训练营(第一天)

    为了配合专题C语言从零开始,今天开始一个新的专题《21天C语言代码训练营》。这个专题重点针对从零开始系列进行练习题...

  • 2020-11-17--02--windows 数据类型

    windows系统是c语言开发的 字符数组,是c语言,重新定义的 Lstrlen-------C语言函数=====...

网友评论

  • 西夜晖:#include "stdio.h"
    int main()
    {
    int i;
    char a[] = {'a','b','c','d','e'};
    char b[] = {'f','g','h','i','j'};
    char c[10];
    for(i=0;i<5;i++)
    {
    c[i] = a[i];
    c[5+i] = b[i];
    }
    for(i = 0; i < 10; i++)
    {
    printf("%c ", c[i]);
    }
    return 0;
    }:joy:
  • printfkxm:1 #include <stdio.h>
    2 int main()
    3 {
    4 int i;
    5 char a[] = {'a', 'b', 'c', 'd', 'e'};
    6 char b[] = {'f', 'g', 'h', 'i', 'j'};
    7 char c[10];
    8 for (i = 0; i < 5; i++)
    9 {
    10 c[i] = a[i];
    11 }
    12 for (i = 5; i < 10; i++)
    13 {
    14 c[i] = b[i - 5];
    15 }
    16
    17
    18 for (i = 0; i < 10; i++)
    19 {
    20 printf("%c ", c[i]);
    21 }
    22 return 0;
    23 }
  • 蜡笔小姜和畅畅:‘’for (int i = 0; i < 5; i++) {
    int bi = 5 + i;
    c[i] = a[i];
    c[bi] = b[i];
    }
    ‘’
  • _Josh:for(i=0;i<5;i++)
    {
    c[ i ]=a[ i ];

    c[ i +5 ]=b[ i ];
    }
    _Josh:@天花板 ....答案不一样,哈哈
  • 922f7724a1b2:烫烫烫烫烫是啥?
    天花板: @JospehS 应该是内存泄露造成乱码。看你是不是数组访问越界了
  • IsaacLynx:看成了一堆数组。
  • 4ed6afef78f9:真的不错,同样的知识点,别人的就一大堆字,看的没兴趣。你的就是非常简洁,但是看过之后很容易懂,学起来也没什么压力了。
  • d8cf295651f1:最讨厌这个课了
  • 4ceec635e36f:什么时候到指针呢。。烦人的指针。。。。
  • af55d2215dec:for i =0;i <10;i ++ if i <5 c[i]= a[i] else c[i] = b[i-5]
  • 4ed6afef78f9:学过一边基础了,再看你的,可以看懂,但是就是不会做题,
    天花板:@网络菜鸟 做题是重点,好好想想

本文标题:C语言从零开始(十二)-一维数组

本文链接:https://www.haomeiwen.com/subject/szylhttx.html