数组

数组代表了内存中多个连续的存储位置
数组要求每个存储位置所对应的数据类型一样
数组有一个名称可以用来代表这个数组
数组所对应的每一个存储位置有一个编号(最前边的存储位置编号是0,向后依次递增)
这个编号叫做下标
下标的有效范围是从 0 开始到存储位置的个数减一为止
超过这个范围的下标不能使用
    使用循环操作数组中的每一个存储位置可以最大程度体现数组的优势
这样可以避免随着数据量增加导致语句量的增加
数组的优势来源于数组对应的存储位置在内存中是连续的
如果每个存储位置都提供了初始化数据则可以省略存储位置的个数
没有对应初始化数据的存储位置自动被初始化成 0 
多余的初始化数据自动被丢弃
数组名称在计算机内部使用第一个存储位置的地址表示
数组名称不可以被赋值
数组名称加下标可以得到下标对应存储位置的地址

地址数据加常数不是按照数学方式计算的 
这个常数代表了多个存储位置的大小
数组中可以使用 *(arr+n)方法表示下标为n 的存储位置
可以对数组名称使用 sizeof 关键字来计算整个数组占多少个字节
声明数组时必须明确存储位置的个数而且永远不可改变
声明数组时可以用变量表示存储位置的个数,这种数组叫变长数组
C99 规范中才支持变长数组
变长数组不可以初始化
rand 标准函数可以用来获得随机数,把标准函数调用语句直接当数字使用就可以得到随机数
使用需要包含 stdlib.h 文件
srand 标准函数可以种一棵新树,以后每次使用rand 标准函数获得的随机数来自于这棵新树
同样需要包含 stdlib.h 文件


time 标准函数可以获得当前系统时间
直接把标准函数调用语句当数字使用就可以得到代表时间的整数
需要包含 time.h 文件
srand 标准函数在每个程序中只应该使用一次

一维数组使用一个整数就可以表示某个存储位置
    二维数组首先把连续存储位置等分成几组,然后使用一个整数表示组编号,使用另一个整数表示组内编号,这两个整数合起来表示一个存储位置
如果希望使用多个连续的存储位置保存多组数据时就可以采用二维数组
    使用二维数组时需要提供两个下标,前一个叫组下标用来表示组的编号,后一个叫组内下标,用来表示存储位置在组内部的编号
组下标和组内下标也符合下标的范围限制
    使用循环嵌套操作二维数组是一种常见的方式
二维数组也可以当表使用
二维数组既可以当成多个一维数组进行初始化也可以当成多个连续位置进行初始化
    二维数组的名称也是用第一个存储位置的地址表示的
    使用二维数组时也可以只提供一个下标,这个下标作为组下标使用,这种使用方法可以表示某一组存储位置
    
    练习
   1.修改彩票游戏,不能出现重复数字
   2.编写程序验证一个身份证是否合法
    前十七位分别乘 (7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2)结果求和除十一取于,根据余数从以下数中找到校验数
(1,0,x,9,8,7,6,5,4,3,2)
   3.编写程序在一个10 x 10 的棋盘上随机布置 10 个地雷,然后打印0 

    
    
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值