- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C的笔试是两次。
第九章函数
知识要点:
1一维说组的定义:
1) 当数组中每个元素只带一个下标时,称这样的数组为一维数组。
2) 定义一维数组的一般形式为:
类型名 数组名[ 常量表达式]……..
例如:int a[8];
说明如下:
(1) 定义一个名为a的一维数组。
(2) 方括号中8规定a数组中有8个元素(a[0]到a[7])
(3) 类型名int 规定a数组中每个元素为整型,且每个元素中只能存放整型数。
(4) 每个元素只有下标且第一个元素的下标总为0
(5) C语言编译程序为a数组开辟8个连续的存储单元。
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7]
3) (1): 在定义数组语句中,可以有多个数组说明符,他们用逗号隔开。
例如:double a[22],b[100], c[5];
(2):数组说明符和普通变量名,可以同时出现在一个类型的定义语句中。
2.一维数组的引用
1)引用形式如下:
数组名[下标表达式]例如:double a[8];则a[0],a[j],a[i+k] 都是合法的。
注意:a[i+k]中i+k是下标表达式不是两个下标
2. (1):一个数组元素实际上就是一个变量名。代表内存中的一个存储单元。
(2):一个数组不能整体引用,数组名中存放的是一个地址常量,它代表整个数组的首地址。
(3)在引用数组元素时,数组元素下标表达式必须是整数,下标表达式下限为0。系统并不会自动检验数组元素下标是否越界,因此编程时候要多注意。
3.一维数组的初始化。
1) 在定义语句中给所定义数组赋初值
初值放在赋值号后的花括号中,数值类型与说明类型一致,初值间用逗号隔开,系统将自动按顺序从a[0]开始依次给a数组中元素。如int a[8]={0,1,2,3,4,5,6,7};
2) (1)当初值少于元素个数时,后面元素赋给0。字符补给‘\0’
例如:int a[10]={0};十个元素都赋初值0
char a[5]={‘A’};
char a[5]={‘A’,’\0’, ’\0’, ’\0’, ’\0’,};
(2)当初值多于元素个数,系统给出出错信息。
3)可以通过赋初值来定义数组的大小
例如:int a[]={0,0,0,0,0,0};
int a[6]={0};
4举例说明:
(见课本)编写程序,定义一个含有30个元素的int 类型数组,依次给数组赋 1 3 5 7 9….然后按每行10个顺序输出,最后在按每行10个逆序输出。
第二节:一维数组和指针
1) 数组和指针比较记忆:
(1) 指针变量的地址(每个变量的地址就是该变量的第一个字节的地址)数组名的地址值,就是该数组第一个元素的地址。
(2) 指针变量有基类型,相当于数组的类型名
(3) 指针变量的地址值是不可以改变,因此不可以给数组重新赋值。p=a;
语句a=x;或a++;都是非法的,因为不能给a重新赋值,一但定义,a永远指向a数组的首地址。
2) 虽然不可以改变a 中的 内容,但可以对数组名加一个整数的办法,来依次表达该数组中不同元素的地址。Int a[10],*p,x;
例如:(k为int ) p=a+k;
for(k=0;k10;k++) scanf(“%d” ,a+k);
语句p=a[0]== p=a;指向a数组首地址:
以下语句是等价的:
for(p=a,k=0;k10;k++) p++;
for(p=a,k=0;k10;k++) {scanf(“%d”,p);p++}
for(p=a,k=0;k10;k++) scanf(“%d”,p++);
for(p=a;p-a10;p++) scanf(“%d”,p);
2. 通过数组首地址,指针,带下标的指针引用一维数组
1)*a[i] *(a+i) (p=a;||p=a[0]; ) *(p+i)
a[i] p[i]
数组a
若有:p=a; (a[i] *(a+i) p[i] *(p+i) )
以上是数组元素a[i],一对方括号不仅是表示数组元素的记号,也是一种运算符。
看下面的式子: a[i] a+i p+i
以上是a[i]的地址
*(p--) a[i--] *--p a[--i]
(2)a和p的区别:a是不可以改变的,p中
您可能关注的文档
- 6大计划.ppt
- 6-15企业行政管理-管理认知.ppt
- 6S质量管理的实施.ppt
- 6我的乘法.ppt
- 6抗感染免疫.ppt
- 6系统6, 4单元信息窗口3教学设计.doc
- 6系统6, 4单元复习教学设计.doc
- 6S质量管理的可视化操作.ppt
- 6章能量损耗和线路计算YC.ppt
- 6的变化规律是6。.ppt
- 2025年智能快递驿站行业政策与市场机遇报告.docx
- 2025年校园安全防范中新能源电动巡逻车采购可行性分析.docx
- 2025年智能垃圾分类智慧监管平台在智慧旅游区的应用前景研究.docx
- 2025年智能家居报告:人工智能伦理风险的法律责任与用户隐私保护.docx
- 2025年智能垃圾分类与垃圾分类信息化管理结合的可行性研究.docx
- 2025年智慧社区远程医疗诊断中心在基层医疗机构运营管理中的应用报告.docx
- 2025年智慧社区:老年活动广场智能化升级研究.docx
- 2025年智能社区新能源电动巡逻车市场应用前景分析报告.docx
- 2025年智能垃圾分类智慧监管平台在垃圾分类回收与处理中的智能化改造路径.docx
- 2025年本土半导体材料产业链国产化战略布局报告.docx
文档评论(0)