一维数组的定义和使用

printf函数格式字符:

C语言中对于不同类型的数据用不同的格式字符。常用的有以下几种格式字符:

%d 输出十进制整数

%o 八进制整形式输出整数

%ld 输出长整形数据

%md m为指定的输出字段的宽度

%x 十六进制数形式输出整数

%u 输出unsigned型数据,即无符号数 以十进制形式输出

%c 来输出一个字符

%s 输出一个字符串

%f 输出实数(包括单双精度),以小数形式输出

%e 指数形式输出实数

%p 以地址形式输出

一维数组的定义和使用
int array[6];
	array[0]=100;
	array[1]=90;
	array[2]=80;

	array[3]=70;
	array[4]=60;
	array[5]=50;
	printf("%d\n", array[0]);
	printf("%d\n", array[1]);
	printf("%d\n", array[2]);
	printf("%d\n", array[3]);
	printf("%d\n", array[4]);
	printf("%d\n", array[5]);

需要逐个输出太麻烦

数组的元素从0开始

int array[5] = { 100,90,80,70,60 };
	printf("获得数组的首个地址:%d\n", array);
	printf("获得数组的首个元素:%d\n", array[0]);
	printf("获得数组元素的大小:%d\n", sizeof(array)); //int 4个字节 5个元素 4*5=20
	printf("获得数组有几个元素:%d\n", sizeof(array)/sizeof(array));
	printf("获得数组的第一个元素:%d\n", array[0]);
	printf("获得数组的第二个元素:%d\n", array[1]);
	printf("获得数组的第二个元素:%d\n", array[2]);
	printf("获得数组的第二个元素:%d\n", array[3]);

练习数组中找出最大的值

int array[5] = { 100,90,80,70,60 };
	int max = 0;
	for (int i = 0; i < 5; i++)
	{
		if (array[i] > max)
		{
			max = array[i];
		}
	}
	printf("%d\n", max);

练习数组元素逆置

int array[5] = { 100,90,80,70,60 };

int start = 0;

int end = sizeof(array) / sizeof(array[0]) - 1;

for (int i = 0; i < 5; i++)

{

printf("数组逆置前:%d ", array[i]);

}

while (start < end)

{

int temp = array[start];

array[start] = array[end];

array[end] = temp;

start++;

end--;

}

for (int i = 0; i < 5; i++)

{

printf("\n数组逆置后:%d", array[i]);

}
int array[] = { 4,2,8,0,5,7,1,3,9 };
	int value = sizeof(array) / sizeof(array[0]);
	for (int i = 0; i < value; i++)
	{
		printf("排序前:%d ", array[i]);
	}
	for (int i = 0; i < value - 1; i++)
	{
		for (int j = 0; j <value-1 - i; j++)
		{
			if (array[j] > array[j + 1])
			{
				int temp = array[j];
				array[j] = array[j + 1];
				array[j + 1] = temp;
			}
		}
	}
	for (int i = 0; i < value; i++)
	{
		printf("排序后:%d ", array[i]);
	}

冒泡排序

最常用的排序算法,对数组内元素进行排序

总结1:数组名的命名规范与变量名命名规范一致,不要和变量重名
总结2:数组中下标是从0开始索引
1. 可以统计整个数组在内存中的长度
2. 可以获取数组在内存中的首地址1. 可以统计整个数组在内存中的长度
2. 可以获取数组在内存中的首地址

二维数组定义
二维数组就是在一维数组上,多加一个维度。
二维数组定义的四种方式:

1.  数据类型  数组名[ 行数 ][ 列数 ];
2. 数据类型  数组名[ 行数 ][ 列数 ] = { {数据1数据2 } ,{数据3,数据4 } };
3. 数据类型  数组名[ 行数 ][ 列数 ] = { 数据1数据2,数据3,数据4};
4. 数据类型  数组名[  ][ 列数 ] = { 数据1,数据2,数据3,数据4};

//方式1  

        //数组类型 数组名 [行数][列数]

    int arr[2][3];

    arr[0][0] = 1;

    arr[0][1] = 2;

    arr[0][2] = 3;

    arr[1][0] = 4;

    arr[1][1] = 5;

    arr[1][2] = 6;

    for (int i = 0; i < 2; i++)

    {

        for (int j = 0; j < 3; j++)

        {

            printf("%d\n", arr[i][j]);

        }

}

//方式2
        //数据类型 数组名[行数][列数] = { {数据1,数据2 } ,{数据3,数据4 } };
        int arr2[2][3] =
        {
                {1,2,3},
                {4,5,6}
        };

        //方式3
        //数据类型 数组名[行数][列数] = { 数据1,数据2 ,数据3,数据4  };
        int arr3[2][3] = { 1,2,3,4,5,6 };

        //方式4
        //数据类型 数组名[][列数] = { 数据1,数据2 ,数据3,数据4  };
        int arr4[][3] = { 1,2,3,4,5,6 };
       
        system("pause");

        return 0;
}

总结:在定义二维数组时,如果初始化了数据,可以省略行数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值