
循环知识补充1. for 循环中可以不写大括号但是循环只会控制其距离最近的代码不推荐2. 在循环嵌套中break 与 continue 语句只会作用于所处的一层循环在外层的话是直接结束循环生成随机数函数 rand() 函数用来生成随机数// 需添加头文件 #include stdlib.h限制其随机数生成的范围数据类型 变量名 rand() % (max - min 1) min设置每次随机生成的数不一样——换种子方法使用时间秒值来更新种子步骤死循环停不下来的循环for 循环设置while 循环设置死循环一般配合 break 使用在一个未知循环次数的结构中使用使用死循环包裹住重复代码当遇到符合循环结束条件if时使用 break 结束循环。操作数组时的异常1. 数组的索引越界访问超过创建时数组定义的索引这时代码不会报错但会随机生成值并输出。2. 空指针在数组中给数组索引赋值可以设置空数组但不可使用 NULL 空地址设置数组字符数组由字符类型元素组成的数组为字符数组 // 字符串 [string] —— C 语言中没有 (string) 字符串类型字符串的占位符为%s字符数组的定义方式char arr[] Hello—— 定义时是五个字符类型的元素但输出时会在结尾多出一个空\0—— 这是代码在字符元素结束时自动添加进数组的结束符定义数组长度时需考虑多添加一位结束符长度。获取字符数组的长度int length sizeof(arr) / sizeof(arr[0])可添加头文件 string.h 使用函数 strlen(数组名) 来获取有效的字符个数 —— 自动去除结束符二维数组本质为一维数组中每一个元素都是一个一维数组 —— 其形象为一个 [方形] 矩阵定义二维数组动态初始化数据类型 二维数组名[一维数组的数量][每个一维数组中的元素数量]静态初始化数据类型 二维数组名[ ][每个一维数组中的元素数量] {值1, 值2, ... 值n}—— 自动根据 [每个一维数组中的元素数量] 所设置的数量把值分别给到一维数组一维数组的数量也是由此定义出值不够分时随机补出增 —— 删 // 数组一旦被定义其长度和地址不可发生改变查长度1. 二维数组中一共有几个元素 —— 整体二维数组总字节组除以数据类型得总元素int length sizeof(二维数组名) / sizeof(二维数组名[0][0])2. 二维数组中有几个一维数组 —— 整体二维数组总字节组除以单个一维数组总字节得一维数组的个数int length sizeof(二维数组名) / sizeof(二维数组名[0])3. 二维数组中的一维数组的元素个数 —— 单个一维数组除以数据类型得一维数组的元素个数int length sizeof(二维数组名[0]) / sizeof(元素的数据类型)改元素二维数组名[一维数组的索引][一维数组中元素的索引] —— 如一维数组改元素二维数组名[一维数组的索引] 得出的是二维数组中的第几个一维数组 —— 数组的内存不可改二维数组的遍历