- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 数 组;方法2:使用简单变量和循环结构相结合 int mark,i;
for (i=1;i=100;i++) scanf(%d,mark);
方法3:使用数组和循环结构相结合 int mark[100],i;
for (i=1;i=100;i++) scanf(%d,mark[i]);;4.数组的类型;6.1 一维数组;(3)常量表达式的值为数组的长度,表示数组中的元素个数,必须是整数,可以是整型常量或符合常量,但不能是变量。
例如:
①int a[10];
②#define N 10 float b[N];
③int i=10; int c[i];
以上①②是正确的,③是错误的。;(4)当定义了某一个一维数组,则要给其所有的元素分配内存单元。
单元数目=数组长度×每个元素占用的字节数据例如:;二、一维数组元素的引用;(2)下标确定数组元素在数组中的位置,下标可以是整型常量、整型变量和整型表达式。其有效取值范围是:0≤下标<数组的长度
如果下标的值超出范围,称为数组越界,将导致错误的运行结果。;例1:一维数组元素引用举例。设有数组定义语句:int a[4];
数组a有四个元素,分别是a[0],a[1],a[2],a[3下列方式引用数组a的元素均为正确的: a[0]=10;
scanf(%d,%d,a[1],a[3]);
a[2]=2*a[0]+a[1]-a[3];;例2:一维数组元素下标越界举例。设有数组定义语句:int y[2];
数组y有两个元素,分别是y[0],y[1]
下列方式引用数组y的元素语法上均为正确的,但程序可能会出错。
y[2]=10;
scanf(%d,y[3]); y[1]=y[4];;(3)定义数组时方括号的数字与数组元素中的数字意义完全不同,前者的数字说明数组的长度,后者的数字说明该数组元素在数组中的位置。
(4)数组名不是变量是常量,而数组元素是变量如设有数组定义语句:int x[3];;三、一维数组的初始化;方法三:对所有元素赋初值,可省略数组长度如:int a[ ]={1,2,3,4,5};
等价于: int a[5]={1,2,3,4,5};
但是int a[ ];是错误的。;四、一维数组的应用;例1:编写程序,完成:
(1)从键盘上任意输入10个整数; (2)按反序输出10个整数;
(3)按反序存放10个整数。;例2:编写一程序,功能是任意输入10个整数,把这10个数据由小到大排序。
算法分析:排序的方法很多,如选择法、冒泡法希尔法、插入法等。
1.选择法排序
选择法排序的基本思想是首先将n个数中最小的数找出来,同第一??数对调,然后再将n-1个数中最小的数找出来同第二个数对调……依次类推。对n个数作n-1轮比较,每轮都找出一个未经排序的数中最小的数。
选择法排序示意图;2.冒泡法排序;6.2 二维数组;(3)常量表达式1说明二维数组行数的大小(即第一维的长度),常量表达式2说明二维数组列数的大小(即第二维的长度)。;例如:
①int a[4][5];
定义一个a数组,20个元素,每个元素占2个字节,整个数组占40个字节的内存单元。
②float b[3][4];
定义一个b数组,12个元素,每个元素占4个字节,整个数组占48个字节的内存单元。
(5)C的编译系统对二维数组的存储单元的分配原则是:按行顺序存放,即上一行的末元素之后是下一行的首元素。;二、二维数组元素的引用;三、二维数组的初始化;方法二:按行对部分元素赋初值;方法三:给所有元素赋初值,可省略第一维长度如:int a[ ][3]={1,2,5,8,3,7};
等价于: int a[2][3]={1,2,5,8,3,7};;四、二维数组的应用;例3:编写程序,对一个4行4列的二维数组,完成以下操作:
(1)求对角线上的元素之和与积; (2)求所有靠边的元素之和与积; (3)求所有不靠边的元素之和与积。算法分析:
对于一个行列相同的二维数组,它有两条对角线一条称为主对角线,另一条称为副对角线。
主对角线上的元素下标特点是行、列下标的值相等,副对角线上的元素下标特点是行、列下标之和等于(行数-1)。;所有靠边元素的下标特点是行下标等于0或者等于(行数-1),列下标等于0或者等于(列数-1)。
所有不靠边元素的下标特点是行下标不等于0也不等于(行数-1),列下标不等于0也不等于(列数- 1) 。
程序清单:;例4:编写程序,输出杨辉三角形的前10行
1;算法分析:;6.3 字符串与字符数组;二、字符数组定义;例如:要存放字符串“I am a student.”,则定义的一维字符数组长度至少为16(有效字符15个、字符串结束标志1个),即char str[16];。
如要同时存放3个字符串“I am a student.”、
您可能关注的文档
最近下载
- 肩周炎的中医护理ppt课件【24页】.pptx VIP
- 土地开发工程的施工组织设计.doc VIP
- 第一章 中国的疆域与人口 复习教案-湘教版八年级地理上册.doc VIP
- CECS19-1990 混凝土排水管道工程闭气检验标准.docx VIP
- 危化品安全课件.pptx VIP
- 谈小学生厌学原因的分析和对策.doc VIP
- 商品过度包装计量检验操作规范.pdf VIP
- 体例格式12:任务3教学单元5工学一体化课程《windows服务器基础配置与局域网组建》之教学单元活动方案.docx VIP
- JJF(吉) 19-2009 检验夹具校准规范.docx VIP
- 微积分英文课件:Chapter3 Applications of Derivatives.ppt VIP
原创力文档


文档评论(0)