c语言学习:循环嵌套与数组
C语言学习笔记:循环嵌套与数组
今天接着整理C语言的学习笔记,从循环嵌套开始。
循环嵌套
循环里面再套循环,就是循环嵌套。执行逻辑很简单:外层循环执行一次,内层循环跑完整一轮。比如打印九九乘法表,外层控制行,内层控制列,就是最典型的用法。
顺带提一下goto语句,无条件跳转,配合if能实现循环效果,但这东西尽量少用,跳来跳去逻辑容易乱,代码可读性也差。
循环辅助语句
循环里常用的三个关键字得搞清楚:
- break:直接跳出当前整个循环。多层嵌套时,只跳出它所在的那一层,不会全跳出去。
- continue:跳过本次循环剩下的语句,直接进入下一轮。跟break不一样,它不是结束循环,是"这一轮我不玩了,下一个"。
- return:跳出当前函数。如果在main函数里遇到return,整个程序直接结束。
数组
数组就是用来存一组相同类型数据的东西。
定义格式: 类型说明符 数组名[常量];
比如 int a[10]; 就是定义了一个能存10个int型数据的数组,占40个字节。
访问元素用下标,格式是 数组名[下标] 。注意下标从0开始,到"元素个数-1"结束,超了就是数组越界,会出问题。
初始化有几种方式:
- 全部初始化: int a[10] = {1,2,3,4,5,6,7,8,9,0};
- 局部初始化: int a[10] = {1,2,3,4,5}; —— 前面5个赋了值,后面默认补0
- 全0初始化: int a[10] = {0}; —— 所有元素都是0
如果定义时方括号里不写个数,那就必须初始化,系统会根据你初始化的元素个数来确定数组长度。
数组在内存中的存储有三个特点:单一性(类型都一样)、有序性(按下标顺序存)、连续性(内存空间是连续的)。
数组越界要小心,两种情况会越界:一是初始化的元素比数组合法容量还多,二是访问时下标超了范围。写代码的时候多留意下标值,别踩坑。
以上就是循环嵌套和数组的核心内容,后面继续整理其他知识点。
