今天学习了循环结构的剩余部分,并对数组有了初步的了解。通过今天的学习,我可以更加得心应手的使用循环结构,并对一系列数据进行保存与调用。
一、循环结构
1.for的嵌套
for (A; B; C)
{
D;
for (E; F; G)
{
H;
}
}
外层循环每执行一次,内层循环执行一遍
2.goto
goto可以将程序的后续运行指向定向的一行代码,若指示到goto之前的代码,便可以实现循环的结构
3.辅助控制语句
(1)break
break可以跳出循环或switch结构,使循环不再进行
(2)continue
结束本次循环。
当一次循环运行到continue时,本次循环结束。
若配合if语句使用,可特定的屏蔽一整个循环中的某几次循环。
(3)return
结束当前函数,除了在循环语句中,在其他函数中也可使用。
二、数组
数组是一组类型相同的有限个数元素的集合
数组的类型有一维数组、二维数组、多维数组,今天先学习一维数组。
1.定义形式
数据类型 数组名[元素个数]
int a[5];
此时元素的个数必须是常量或常量表达式,不能是变量或变量表达式
2.元素访问
数组名[元素下标]
元素下标从0开始,到元素个数-1为止
可以用变量、常量或表达式访问数组内元素
3.越界访问
当访问数字元素时,元素角标大于定义范围,这个行为被称为越界访问。
越界访问非常危险,编译器并不能判断和警示这一行为,偶尔程序也能正常运行,但它的表现是不确定的,很可能会使程序突然崩溃,而难以寻找崩溃原因。
故而在使用数组时,一定要避免越界访问。
4.数组的初始化
在定义数组时对数组元素赋初值。
(1)全部初始化
int a[5]={1,2,3,4,5};
对数组内的元素一一赋初值。
(2)局部初始化
int a[5]={1,2,3};
int a[5]={0};
给定一部分元素的值,没有给定初值的元素,默认初始化为0
(3)默认初始化
在定义数组时,如果不给定数组元素个数,数组会自动匹配初值元素个数来决定数组个数
int a[]={1,2,3,4,5};
5.内存空间
int a[5];
数组所占空间大小 = 数据类型所占空间大小*元素个数。
可以用sizeof函数来测试数组所占空间大小
同理,可以用 sizeof(a) / sizeof(a[0]) 语句来获得数组元素个数
(1)连续性:
数组所占空间连续
(2)有序性:
数组空间存放顺序有序,先存下标为0的元素,再存下标为1的元素, ...