其他分享
首页 > 其他分享> > 小白入门C语言之数组篇

小白入门C语言之数组篇

作者:互联网

一、数组

数据类型 数组名[数组长度];
money[0] = 10.55;
money[1] = 32.54;
money[2] = 2055.65;
……
money[19] = 2055.65;
scanf("%lf", &money[4]);   // 把一个值读入数组的第5个元素
int      no[22];    // 可储存22个int类型整数的数组
char    actors[26]; // 可储存26个字符的数组
double big[500];  // 可储存500个double类型整数的数组

二、占用内存的大小

#include<stdio.h>
#include<string.h>
int main()
{
  int i;
  printf("sizeof(i) = %d\n", sizeof(i));//sizeof(i) = 4
  printf("sizeof(int) = %d\n", sizeof(int)); //sizeof(int) = 4
}
int arr[10];    // 定义一个整型数组变量
printf("sizeof(arr)=%d\n",sizeof(arr));// 输出结果:sizeof(arr)=40

三、数组的初始化

#include<stdio.h>
#include<string.h>
int main()
{
  int arr[10];
  int i;
  memset(arr,0,sizeof(arr));
  for(i=0;i<10;i++){
    printf("arr[%d]=arr[%d]\n",i,arr[i]);
  }
}

四、在for循环中数组

#include<stdio.h>
#include<string.h>
int main(){
  int i = 0;
  int total = 5;
  double money[total];
  double sum = 0;

  memset(money,0,sizeof(money));

  for(i = 0; i<total;i++){
    printf("请输入第%d个钱包的钱数:",i+1);
    scanf("%lf",&money[i]);
    sum = sum + money[i];
  }
  printf("钱包平均有:%lf元\n",sum/total);
}

五、二维数组

数据类型 数组名[第一维的长度][第二维的长度];
char troops[5][4];
troops[0][0]    troops[0][1]    troops[0][2]    troops[0][3]
troops[1][0]    troops[1][1]    troops[1][2]    troops[1][3]
troops[2][0]    troops[2][1]    troops[2][2]    troops[2][3]
troops[3][0]    troops[3][1]    troops[3][2]    troops[3][3]
troops[4][0]    troops[4][1]    troops[4][2]    troops[4][3]
memset(girl,0,sizeof(girl));
#include <stdio.h>
#include <string.h>

int main()
{
  int    ii=0;          // 用于组别循环的计数器
  int    jj=0;          // 用于人数循环的计数器
  int    class=2;       // 小组总数,初始化为2
  int    total=3;       // 每个组人数的总人数,初始化为3
  double weight[class][total];  // 定义二维数组,存放体重
  double sum[class];    // 定义一维数组存放体重的和

  memset(weight,0,sizeof(weight));   // 初始化数组为0
  memset(sum,0,sizeof(sum));          // 初始化数组为0

  // 采用两个循环,第一级循环为小组数,第二级循环为人数个数
  for (ii=0;ii<class;ii++)
  {
    for (jj=0;jj<total;jj++)
    {
      printf("请输入第%d组第%d个的体重:",ii+1,jj+1);
      scanf("%lf",&weight[ii][jj]);    // 接受从键盘输入的体重
      sum[ii]=sum[ii]+weight[ii][jj];  // 计算小组体重的和
    }
  }
  for(ii=0;ii<class ; ii++){
    printf("第%d组人数的平均体重为:%f\n",ii+1,sum[ii]/5);
  }
}

六、字符串

1、字符串的概念

char name[21];  // 定义一个最多存放20个字符或10个汉字的字符串

2、字符串的初始化

char strname[21];
memset(strname,0,sizeof(strname));

3、字符串的赋值

strcpy(strword,"hello");
// 或者用以下代码
char strword[21];
memset(strword,0,sizeof(strword));
strword[0]='h';
strword[1]='e';
strword[2]='l';
strword[3]='l';
strword[4]='o';
strword[5]='\0';      // 或者 strword[5]=0;

4、关于字符串结束符0的讨论

#include <stdio.h>
#include <string.h>

int main()
{
  char name[3];
  memset(name,0,sizeof(name));

  name[0] = 'a';
  name[1] = 'b';
  name[2] = 'c';

  printf("name=%s=\n",name);
}

5、字符串数组

char strname[21];       // 可以存放20个字符的字符串
memset(strname,0,sizeof(strname));
strcpy(strname,"我真的可以存十个汉字");
char strname[10][21];   // 10个字符串,每个字符串可以存放20个字符
memset(strname,0,sizeof(strname));
strcpy(strname[0],"坦已");
strcpy(strname[1],"褒似");
strcpy(strname[2],"西施");
strcpy(strname[3],"王昭君");
strcpy(strname[4],"貂婵");
……
strcpy(strname[9],"陈圆圆");
#include<stdio.h>
#include<string.h>
int main(){
	char strword[51];
	memset(strword,0,sizeof(strword));

	strcpy(strword,"你好!世界。");
	int i;
	for(i=0;;i++){
		if(strword[i] == 0) break;
	}
	printf("len is %d\n",i);
}

标签:troops,strword,int,C语言,小白,strname,数组,sizeof,入门
来源: https://blog.csdn.net/qq_44096670/article/details/114839374