循环结构
循环结构补充:
1、goto循环
代码中尽量不要使用goto,因为破坏程序的逻辑性、可读性
goto循环的使用场景:出错处理使用goto
其他场景能不使用就不使用
2、辅助控制语句:
(1)break
使用对象:只能在循环或者switch中使用
功能:跳出当前循环
(2)continue
使用对象:只能在循环中使用
功能:结束本次循环
(3)return
使用对象:在函数中使用
功能:让当前函数结束
数组:数组是相同类型有限个元素的集合
在C语言中数组的类型包括一维数组、二维数组以及多维数组。
一、一维整形数组
1、定义:
数据类型 数组名[元素个数];
例如:int a[5];、float f[5];、double d[10];
需要注意的是在定义数组时元素个数必须为常量或常量表达式,不允许是变量或变量表达式。
2、元素访问:
数组名[下标];
对于下标定义时,下标访问可以是常量、变量、或表达式
例如:a[0] 、a[n]、a[1] 、a[n+1]等
在使用元素访问时也需要注意:
1.数组元素下标为0 - 元素个数-1 ,不要越界使用
2.下标只能为整形表达式,不能为浮点数类型
3、数组的初始化:
定义数组时对数组元素赋值称为初始化,初始化包括三种方式。
1.全部初始化:每个元素都可以得到初值
例如: int a[5] = {1, 2, 3, 4, 5};
2.局部初始化:只给定一部分元素的值,没有给定初值的元素会被默认赋值为0
例如:int a[5] = {1, 2, 3};
int a[5] = {0};
3.默认初始化:定义变量时没有给定数组元素个数,通过给定初值的个数决定数组元素个数(尽量不要使用)
例如: int a[] = {1, 2, 3, 4, 5};
int a[5];
4、数组的存储:
数组所占空间的大小 = 每个元素所占空间大小 * 元素个数
数据存储的特性
1.连续性:数组元素所占空间是连续的
2.有序性:数组元素的存放顺序有序
3.单一性:数组元素只能是同一种数据类型
5、数组数据的输入和输出
int i = 0;
for (i = 0; i < len; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < len; i++)
{
printf("%d\n", a[i]);
}
6、数组使用的练习
结合之前的知识来实现
(1)找到数组中的最大值和最小值
(2)找到数组中最大值和最小值对应的下标
(3)数组元素的倒置
(4)数组的排序,基础方面主要说的时冒泡排序(重点!)