C语言 | 您所在的位置:网站首页 › 数组的输入形式 › C语言 |
数组的定义和引用
1. 一维数组、二维数组的定义、初始化和引用方法数组数据的特点:数组:一般形式:类型说明符 数组名[常量表达式];说明:
一维数组的引用1. 引用方式:
二维数组二维数组引用表现形式:引用二维数组的定义四种方法对二维数组初始化
2.一维数组的应用(如排序),二维数组的应用(如矩阵运算)3.数组作函数参数4.字符数组的定义、初始化和输入输出方法字符数组的定义字符数组的初始化元素的引用结束标志输入输出应用举例
5.字符串处理函数的使用puts函数实例:
gets函数实例:
strcat函数strcpy函数strcmp函数strlen函数strlwr函数strupr函数
1. 一维数组、二维数组的定义、初始化和引用方法
数组数据的特点:
具有相同的数据类型使用过程中需要保留原始数据
数组:
是一种具有相同数据类型的数据的有序集合 一般形式:类型说明符 数组名[常量表达式];例如:int a[10]; 元素为a[0]----a[9]、2、常量表达式中不允许包含变量,可以包含常量或符号常量。 说明: 数组名定义规则和变量名相同,遵循标识符定名规则在定义数组时,需要指定数组中的元素个数,方括号中的常量表达式用来表示元素的个数,即数组长度。从下标0开始常量表达式中可以包括常量和符号常量,但不能包括变量。也就是说C语言不允许对数组的大小作动态定义,即数组的大小不依赖与程序运行过程中变量的值。数组元素下标可以是任何整型常量、整型变量或任何整型表达式。使用数值型数组时,不可以一次引用整个数组,只能逐个引用元素需要整体赋值时只可以在定义的同时整体赋值。如 int a[10]={0,1,2,3,4,5,6,7,8,9};正确。i nt a[10];a[10]={0,1,2,3,4,5,6,7,8,9};错误。 可以只给一部分元素赋值。例如:int a[10]={5,8,7,6};后面没有赋值的元素值默认为0 对全部数组元素赋值时可以不指定数组长度, 例如:int a[10]={0,1,2,3,4,5,6,7,8,9};可以写成 int a[]={0,1,2,3,4,5,6,7,8,9}; 但是,既不赋初值,也不指定长度是错误的。例如:int a[];错误。 一维数组的引用 1. 引用方式: 数组名[下标] 下标可以是整型常量或整型表达式。 例如:a[0]=a[5]+a[7]-a[2*3] 例子: #include int main() { int i, a[10]; for (i = 0; i = 0; i--) printf("%d", a[i]); printf("\n"); }2. 对数组元素初始化的实现方法 在定义数组时对数组元素赋以初值。 例如:int a[10]={0,1,2,3,4,5,6,7,8,9}; 二维数组一般形式:类型说明符 数组名[常量表达式1][常量表达式2];例如: int a[3][4];可以看成是包含3个一维数组,每个一维数组里包含4个元素。一共3*4=12个元素。 二维数组引用 表现形式: 数组名 [下标] [下标] 例如 a[2][3] 引用数据类型 数组名 [常量表达式1][常量表达式2]={初始化数据} 二维数组的定义二维数组中的元素在内存中的排序顺序是:按行存放,即先顺序存放第一行的元素,在存放第二行的元素 四种方法对二维数组初始化 分行给二维数组赋初值: int a [3] [4] ={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; 可以将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值 int a [3][4] ={1,2,3,4,5,6,7,8,9,10,11,12} 可以对部分元素赋初值 int a [3] [4] ={{1},{5},{9}} 如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。 2.一维数组的应用(如排序),二维数组的应用(如矩阵运算)用冒泡法对两个数比较,将最小的掉在前头 #include int main() { int a[10]; int i, j, t; printf("input 10 numbera:\n "); for (i = 0; i t = a[i]; a[i] = a[i + 1]; a[i + 1] = t; } } printf("the sorted numbers:"); printf("\n "); for (i = 0; i int i, j, row = 0, colum = 0, max; int a[3][4] = {{1, 2, 3, 4}, {9, 8, 7, 6}, {-10, -10, -5, 2}}; max = a[0][0]; for (i = 0; i ‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};这时c数组的长度自动定为9。 也可以定义和初始化一个二维字符数组,例如: char diamond[5][5]={{’ ‘,’ ‘,’#’},{’ ‘,’#’,’ ‘,’#’}, {’#’,’ ‘,’ ‘,’ ‘,’#’},{’ ‘,’#’,’ ‘,’#’},{’ ‘,’ ‘,’#’}};用它代表一个菱形的平面图形。 2. (2)字符串常量初始化数组。例如: char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};可写为: char c[ ]={"C program"};或去掉{}写为: char c[ ]="C program";注意:此时数组c的长度不是9,而是10。因为字符串常量的最后由系统加上一个’\0’。上面的初始化与下面的初始化等价。 char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m','\0'}; [1] 元素的引用可以通过引用字符数组中的一个元素,得到一个字符。 数组的引用形式为: 数组名[下标] 【例5-8】输入“I like playing basketball”并显示出来。 #include int main(void) { char a[26]="I like playing basketball"; int i; for(i=0;i |
CopyRight 2018-2019 实验室设备网 版权所有 |