第六天

数组

 

1、数组的定义和使用
格式:int 
数据类型 数组名[元素个数]
元素个数,代表该数组有多少个相同数据类型的变量
下标 用来表示数组中的某一个元素   例如 int arr[10]; arr[1]代表数组的第二个元素
数组下标是从0开始的 到数组元素个数-1
数组下标越界:超出了数组元素个数的下标,如果操作越界数据会出现程序错误 1、乱码结果 2、报错
 
求出数组元素个数:
int (size_t) unsigned int 个数  = sizeof(数组名)/sizeof(数组元素 | 数组数据类型) 
 
例如:int scores[10];
{  
  for (int i =0 ; i < 10 ; i++)
  scores[i] = 90 +i  
}
  for (int i = 0; i < 10; i++)
 
求出数组地址:
printf("%p\n",数组名)
printf("%p\n",数组元素)
数组元素+1 (sizeof(数据类型))
数组名+1(sizeof(数组名))
 
练习:十只小猪称体重 定义一个数组 存储小猪体重  通过遍历找到最重的小猪   找到数组中数据最大值的下标     根据下标打印数据
 
练习: 找到小猪中第二重的
练习:冒泡排序
 
 
 
 
 
二维数组:
格式:数据类型 数组名【行个数】【列个数】
初始化方式:
       int arr[2][3] = { {1,2,3},{2,3,4} };
       int arr[][3] = { {1,2,3},{2,3,4},{3,4,5} };
       int arr[4][3] = { 1,2,3,4,5,6,7,8,9,10 };//arr[3][1] arr[3][2]
       int arr[4][3] = { {1},{1} ,{1} };
       int arr[4][3] = { 1,2,3,4 };
 
求行数:sizeof(数组名)/sizeof(数组名[0]);
求列数:sizeof(数组名[0])/sizeoef(数组名[0][0])
 
二维数组首地址表示方式:
printf("%p\n",数组名);
 
 
练习:10名学生 三门成绩  scores【10】【3】  求出每名学生的总成绩和平均成绩   求出班级的语文  数学 英语的平均成
语数外 【0】【0】   【0】【1】     【0】【2】
 
 

 

 

字符数组和字符串:
字符数组和字符串区别在于是否有字符串结束标志
     //字符数组
       //char arr[10] = { 'H','e','l','l','o' };
       //char arr[] = { 'H','e','\','0','o' };
       //char arr[] = "h\n\0e\nllo";
       char arr[100];
       scanf("%[^\n]", arr);
       
       //%s会接收字符串结束标志【'\0'】之前的所有字符 在ASCII中就是数字0
       printf("%s", arr);
       //for (int i = 0; i < 10; i++)
       //{
       //     printf("%c", arr[i]);
       //}
       //printf("%d\n", sizeof(arr));
随机数:
1、添加头文件 time.h  stdlib.h
2、添加随机数种子 srand((unsigend int )time(NULL));
3、生成随机数 rand()  % 

 

posted @ 2019-04-13 15:27  做你の至尊宝  阅读(86)  评论(0编辑  收藏  举报