C 语言学习记录:数组相关知识

​ 一、未来的规划目录

下一期将会对大学生学习C语言中遇到的常见考点,单独做一期经典案例讲解加之前讲到的练习题做个合集发出来,还望期待一手!

在深入学习 C 语言的道路上,数组是一个非常重要的知识点。以下是我学习 C 语言的整体规划目录,今天主要聚焦于数组部分,也是过完年后把这部分的最后篇给更出来,后续更新会更加勤勉:

  1. 什么是 C 语言
  2. 第一个 C 语言程序
  3. 数据类型
  4. 变量,常量
  5. 字符串 + 转义字符 + 注释
  6. 选择语句
  7. 循环语句
  8. 函数
  9. 数组

二、数组的详细学习

(一)数组的含义

数组可以理解为一个装有相同类型元素的容器。在 C 语言中,数组是一种重要的数据存储结构。下面通过代码示例来具体了解数组的定义和使用:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    // 变量只能存放 1 个值
    // 数组:是一种数据存储结构
    // 语法:
    //    数据类型 变量名称[] = {};
    // [] 代表数组
    // 如果不指定数组长度,编译器会根据初始化的值自动确定数组长度
    // int nums[] = { 10,22,31,21,42 };

    // 这里定义了一个长度为 5 的整型数组
    int nums[5] = { 10,22,31,21,42 };

    // 数组的下标从 0 开始,所以 nums[0] 表示第 1 个元素
    printf("第 1 个元素:%d\n", nums[0]);
    printf("第 2 个元素:%d\n", nums[1]);
    printf("第 3 个元素:%d\n", nums[2]);
    printf("第 4 个元素:%d\n", nums[3]);
    printf("第 5 个元素:%d\n", nums[4]);

    // 注意:如果访问超出数组范围的元素,将可能打印下一个内存块的地址值,这是非常危险的操作,可能导致程序崩溃或产生不可预期的结果
    return 0;
}

(二)数组的下标

数组具有两个重要特点:

  1. 元素类型相同:数组中的每个元素都必须是相同的数据类型,例如上面示例中的 int 类型。
  2. 存储空间连续:数组在内存中是连续存储的,这使得我们可以通过下标快速访问数组中的元素。

数组下标的范围控制在 [0, length - 1],下面的代码展示了如何遍历数组以及计算数组的长度:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    // 定义一个长度为 10 的整型数组,并初始化部分元素
    int nums[10] = {12,23,22,13,11,24};

    // 数组的下标从 0 开始,到 (长度 - 1) 结束
    // 遍历:使用循环将数组中的每一个元素都取出来

    // 查看 nums 这个数组,总共占用多少内存空间,单位是:字节
    printf("总空间:%d\n", sizeof(nums));
    // 查看数组中单独一个元素占用的内存空间
    printf("单独元素空间:%d\n", sizeof(nums[0]));

    // 数组的长度 = 总字节大小 / 单独字节大小
    int length = sizeof(nums) / sizeof(nums[0]);

    // 使用 for 循环遍历数组并打印每个元素
    for (int i = 0; i < length; i++) {
        printf("%d\n", nums[i]);
    }

    return 0;
}

(三)数组相关练习题

练习题 1:找出数组中所有的偶数并统计数量

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    // 定义一个整型数组
    int nums[] = {12,23,22,13,11,24};

    // 计算数组的长度
    int length = sizeof(nums) / sizeof(nums[0]);

    // 统计偶数的数量,使用计数器
    int count = 0; // 初始化为 0,表示心理预估一个偶数都没有

    // 遍历数组
    for (int i = 0; i < length; i++) {
        // 判断元素是否为偶数
        if (nums[i] % 2 == 0) {
            count++;
        }
    }

    // 输出偶数的数量
    printf("有%d 个偶数!", count);

    return 0;
}

练习题 2:找出数组中的最大值

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    // 定义一个整型数组
    int nums[] = {12,23,22,13,11,24};

    // 计算数组的长度
    int length = sizeof(nums) / sizeof(nums[0]);

    // 假设数组的第一个元素为最大值
    int max = nums[0];

    // 从数组的第二个元素开始遍历
    for (int i = 1; i < length; i++) {
        // 如果当前元素大于最大值,则更新最大值
        if (max < nums[i]) {
            max = nums[i];
        }
    }

    // 输出最大值
    printf("max=%d", max);

    return 0;
}

以上就是我本次关于 C 语言数组的学习记录,希望能对自己的学习起到巩固和总结的作用,也希望能给其他学习 C 语言的小伙伴提供一些参考。​

#算法##C语言##初学者##个人成长#
C语言学习记录 文章被收录于专栏

C语言的初步学习

全部评论

相关推荐

Debug_EVE:简历不要做成左右两页的,尽量做成上下一页
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务