一.数组
1.定义:一组 数据类型相同 的数据的集合
本质,是内存中一段连续的存储空间
2.组成:
数据类型:限制了数组元素的类型
数组名:这一组数值 共有一个名称
长度:规定了最多可存储的元素的个数
值:每个元素
下标:从0开始 [最小下标是:0 最大下标:长度-1]
3.分类
1.按照数据类型来分:
char 类型的一个数组 'a','b','s','f','y','n'
int 类型的一个数组 1,2,3,5
double 类型的一个数组 3.14 0.01 99.999 100 101
float 类型的数组
结构体数组等
2.按照维数来分:
一维数组:只有一个下标
多维数组:有2个或2个以上的下标
一维数组
1.使用语法
1.声明
数据类型 数组名[长度];
注意:
1.声明数组时,一定要给定长度
2."长度"是一个整形的常量,不能是一个变量
2.赋值
方法一:先声明再赋值
int arr[5];[必须写长度]
arr[0]=11;
arr[1]=22;
arr[4]=55;
arr[5]=10;//错误,下标越界,因为最大下标是 5-1
方法二:声明时赋值
int arr[5]={1,2,3,4,5};
int arr[]={1,2,3,4}; [正确:长度可省略]
int arr[5]={1,2,3};[正确:空间有剩余]
int arr[5]={1,12,3,4,5,6}; [错误:下标越界]
方法三:使用for循环,动态赋值
int arr[5]
int i;
//循环从0开始:因为数组元素的下标是从0开始
//<31??? 而不是<=31:因为数组的最大下标是 31-1,循环到30就结束
for(i=0;i<5;i++)
{
printf("请输入第%d个学员的成绩:",(i+1));
scanf("%d",&score[i]);
}
2.输出:
for(i=0;i<5;i++)
{
printf("第%d个元素=%d\n",(i+1),score[i]);
}
3.关于一维数组的算法
求最大值
求最小值
求总和
求平均值
警告错误:
int a[5];
a={1,2,3,4,5}; 错误
int b[5]={1,2,3,4,5};
a = b; 错误
二:字符串
字符串
本质是一个字符数组
与字符数组的区别是:最后一个字符以'\0'结尾
例如:
char ch[4]={'s','c','c','e'};//正确:字符数组 长度是4
char str[5]="scce";//正确:字符数字 长度为 5
char name[]="asdf";//正确
char str[4]="scce";//语法错误:下标越界
使用语法:
1。声明一个字符串
char name[20];//姓名
char sex[5];//性别
2.给一个字符串赋值
printf("请输入姓名:");
scanf("%s",name);
printf("请输入性别:");
scanf("%s",sex);
3。输出一个字符串
printf("姓名:%s\n",name);
printf("性别:%s\n",sex);
三。二维数组
1。语法:
数据类型 数组名[行数][列数]
例如:声明一个3行4列的int类型二维数组
int num[3][4];
行下标:从0开始,最大行下标=3-1 2
列下标:从0开始,最大列下标=4-1 3
此二维数组中,最多能存3*4个元素
2。赋值
方法一:
num[0][0]=3;
num[0][1]=4;
... ...
num[3][4]=5;//错误,下标越界
方法二:声明时赋值
int num[3][4]={
{1,2,3},
{1,2},
{3,5,6}
};
int num[3][4]={1,2,3,1,2,3,5,6}
本文详细介绍了数组的概念、分类及使用方法,并重点讲解了一维数组和二维数组的声明、赋值和输出过程。此外,还探讨了字符串作为特殊字符数组的应用。
2953

被折叠的 条评论
为什么被折叠?



