C语言课件:第七章-数组.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

*第7章数组7.1一维数组的定义和引用7.2二维数组的定义和引用7.3字符数组7.1一维数组的定义和引用语句形式:类型说明符数组名[常量表达式]说明:?数组名定名规则和变量名相同。?常量表达式表示数组元素的个数,即数组的长度。如:inta[10];表示a数组有10个元素:a[0],a[1],a[2],?,a[9],没有a[10]。注意:数组的下标是从0开始的。1一维数组的定义?C不允许对数组进行动态定义。以下作法是错误的。intn;scanf(“%d”,n);inta[n];2一维数组元素的引用数组必须先定义,然后再使用。C的数组元素只能逐个引用而不能一次引用整个数组。一维数组元素的表示形式为:数组名[下标]下标可以是整型常量或整型表达式。例7.1main(){inti,a[10];for(i=0;i=9;i++)a[i]=i+1;for(i=9;i=0;i--)printf(“%2d”,a[i]);}输出结果:109876543213一维数组的初始化赋值语句和输入语句均可使数组中的元素赋初值,但占用运行时间。简捷的方法是在程序运行之前使数组初始化。对数组元素初始化的方法有:1.在定义数组时对数组元素赋以初值如:inta[10]={0,1,2,3,4,5,6,7,8,9};说明:依次赋予数组元素的初值必须用{}括起来。2.可以只给一部分元素赋值如:inta[10]={0,1,2,3,4};3.在C中系统会自动对所定义的数组的每个元素赋初值04.对全部数组元素赋初值时,可以不指定数组长度如:inta[5]={1,2,3,4,5};可以写成:inta[]={1,2,3,4,5};如:inta[10]={0};或inta[10]={0,0,0,0,0,0,0,0,0,0}main(){inti,k,r,x,b[16];printf(“Enteranintegerx:”);scanf(“%d”,x);printf(“%6dbinarynumberis:\n”,x);k=-1;do{r=x%2;b[++k]=r;x/=2;}while(x!=0);for(i=k;i=0;i--)printf(“%1d”,b[i]);printf(“\n”);}例:将一个十进制整数转换成二进制数。将b数组元素逆序输出例7.3用冒泡法将10个数按从小到大排序。冒泡法的思路是:将相邻两个数进行比较,将小的调到前头。若有这样一组数:984520,则按如下图所示进行操作。984520比较交换98比较交换94比较与交换的操作直到数字9调到最后的位置,然后将剩下的5个数84520进行下一轮比较与交换,直至排好序为止。当有n个数时需要作n–1趟这样的搜索,每趟搜索要作n–1次比较。main(){inti,j,t,a[11];printf(“input10numbers:\n”);for(i=1;i11;i++)scanf(“%d”,a[i]);printf(“\n”);for(j=1;j=9;j++)for(i=1;i=10-j;i++)if(a[i]a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf(“thesortednumbers:\n”);for(i=1;i11;i++)printf(“%d”,a[i]);}7.2二维数组的定义和引用定义形式:类型说明符数组名[常量表达式1][常量表达式2]如:floata[3][4];定义a是一个3x4(3行4列)的数组,即a数组有12个元素。但不得写成:floata[3,4];注意:?C允许定义多维数组。?二维数组中元素的排列顺序为按行按列。即存放完

文档评论(0)

金华 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档