数组(1)数组定义及典例
<1>数组定义
(1)引入数组概念:————用于记录很多同类型的数字
-
格式:类型 变量名称[元素数量];
——举例:int grades[100]; -
元素数量必须是整数;
数组功能及特点:
-
功能:
1.相当于存放数据的容器;
-
特点:
1.一旦创建不可改变大小;
2.其中所有元素具有相同的数据类型;
3.数组中的元素在内存中连续依次排列;
(2)int a[10]示例
1)分析:
1.int a[10]为int型数组;
2.[10]说明数组有十个单元,从a[0]起始直至a[9];
3.每个单元代表一个int类型的变量;
4.可以出现在赋值的左边或者右边;
(3)数组的单元
1. 数组的每个单元就是数组类型的一个变量;
2. 数组的中括号中的数字称为下标或索引,下标从0开始计数;
(4)有效的下标范围
1.编译器和运行环境均不会检查数组下标是否越界,这也就意味着可能会存在数组越界编译器出现警告的情况,所以我们需要保证数组在有效的下标范围内运行;
(5)补充:长度为0的数组
- 这是一个越界数组,最大项应该为-1;
- 编译可以通过,但无用;
<2>相关典例:统计个数
(1)题目:
编写一个程序,输入数量不确定的[0,9]范围内的整数,统计每个数字出现的频次,输入-1表示结束
1.一次代码
#include<stdio.h>
int main(){
int x;
int count[10];
int i;
for(i=0;i<10;i++){
count[i]=0;
}
scanf("%d",&x);
while(x!=-1){
if(x>=0&&x<=9){
count[x]++;
}
scanf("%d",&x);
}
for(i=0;i<10;i++){
printf("%d:%d\n",i,count[i]);
}
return 0;
}
2.二次代码及其结构分析
#include<stdio.h>
int main(){
//const int number=10;//————此处的const仅在C99中使用
//1.首先在这里先确认数组大小
int x;
//int count[number];//
//2.定义数组
int i;
//for(i=0;i<number;i++){
count[i]=0;
}//
//3.初始化数组
————注意:数组变量与本地变量一样需要初始化
scanf("%d",&x);
while(x!=-1){
if(x>=0&&x<=9){
//count[x]++; //
//4.数组参与运算
}
scanf("%d",&x);
}
//for(i=0;i<number;i++){
printf("%d:%d\n",i,count[i]);
}//
//5.遍历数组输出
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了