Lecture 13 Arrays(3 of 3).ppt_第1页
Lecture 13 Arrays(3 of 3).ppt_第2页
Lecture 13 Arrays(3 of 3).ppt_第3页
Lecture 13 Arrays(3 of 3).ppt_第4页
Lecture 13 Arrays(3 of 3).ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Dept.of Computer Sci. ,基本类型说明符号(int, unsigned int, char, ),命名法与变量命名法相同,必须是整型常量(值0)或整型常量表达式(值0) 元素个数,4,Dept.of Computer Sci. ,基本类型定义符 数组名 = 初始值列表 ;,以逗号分割的常量列表,个数不能超过元素个数,当初始值个数少于元素个数时,剩余元素的初始值为0,根据初始值的个数自动确定元素个数,5,Dept.of Computer Sci. for (i=0; iN; i+) scanf(”%d”, ,7,Sorting,Dept.of Computer Sci. fo

2、r (l=0; lr ? -1 : m); printf(”n%d”, m); ,8,Binary Searching,Dept.of Computer Sci. ,基本类型说明符号(int, unsigned int, char, ),命名法与变量命名法相同,必须是整型常量(值0)或整型常量表达式(值0) 元素个数=第一位长度第二位长度,11,Dept.of Computer Sci. ,12,Dept.of Computer Sci. ,是每个元素的数据类型,表现了全体元素的共同属性;不能与关键字、其他变量、函数、标号同名!,决定了各维下标取值范围和数组存储容量,13,Dept.of Co

3、mputer Sci. char s2M+1; int n=10, m=20; int bnm; ,定义3行2列的二维整型数组,定义有2行81列的二维字符型数组,M+1是常量表达式,14,Dept.of Computer Sci. ,a是3行4列二维数组,16,二维数组,存储结构 以行优先原则按顺序连续存储,main( ) int a34; ,a的存储顺序,Dept.of Computer Sci. ,以逗号分割的常量表达式列表,每行的初始值个数不能超过列数,里层的个数不能超过行数,当初始值个数少于元素个数时,剩余元素的初始值为0,int a34=1,2,3,4, 5,6,7, 8,9,10;

4、 a:,18,Dept.of Computer Sci. ,以逗号分割的常量表达式列表,根据初始值列表自动确定行数,当初始值个数少于元素个数时,剩余元素的初始值为0,int a 4=1,2,3,4, 5,6,7, 8,9,10; a:,19,列数不能省略! 为什么?,Dept.of Computer Sci. ,以逗号分割的常量表达式列表,按存储顺序把初始值分配给各元素,当初始值个数少于元素个数时,剩余元素的初始值为0,int a34=1,2,3,4,5,6,7,8,9,10; a:,20,Dept.of Computer Sci. ,以逗号分割的常量表达式列表,按存储顺序把初始值分配给各元素

5、,必须给出全部元素的初始值,行数自动确定,int a 4=1,2,3,4,5,6,7,8,9,10,11,12; a:,21,列数不能省略!,Dept.of Computer Sci. int i, j; for (i=0; i3; i+) for (j=0; j4 j+) bji=aij; for (i=0; i4; i+) putchar(n); for (j=0; j3; j+) printf(”%d ”, bij); ,23,Dept.of Computer Sci. int i, j, trace; for (i=0; iN; i+) for (j=0; jN; j+) scanf(

6、”%d”, aij); for (trace=0, i=0; iN; i+) trace += aii; printf(”n%d”, trace); ,25,Dept.of Computer Sci. float stdavgN, subavgM; int i, j; /* i:学生序号;j:课程序号 */ for (i=0; iN; i+) for (j=0; jM; j+) scanf(”%d”, ,数组stdavg存储N名学生平均成绩,数组subavg存储M门课程的平均成绩,第i名学生第j门课程成绩的存储地址,求第i名学生的平均成绩, for (j=0; jM; j+) subavgj=

7、0.0; for (i=0; iN; i+) subavgj += aij; stdavgj /= N; /*显示每个学生的平均成绩*/ printf(”nAverage score of students”); for (i=0; iN; i+) printf(”nStudent %d : %f”, i, stdavgi); /*显示每门课程的平均成绩*/ printf(”nAverage score of subjects”); for (j=0; jN; j+) printf(”nSubject %d : %f”, j, subavgj); ,求第j门课程的平均成绩,27,Dept.of

8、 Computer Sci. ,字符串长度是字符串中的字符个数,不含结束符0,31,Dept.of Computer Sci. ,以逗号分开的字符常量,最后一个字符的下一个元素开始为0结束符0,char s10=H, e, l, l, o; s:,实际存储ASCII码,32,Dept.of Computer Sci. ,若不列入结束符0,数组为普通字符数组而不能作为字符串,char s =H, e, l, l, o, 0; s:,数组长度根据初始值列表自动确定,33,Dept.of Computer Sci. ,char s10=”Hello”; s:,字符串长度要大于等于字符串常量的长度,超

9、过字符串长度部分初始化为0,34,Dept.of Computer Sci. ,char s =”Hello”; s:,数组长度根据字符串长度自动确定,35,Dept.of Computer Sci. char s281; s2=”Hello”; s2 =”Hello” s2=s1; s20=H; s21=e; s22=l; s23=l; s24=o; s25=0;,只能对元素进行赋值,对字符串的个体字符进行处理,36,不必对s26s280清零,Dept.of Computer Sci. ,38,Dept.of Computer Sci. scanf(”%s”, msg);,为什么不提供地址?

10、 数组名字就是首元素的地址!【 Lecture 17】,Dept.of Computer Sci. ,字符型数组名或字符型常量,40,Dept.of Computer Sci. scanf(”%s”, msg); printf(”n%s %s”, msg, ”is a string.”); ,输入:ABC 输出: ABC is a string.,Dept.of Computer Sci. /*存储不超过80个字符的英文句子*/ int upper=0, lower=0, digit=0, space=0, stop=0, other=0; int i; gets(msg); for (i=0

11、; msgi; i+) if (msgi=A /* 输出统计结果 */ ,43,Dept.of Computer Sci. int i; gets(msg); for (i=0; msgi ; i+) putchar(msgi); putchar(n); puts(msg); ,输入:Hello, world! 输出: Hello, world! Hello, world!,44,msgi=0时停止循环,Dept.of Computer Sci. int l, r; gets(msg); for (r=0; msgr ; r+); /* 此时msgr=0 */ for (l=0, r- ; l

12、r; l+, r-) ch=msgl; msgl=msgr; msgr=ch; puts(msg); ,寻找字符串结束符的位置,能处理空字符串(首字符为0)情况吗?,46,输入:god 输出: dog,Dept.of Computer Sci. printf( ”n%d”, strlen(gets(msg) ); ,输入:Hello 输出:5,48,Dept.of Computer Sci. int l, r; gets(msg); for (l=0, r=strlen(msg)-1 ; lr; l+, r-) ch=msgl; msgl=msgr; msgr=ch; puts(msg); ,

13、50,Dept.of Computer Sci. ,字符型数组名或者字符串常量,char s81; strcpy(s, ”Hello”); s:,51,Dept.of Computer Sci. s1=”Hello”;,字符型数组与字符串,52,Dept.of Computer Sci. ,字符型数组名或者字符串常量,53,Dept.of Computer Sci. s1: s2: strcat(s1, s2); s1:,54,Dept.of Computer Sci. int cmp1, cmp2; cmp1=strcmp(s1, s2); cmp2=strcmp(s1, ”Computer”); cmp10 cmp2=0,字符串”Computer”大于字符串”Computation”,57,Dept.of Computer Sci. gets(s1); gets(s2); if (strcmp(s1, s2)0) strcpy(t, s1); strcpy(s1, s2); strcpy(s2, t); puts(s1); puts(s2); ,输入: Yanji Yanbian 输出: Yanbian Yanji,t=s1; s1=s2; s2=t;,61,if (s1s2),Dept.of Com

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论