数组

                                    ***

数组

知识总结
一维数组
定义:连续存放的同种变量的数据集合
格式:类型标识符 数组名[常量表达式]
(1.数组名的命名规则与变量名的命名规则一致
2.常量表达式表示数组元素的个数,可以是常量和符号常量,但不能是变量
3.数组元素过多时要用宏定义
4.cin>>n; int a[n];是错误的)
输入:利用for循环输入
引用:1.格式:数组名[下标]
2.下标可以是任意值为整形的表达式
3.下标不能越界
4.只能逐个引用,不能引用整个数组
5.下标从0开始
初始化:1.格式:
类型标识符 数组名[常量表达式]={值1,值2,…}
2.赋值数小于常量表达式时,从首元素开始依次初始化,其余为0
对数组全部初始化为0,可以写为a[n]={}
3.数组定义后初值是随机数
复制:1.memcoy(b,a,sizeof(int)*k)从数组a复制k个元素到数组b
2.memcpy(b,a,sizeof(double)*k)浮点型
3.memcpy(b,a,sizeof(a))把a全部元素复制到b
4.使用memcpy函数要包含头文件cstring
二维数组
定义:一维数组的元素也是一维数组,即数组的数组
格式:数据类型 数组名[常量表达式1][常量表达式2]
多维数组:数组的下标有多个
输入:双重循环输入
引用,初始化:与一维数组类似
注:二维数组可以看做一个矩阵a[行][列]
字符数组
定义:元素为字符的数组
数据类型:char
赋值:1.当赋值少于元素个数时值个数时,从首元素开始赋值,剩余元素默认为空
字符
2.字符数组可以存放字符串,字符串后有一个结束符’\0’
3.字符串长度应小于字符数组大小或等于字符数组大小
4.将一个数组的全部元素赋值于另一组时要用字符串拷贝函数
输入:1.scanf(“%s”,字符串名称)
注:scanf语句得到的字符串不存在空格,空格后是下一次输入的字符串
2.gets(字符串名称)
注:gets只能输入一个字符串,是从光标开始的地方读到换行符(包含空格)
3.cin.getlin()
注:输入超长时会引起cin函数的错误,后面的cin操作将不再执行
输出:1.printf(“%s”,字符串名称)
注:(1)输出只能是字符串,不能是数组元素
(2)不包括字符串结束标志”\0”
2.puts(字符串名称)
注:输出字符串和一个换行符

应用
1.两组数据之间的简单计算
2.一组数据排序
3.矩阵中的位置变换
4.矩阵中的数据变换
5.字符的位置变换
感想
学习数组之后对处理的数值也多了,题目不是很难,但要考虑的特殊情况多了,很多时候都考虑不到;二维数组对元素与位置对应的要求高了,做的时候也要保持清晰的思路;这一章的循环层次多了,要注意优化,不要超时;数组的定义尽量大点,在int main()前定义,数组越界很麻烦;还有好多特殊的函数没掌握,最近要加紧了!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值