C语言——第08篇_数组2222.ppt

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 8.1 一维数组的定义和引用 8.2 二维数组的定义和引用 8.3 字符数组和字符串 §8.1 一维数组的定义和引用 注意: 1、数组元素的下标不能越界。 例如:int a[10]; // 定义数组 a[10]=10; //引用越界,a[10]不是该数组的元素 2、数组名是数组变量在内存中的起始地址,一旦定义了数组变量,这个地址值就被固定,不能改变,它就相当于一个地址常量。因此 int a[10]; a=10; // 错误,不能给常量赋值 a++; // 错误,常量不能进行自加自减运算 §8.2 二维数组的定义和引用 §8.2.2 二维数组在内存中的存放形式 § 8.2.3 二维数组元素的引用 例:二维数据a[3][3]赋值并输出。 #include stdio.h void main() { int i,j,a[3][3]; for(i=0;i3;i++) for(j=0;j3;j++) scanf(%d,a[i][j]); for(i=0;i3;i++) { for(j=0;j3;j++) printf(%d ,a[i][j]); printf(\n); } } 【例8.5】一个学习小组有5个人,每个人有三门课的 考试成绩。求全组每科的平均成绩和各科总平均成绩。 【例8.6】二维数组初始化 #include stdio.h void main() { int i,j,s=0, average,v[3]; int a[3][5]={{80,75,92,61,65},{59,63,70,71,87}, {85,90, 76,77,85}}; for(i=0;i3;i++) { for(j=0;j5;j++) s=s+a[j][i]; v[i]=s/5; s=0; } average=(v[0]+v[1]+v[2])/3; printf(“Math:%d\nC languag:%d\nEnglish:%d\n,v[0],v[1],v[2]); printf(total average is:%d\n, average); } 以下程序运行后,输出结果是( )。 #include stdio.h void main() { int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i4;i++) s+=aa[i][1]; printf(“%d\n”,s); } A. 11 B. 19 C. 13 D. 20 以下程序的运行结果是( ) void main() { int i, j,a[3][3]; for(i=0;i3;i++) {for(j=0;j3;j++) {if(i==3) a[i][j]=a[i-1][a[i-1][j]]+1; else a[i][j]=j; printf(%4d,a[i][j]); } printf(\t); } } §8.3.2 字符数组在内存中的存放形式 【例8.9】字符数组用%s格式符控制输出。 #include stdio.h void main() { char c[ ]=BASIC\ndBASE; printf(%s\n,c); } 注意:用puts和gets函数只能输入或输出一个字符串,不能写成 puts(str1,str2) 或 gets(str1,str2) 在VC++6.0下返回值为0,1,-1,在其他编译软件环境下可能返回ASCII值的差。 字符串1 = 字符串2,返回值=0; 字符串1 字符串2,返回值为1; 字符串1 字符串2,返回值为-1。 【例8.16】比较函数strcmp的使用。 #includestdio.h #includestring.h void main() { int k; static char st1[15],st2[]=C Language; printf(input a string:\n); gets(st1); k=strcmp(st1,st2); if(k==0) printf(st1=st2\n); if(k0) printf(

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档