- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言入门教程(八)数组
数组,顾名思义就是一组同类型的数。一、数组的声明声明数组的语法为在数组名后加上用方括号括起来的维数说明。本接仅介绍一维数组。下面是一个整型数组的例子:int array[10];这条语句定义了一个具有10个整型元素的名为array的数组。这些整数在内存中是连续存储的。数组的大小等于每个元素的大小乘上数组元素的个数。方括号中的维数表达式可以包含运算符,但其计算结果必须是一个长整型值。这个数组是一维的。下面这些声明是合法的:int offset[5+3];float count[5*2+3];下面是不合法的:int n=10;int offset[n]; /*在声明时,变量不能作为数组的维数*/二、用下标访问数组元素int offset[10];表明该数组是一维数组,里面有10个数,它们分别为offset[0],offset[1],……offset[9];千万注意,数组的第一个元素下标从0开始。一些刚学编程的人员经常在这儿犯一些错误。offset[3]=25;上面的例子是把25赋值给整型数组offset的第四个元素。在赋值的时候,可以使用变量作为数组下标。main(){int i,offset[10];for(i=0;i10;i++) scanf(%d,offset[i]);for(i=9;i=0;i--) printf(%d ,offset[i]);printf(\n);}题目的意思是先输入10个整数,存入到数组中,然后反序输出。三、数组的初始化前面说了,变量可以在定义的时候初始化,数组也可以。int array[5]={1,2,3,4,5};在定义数组时,可以用放在一对大括号中的初始化表对其进行初始化。初始化值的个数可以和数组元素个数一样多。如果初始化的个数多于元素个数,将产生编译错误;如果少于元素个数,其余的元素被初始化为0。如果维数表达式为空时,那么将用初始化值的个数来隐式地指定数组元素的个数,如下所式:int array[]={1,2,3,4,5};这也表明数组array元素个数为5。main(){int i,array[]={1,3,5,7,9,11};for(i=0;i5;i++) printf(%d ,array[i]);printf(\n);}最终结果为1 3 5 7 9四、字符数组整数和浮点数数组很好理解,在一维数组中,还有一类字符型数组。char array[5]={H,E,L,L,O};对于单个字符,必须要用单引号括起来。又由于字符和整型是等价的,所以上面的字符型数组也可以这样表示:char array[5]={72,69,76,76,79}; /*用对应的ASCII码*/举一个例子:main(){int i;char array[5]={H,E,L,L,O};for(i=0;i5;i++) printf(%d ,array[i]);printf(\n);}最终的输出结果为72 69 76 76 79但是字符型数组和整型数组也有不同的地方,看下面的:char array[]=HELLO;如果我们能看到内部的话,实际上编译器是这样处理的:char array[]={H,E,L,L,O,\0};看上面最后一个字符\0,它是一个字符常量,Turbo C编译器总是给字符型数组的最后自动加上一个\0,这是字符的结束标志。所以虽然HELLO只有5个字符,但存入到数组的个数却是6个。但是,数组的长度仍然是5。int i;i=strlen(array); /*求字符串的长度,在string.h里面*/可以看出i仍然是5,表明最后的\0没有算。#include string.hmain(){int i,j;char array[]=094387fdhgkdladhladaskdh;j=strlen(array);for(i=0;iprintf(\n);}其实我们可以根据判断\0来输出字符串,看下面的:main(){int i;char array[]=094387fdhgkdladhladaskdh;for(i=0;array[i]!=\0;i++) printf(%c,array[i]);printf(\n);}举几个例子:1.输入10个整数存入数组中,然后把它们从小到大排列并放在同一数组中。(思路:先找出最小的,放在第一个位置,为了防止把原先的数覆盖掉,可以把原先的第一个数和最小数的位置互换)。main(){int array[10];int i,j,min,stmp;for(i=0;i10;i++) scanf(%d,array[i]);f
文档评论(0)