数组 (arr[ ];)
概念:把一组相同数据类型的数存储起来,可保存多个值。数组也是一个变量,需要先声明再使用,变量名为arr。(声明变量真正的含义是在内存中开辟空间,int开辟4个字节空间,int arr[10]则开辟40个字节空间,数组开辟的空间是连续分配的)
一维数组
初始化一维数组
int arr[10]:默认数组中每个值都是0,可以在声明变量的同时进行初始化(即赋值),变量名为arr的数组中可以保存10个int类型的值
方式一:
int arr[10]={1,2,3,4,5,6,7,8,9,10};
方式二:
int arr[ ]={1,2,3,4,5,6,7,8,9};
方式三:部分初始化
int arr[10]={1,2,3};(数组中前三个值是1,2,3)
可以通过别名从内存中获取数组中的元素;
为了方便获取,对数组中的内容进行编号(编号从0开始);
别名:arr[0],arr[1],arr[2],arr[3]...索引:0 ~ size-1;
数组中元素的个数 = sizeof(arr) / sizeof(arr[0]);
不能修改数组中的元素(arr[无符号整型常量]),数组一旦创建,大小就固定了
在C语言中使用字符数组来保存字符串,字符串最后会加一个结尾标识\0
char name[ ] = "Jack";
char name[ ] = {"Jack"};
char name[256] = {"Jack"};
char name[ ] = {'J','a','c','k','\0'};
char name[256]={0} -----> char[256] (将变量名取掉,剩下的就是类型)
sizeof和strlen:读取大小
冒泡排序法(升序排序)
规则:将相邻元素进行比较,如果前面的元素比后面的大,则交换位置
注意:声明int ()=0或int ()=1,要清楚在干什么,从而进行选择0或1;
二维数组
概念:与一维数组类似,只不过数组中的每一个元素又是一个一维数组,:二维数组对应的是一个平面图形,arr[行][列];
延伸:以此类推,三维数组是由二维数组构成,如果将一维数组比作有一排有多少人,二维数组可看作一个教室有多少排,三维数组可看作有多个教室
二维数组的创建
1.int arr[3][4];
2.char arr[3][5];
3.double arr[2][4];
二维数组的初始化
1.int arr[3][4]={1,2,3,4};
2.int arr[3][5]={{1,2},{4,5}};
3.int arr[ ][4]={{2,3},{1,2}};//定义二维数组时,行数可以省略,系统会通过初始化元素的个数或行数来分配对应的内存空间
int arr[3]={1,2,3};
int arr[3]={4,5,6}; --------> int[3] arr[3]{arr1,arr2,arr3}; ---------> int arr[3][3]=={arr1,arr2,arr3};
int arr[3]={7,8,9};
例题
例题1.int arr[8] = {10,15,27,33,78,65};
(1)要求用户输出上述数组中的内容;
(2)求上述数组中的奇数和;
(3)求上述所有元素(8个)的平均值,省略小数,输出整数;
例题2.char buf[100] = {0};
从键盘输入字符串,若是大写字母转化为小写字母;若是小写字母,则不变;
例题3.利用二维数组打印杨辉三角图案(定义一个int a[10][10])