C语言chap多维数组.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2 .一维数组元素的引用 ? C 不允许对数组进行动态定义。以下作法是错误的。 int n; scanf(“ % d”,n) ; int a[n]; 数组必须先定义,然后再使用。 C 的数组元素只能 逐个引用而不能一次引用整个数组。 一维数组元素的表示形式为: 数组名 [ 下标 ] 下标可以是整型常量或整型表达式。 例 7.1 main( ) { int i,a[10]; for (i=0; i=9; i++) a[i]=i+1; for (i=9; i=0; i--) printf(“ %2 d”,a[ i]); } 输出结果: 10 9 8 7 6 5 4 3 2 1 3 .一维数组的初始化 赋值语句和输入语句均可使数组中的元素赋初值,但占用 运行时间。简捷的方法是在程序运行之前使数组初始化。 对数组元素初始化的方法有: 1) 在定义数组时对数组元素赋以初值。如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 说明: ? 依次赋予数组元素的初值必须用 { } 括起来。 ? “static” 是 C 的一个关键字,意为“静态存储”。 C 规定只有 静态存储 (static) 数组和外部存储 (extern) 数组才能初始化。 2) 可以只给一部分元素赋值。如: static int a[10]={0,1,2,3,4}; 3) 在 C 中系统会自动对所定义的静态数组的每个元素赋初值 0 。 4) 对全部数组元素赋初值时,可以不指定数组长度。如: static int a[5]={1,2,3,4,5}; 可以写成: static int a[ ]={1,2,3,4,5}; 例 7.2 将一个十进制正整数转换成二进制数。 main( ) { int i, k, r, x, b[16]; printf(“Enter an integer x : ”) ; scanf(“ % d”,x) ; printf(“ m binary number is :\ n”,x) ; k = -1; do {r =x%2; b[++k]= r ; x/=2;} while (x != 0); for ( i=k; i=0; i--) printf(“ % d”,b[i]) ; printf(“ \ n”) ; } 例 7 .3 用冒泡法将 10 个数按从小到大排序。 当有 n 个数时需要作 n – 1 趟这样的搜索,每趟搜 索要作 n – 1 次比较。 main( ) {int i, j,t,a[11]; printf(“input 10 numbers :\ 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(“the sorted numbers :\ n”) ; for (i=1; i11; i++) printf(“ %d ”,a[i]) ; } 7.2. 二维数组 语句形式 : 类型说明符 数组名 [ 常量表达式 1] [ 常量表达式 2] 如: float a[3][4]; 定义 a 是一个 3x4 (3 行 4 列 ) 的数组,即 a 数组有 12 个元素。 但不得写成: float a[3,4]; 注意: ? 二维数组中元素的排列顺序为 按行按列 。即存放完第 1 行的元素后再接着存放第 2 行的元素,依次类推。 ? C 允许定义多维数组。如: float a[3][4][5]; static int }; static int 0,11}}; static int 6}}; static int }; 注意: 所赋给的值是 按行按列 对号入座的。 ? 对二维数组的全部元素赋初值时,可以不指定第一维 的长度,但不得省去第二维的长度。如: static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 可以写成: static int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 同样, 10}}; 也是正确的。 ? 可以对部分元素赋初值。如: 例 7.4 将一个二维数组行和列的元素互换后存到另一个数组中。如: main( ) { static int 5,6}}; static int b[3][2], i, j; printf(“array a:\ n”) ; for (i=0; i=1; i++) { for ( j=0; j=2; j++)

文档评论(0)

zhaohuifei + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档