入门级C语言数组,不服就来碰碰

目录

一 . 一维数组

二 . 二维数组

三 . 数组练习


一 . 一维数组

  1 .  一维数组的创建

type arr_name[常量值];

存放在数组的值被称为数组的元素,数组在创建的时候可以指定数组的⼤⼩和数组的元素类型。

type是指数组类型,它的类型可以是int ,char,short,float等,也可以自己去定义。

arr_name是数组名字。

[ ]中常量值为数组的大小,这个大小可以根据需要定制。

   2 . 一维数组的初始化

//完全初始化
int arr[5]={1,2,3,4,5};


//不完全初始化
int arr[5]={1,2};

   3 . 一维数组的使用

         数组的下标

//例如
int a[10]={1,2,3,4,5,6,7,8,9,10}
   //其中
  1  2  3  4  5  6  7  8  9  10 //下标
  0  1  2  3  4  5  6  7  8   9

在数组中下标是从0开始的。

             数组元素的打印

#include<stdio.h>
int main()
{
	int i = 0;
	int a[10] = { 1,2,3,4,5,6,7,8,9,10 };
	for ( i = 0; i < 10; i++) {
		printf("%d\n", a[i]);
	}
	return 0;
}

           数组的输入

#include <stdio.h>
int main()
{
 int arr[10] = {1,2,3,4,5,6,7,8,9,10}; 
 int i = 0;
 for(i=0; i<10; i++)
 {
 scanf("%d", &arr[i]);//多组输入
 }
 for(i=0; i<10; i++)
 {
 printf("%d ", arr[i]);
 }
 return 0;
}

   4 . 一维数组在内存中的储存

#include<stdio.h>
int main()
{
	
	int a[10] = {1,2,3,4,5,6,7,8,9,10};
	
		printf("%d\n", sizeof(a));//sizeof(a)是求数组所占的空间大小
	
	return 0;
}

   5 . sizeof计算数组元素个

#include<stdio.h>
int main()
{
	
	int a[10] = {1,2,3,4,5,6,7,8,9,10};
	
		printf("%d\n", sizeof(a)/sizeof(a[0]));//sizeof(a)是求数组所占的空间大小
	//sizeof(a[0])是一个元素所占字节大小
	return 0;
}

二 . 二维数组

1 . 二维数组的创建

type arr_name[常量值1][常量值2];

其中常量值1表示常量值2表示。在二维数组中的元素个数为常量值1 常量值2

例如:

//用一个3行2列的例子
int a[3][2]={1,2,3,4,5,6}
   1 2
   3 4
   5 6

二为数组是由多个一维数组成的。

   2 . 二维数组的初始化

int a[2][3]={1,2,3,45,6}//完全初始化

int a[2][3]={1,2,3}//不完全初始化

   3 . 二维数组的使用

       二维数组的下标

这是二维数组的表示方式

        二维数组的输入输出

#include <stdio.h>
 int main()
 {
   int arr[3][5] = {1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7};
    int i = 0;
    
   for(i=0; i<3; i++) 
    {      
     int j = 0;
      for(j=0; j<5; j++) 
  {
 scanf("%d", &arr[i][j]);
  }
  }
for(i=0; i<3; i++) 
 {
 int j = 0;
 for(j=0; j<5; j++) 
 {
  printf("%d ", arr[i][j]); 
   }       
 printf("\n");
 }    
return 0;
 }

   4 . 二维数组在内存中的储存

#include <stdio.h>
 int main()
 {
    int arr[4][6] = { 0 };
    int i = 0;
    int j = 0;
   for (i = 0; i < 4; i++)   
   {  
    for (j = 0; j < 6; j++)
        {
            printf("&arr[%d][%d] = %p\n", i, j, &arr[i][j]);
        }
   }   
return 0;
 }

三 . 数组练习

练习:将多个字符从两端移动,向中间汇聚

#include<stdio.h>
#include<windows.h>
#include<string.h>
int main()
{
	char arr1[] = "hello word!!!!!!!!!!";
	char arr2[] = "####################";
	int left = 0;
	int right = strlen(arr1)-1;
	while (left<=right)
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		printf("%s\n", arr2);
		sleep(1000);//缓慢输入
		left++;
		right--;
	}
	return 0;
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值