存取一组数据,使用数组。
数组是一组相同类型元素的集合。
要存储1-10的数字,怎么存储?
C语言中给了数组的定义:一组相同类型元素的集合。
创建一个空间创建一组数:
一、数组的定义
int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素
访问数组元素:
#include <stdio.h>
#include <string.h>
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10};//定义一个存放10个整数数字的数组printf("%d\n",arr[4]);//5 下标的方式访问数组 return 0;
}
代码实现:
访问一个元素:
#include <stdio.h>
#include <string.h>
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10};//定义一个存放10个整数数字的数组printf("%d\n",arr[4]);//5 下标的方式访问数组 return 0;
}
数组的创建方式:
数组创建的实例:
题目:
题目D选项解析:
代码赏析:
int main() {int a = 7;int b = 70;int c = 700;int d = 7000;int arr[4] = {6,2,1,4};printf("%d\n",arr[2]+arr[3]+10);//15int i = 0;while (i < 4) {printf("%d\n", arr[i]);i++;//i=i+1}return 0;
}
二、数组的下标
C语言规定:数组的每个元素都有一个下标,下标是从0开始的。
数组可以通过下标来访问的。
比如:
三、数组的使用
访问所有元素 :while循环
#include <stdio.h>
#include <string.h>
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//定义一个存放10个整数数字的数组int i = 0;while (i < 10){printf("%d\n", arr[i]);i++;}return 0;
}
访问所有元素 :for循环
#include <stdio.h>
int main()
{int i = 0;int arr[10] = {1,2,3,4,5,6,7,8,9,10};for(i=0; i<10; i++){printf("%d ", arr[i]);}printf("\n");return 0;
}
数组的大小必须得拿常量来指定 :
a. int arr[10] = {0}; //正确
b. int n = 10;int arr[n]={0};//错误
c. int arr[] = {0,1,2,3,4,5,6,7,8,9};//正确,根据后面内容,确定[]中的数值
d. char ch[10] = "hello bit";//5+1blank+3+/0=10 正确
考题一:
考题二:
考题三:只能放4个元素,已经放3个了,最后一个默认为0。
放0进去,和放\0进去,二者没有区别,\0的ASCII码值和0的一样。
考题四:6、7、8、9等也是一样的。
strlen不是求数组大小的,是求字符串长度的,只要找到\0,就不在找了。