C语言基础学习day06
数组
数据的特点:
1. 具有相同的数据类型
2. 使用过程中需要保留原始数据
在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组
在C语言中,数组属于构造数据类型,一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型
数组:具有相同类型的数据组成的序列,是有序集合
一维数组的定义和引用
在C语言中,使用数组必须先进行定义
一维数组的定义方式为:类型说明符 数组名[常量表达式];
例如 int a[10];
它表示定义了一个整型数组,数组名为a,此数组有10个元素,10个元素都是整型变量
注意:
1. 类型说明符是 任一种基本数据类型或构造数据类型,对于同一个数组,其所有元素的数据类型都是相同的
2. 数组名是用户定义的数组标识符,书写规则复合标识符的书写规定
3. 方括号中的常量表达式表示数据元素的个数,也称为数组的长度
4. 允许在同一个类型说明中,说明多个数组和多个变量,例如:int a,b,c,d,k1[10],k2[20];
5. C语言不允许对数组的大小做动态定义,即数组的大小不依赖于程序运行过程中变量的值
void main() { int i,a[10]; for(i=0;i<=9;i++) { a[i]=i; } for(i=9;i>=0;i--) { printf("%d ",a[i]); } }
初始化赋值的一般形式: 类型说明符 数组名[常量表达式]={值,值,。。。值};
void main() { int i,a[10]={0,1,2,3,4,5,6,7,8,9}; for(i=9;i>=0;i--) { printf("%d ",a[i]); } }
冒泡排序
void main() { int a[10]; int i,j,t; printf("请输入10个数字:\n"); for(i=0;i<10;i++) { scanf("%d",&a[i]); } printf("\n"); for(j=0;j<9;j++) { for(i=0;i<9-j;i++) { if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } } } printf("排序后的数字:\n"); for(i=0;i<10;i++) { printf("%d",a[i]); } printf("\n"); }
二维数组的定义和引用
一般形式:类型说明符 数组名[常量表达式][常量表达式]
二维数组在概念上是二维的,但是,实际的硬件存储器却是连续编址的,也就是说存储器单元是按一维线性排列的
将一个二维数组行和列元素互换存到另一个二维数组中