C 语言学习记录:数组相关知识
一、未来的规划目录
下一期将会对大学生学习C语言中遇到的常见考点,单独做一期经典案例讲解加之前讲到的练习题做个合集发出来,还望期待一手!
在深入学习 C 语言的道路上,数组是一个非常重要的知识点。以下是我学习 C 语言的整体规划目录,今天主要聚焦于数组部分,也是过完年后把这部分的最后篇给更出来,后续更新会更加勤勉:
- 什么是 C 语言
- 第一个 C 语言程序
- 数据类型
- 变量,常量
- 字符串 + 转义字符 + 注释
- 选择语句
- 循环语句
- 函数
- 数组
二、数组的详细学习
(一)数组的含义
数组可以理解为一个装有相同类型元素的容器。在 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; }
(二)数组的下标
数组具有两个重要特点:
- 元素类型相同:数组中的每个元素都必须是相同的数据类型,例如上面示例中的
int
类型。 - 存储空间连续:数组在内存中是连续存储的,这使得我们可以通过下标快速访问数组中的元素。
数组下标的范围控制在 [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语言的初步学习