---数组)
前言学习完循环的灵活运用后我们迎来了 C 语言中批量处理数据的核心工具 —— 数组。此前我们用单个变量存储一个值而面对一组同类型数据时变量便力不从心。数组能有序、连续地存储多个相同数据是衔接基础语法与实用编程的关键帮我们真正实现批量数据的输入、处理与输出为后续复杂程序打下扎实基础。数组用来保存多个数据类型相同的数据。1.数组基础1数组定义类型说明符 数组名[常量];类型说明符基本数据类型、构造数据类型不能是 void类型。说明数组中保存的数据的数据类型。数组名遵循标识符的命名规则。[常量]数组中可以保存的元素的个数int a[10]; sizeof(a); //40字节 char str[32]; //32字节 float array[5]; //20字节类型说明符 数组名[] {值1,值2};当数组定义时[]中的个数省略时必须要初始化将来按照初始化的元素个数决定数组的元素个数。2数组元素的访问数组名[下标];[]下标运算符下标代表要访问数组中的第几个元素0---元素个数-1常量、变量、表达式结果都应该为整型或与整型兼容注意数组元素访问时下标从0开始到元素个数-1超出该范围则数组越界访问。数组名代表了数组这种类型不能给数组名直接赋值。3数组初始化如果不初始化数组默认存放随机值。1全部初始化int a[7] {1,2,3,4,5,6,7};2局部初始化int a[7] {1,2,3,4};已初始化部分按照初始化数据存储未初始化部分按0存储3初始化为全0int a[7] {0};int a[7] {0,0,0,0,0,0,0};4数组的存储形式单一性数组中的元素每个元素的数据类型都是一致的有序性数组中的元素按照a[0]-a[n]的顺序进行存储连续性数组在内存中选取连续内存空间存储数组越界初始化数组时初始化的元素个数超出了数组本身的元素个数。访问数组元素时[]中的下标超出了数组元素的访问范围。练习题1.从终端输入两个整型数据获取这两个数的最大公约数和最小公倍数。#includestdio.h int main(void) { int a 0,b 0; int i; int small; int gcd 1; int lcm; scanf(%d %d,a,b); if(a b) { small b; } else { small a; } for(ismall;i1;i--) { if(a % i 0 b % i 0) { gcd i; break; } } lcm (a * b) / gcd; printf(gcd %d\n,gcd); printf(lcm %d\n,lcm); return 0; }2.从终端输入10个数据存入数组打印能被3整除余1的数据。#includestdio.h int main(void) { int a[10] {0}; int i 0; int len sizeof(a) / sizeof(a[0]); for(i 0;i len;i) { scanf(%d,a[i]); } for(i 0;i len;i) { if(a[i] % 3 1) { printf(num %d \n,a[i]); } } return 0; }总结数组是存储同类型多数据的重要结构掌握它就掌握了批量数据处理的基础。定义时明确类型与长度省略长度需初始化访问用下标牢记从 0 开始杜绝越界。初始化灵活未赋值元素自动补 0。它内存连续、存储有序配合循环能高效处理批量数据。通过作业练习把循环与数组结合使用能切实提升编程实用性为后续学习字符串、多维数组筑牢根基。