数组详解
1.如果不写a[2] 会默认是0
2.可以先不写 int ar[] = {1,2,3};
然后就是ar[3]了
3.char name[] = "Alan";
长度就是5了,因为字符型默认后面有换行符
等同于{'A','l','a','n'}
下标
数组下标的含义是数组相对于第一个元素的偏移量。
array[5]
第一个元素的偏移量为0
循环初始化
#include
main() {
int a[10], i;
for(i = 0; i < 10; i++) {
a[i] = i;
}
}
一维数组遍历
#include
int main() {
int a[8] = {1, 1, 2, 3, 5, 8, 13, 21};
int i;
for (i = 0; i < 8; i++) {
printf("%d\n", a[i]);
}
}
统计最高最低分
#include
int main() {
int a[8] = {80, 90, 85, 84, 70, 76, 75, 83};
int i, max = 0, min = 100;
for(i = 0; i<8; i++) {
if(a[i] > 100) {
max = a[i];
}
else if(a[i] < min) {
min = a[i];
}
}
printf("最高分为:%d最低分为:%d", max, min);
}
二维数组
int a[5];
a[0] = 0;
a[1] = 1;
a[2] = 2;
一个一个赋值
#include
int main() {
int i=0;
int a[6];
while(i < 6) {
a[i] = i;
i++;
}
for(i = 0; i < 6; i++) {
printf("%d\n", a[i]);
}
}
#include
int main() {
int a[][2] = {1,2,3,4,5}; // 第二维度一定要指定!!!
//不可以a[2][]以,因为两行已知,而可以123一列,450一列
// 也可以1234一列, 5000一列
for(i = 0; i<6; i++) {
printf("%d", a[i]);
}
}
#include
int main() {
int a[][2] = {1,2,3,4,5}; // 第二维度一定要指定!!!
//不可以a[2][]以,因为两行已知,而可以123一列,450一列
// 也可以1234一列, 5000一列
for(i = 0; i < sizeof(a)/sizeof(int); i++) { //自动获取数组的长度 sizeof(a)/sizeof(int)
printf("%d", a[i]);
}
}
1分段赋值
2连续赋值
3连续省略赋值(列不可省略)int a[][2]
#include
int main() {
int grade[4][3] = {22,33,44,55,66,77,88,77,66,55,44,33};
int i,j;
for(i = 0; i < 4; i++) {
for(j = 0; j < 3; j++) {
if(grade[i][j] < 60) {
printf("第%d位同学不及格", i+1); //
continue; // 这里如果一个同学一科不及格,就跳出不再对他剩下学科进行对比
// 直接跳出的是for(j....)这个循环,不再进行后面的循环了
}
}
}
}