欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第6章数组.ppt

    • 资源ID:2551395       资源大小:715.51KB        全文页数:36页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第6章数组.ppt

    以下程序,执行后的输出结果是 #include int main() int i; for(i=0;i3;i+) switch (i) case 1: printf(”%d”,i); case 2: printf(”%d”,i); default: printf(”%d”,i); return 0; ,011122,6.1 一维数组的定义和引用 6.2 二维数组的定义和引用 6.3 字符数组,第6章 数 组,6.1 一维数组的定义和引用,一维数组的定义方式: 类型说明符 数组名常量表达式; int a10; char c120;,说明:(1) 数组名定名规则和变量名相同。 (2) 数组名后是用方括弧括起来的常量表达式, 不能用圆括弧。 int a(10); int 5a10; int ff10; (3) 常量表达式表示元素的个数,即数组长度。 int a10; char c120;,a0 a1 a9,c10 c11 c119,(4) 常量表达式中可以包括常量和符号常量,不能包含变量。,int n; scanf(“%d“,,#define NUM 10 int aNUM; ,int n=9; int an;,一维数组元素的引用,数组必须先定义,后使用。 c语言规定只能逐个引用数组元素,而不能一次引用整个数组。 数组元素的表示形式: 数组名下标 int a10; a3=8; a7=12; 下标可以是整型常量或整型表达式: a0=a5+a7+a2*3;,例6.1数组元素的引用。 #include int main() int i,a10; for (i=0; i=0; i- -) printf(“%d “,ai); return 0; ,9 8 7 6 5 4 3 2 1 0,scanf(”%d”,一维数组的初始化,在定义数组时对数组元素赋以初值。 int a10=0,1,2,3,4,5,6,7,8,9; a0=0,a1=1,a2=2, a9=9 (2) 可以只给一部分元素赋值。 int a10=0,1,2,3; a0=0,a1=1,a2=2,a3=3,a4=0,a9=0 (3) 若想使一个数组中全部元素值为0,可以写成 int a10=0,0,0,0,0,0,0,0,0,0; int a10=0; 不能写成 int a10=0*10;,(4) 在对全部数组元素赋初值时,可以不指定数组长度。 int a5=1,2,3,4,5; 可以写成 int a=1,2,3,4,5; int b=11,56,231;,int a10=1,2,3,4,5; int b10=11,56,231,13,67,162;,一维数组程序举例,例6.2用数组来处理求fibonacci数列问题。 #include int main() int i; int f20=1,1; for(i=2;i20;i+) fi=fi-2+fi-1; for(i=0;i20;i+) if(i%5= =0) printf(“n“); printf(“%12d“,fi); return 0; ,运行结果如下: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765,例6.3用起泡法对10个数排序(由小到大)。 起泡法的思路是:将相邻两个数比较,将小的调到前头。,图7.3,#include int main() int a11, i,j,t; printf(“input 10 numbers :n“); for (i=1;iai+1) t=ai;ai=ai+1;ai+1=t; printf(“the sorted numbers :n“); for(i=1;i11;i+) printf(“%d “,ai); return 0;,回第七章,二维数组的定义 二维数组定义的一般形式: 类型说明符 数组名常量表达式常量表达式 float a34,b510;int c4; 注意:不能写成 float a3,4,b5,10;,6.2 二维数组的定义和引用,可以把a0、a1、a2看作是3个一维数组的名字。,c语言中,二维数组中元素排列的顺序是:按行存放. c允许使用多维数组。例如,定义三维数组的方法是 float a234;,多维数组元素在内存中的排列顺序:第一维的下标变化最慢, 最右边的下标变化最快。 float a234 a000a001a002a003 a010a011a012a013 a020a021a022a023 a100a101a102a103 a110a111a112a113 a120a121a122a123,二维数组的引用 二维数组的元素的表示形式为: 数组名下标下标 a23 a01 下标可以是整型表达式, a2-12*2-1。 注意:a2,3,a2-1,2*2-1 数组元素可以出现在表达式中,也可以被赋值: b12=a23/2 在使用数组元素时,注意下标值: int a34; a34=3;,二维数组的初始化,分行给二维数组赋初值。 int a34=1,2,3,4,5,6,7,8,9,10,11,12; (2)可以将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值。 int a34=1,2,3,4,5,6,7,8,9,10,11,12;,(3) 可以对部分元素赋初值。 int a34=1,5,9;,1 0 0 0 5 0 0 0 9 0 0 0,也可以对各行中的某一元素赋初值: int a34=1,0,6,0,0,11;,也可以只对某几行元素赋初值: int a34=1,5,6;,1 0 0 0 5 6 0 0 0 0 0 0,也可以对第2行不赋初值: int a34=1,9;,1 0 0 0 0 6 0 0 0 0 11 0,1 0 0 0 0 0 0 0 9 0 0 0,(4) 如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省. int a34=1,2,3,4,5,6,7,8,9,10,11,12; 等价于: int a4=1,2,3,4,5,6,7,8,9,10,11,12;,在定义时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。 int a4=0,0,3,0,10;,0 0 3 0 0 0 0 0 0 10 0 0,二维数组程序举例,例6.4将一个二维数组行和列元素互换,存到另一个二维数组中。,a = 1 2 3 b = 1 4 4 5 6 2 5 3 6,二维数组程序举例,例6.4将一个二维数组行和列元素互换,存到另一个二维数组中。,#include int main() int a23=1,2,3,4,5,6, b32,i,j; printf(“array a:n“); for (i=0;i=1;i+) for (j=0;j=2;j+) printf(“%5d“,aij); bji=aij; printf(“n“); printf(“array b:n“); for (i=0;i=2,i+) for(j=0;j=1;j+) printf(“%5d“,bij); printf(“n“); return 0; ,例6.5 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 N-S流程图表示算法:,#include int main() int i,j,row=0,colum=0,max; int a34=1,2,3,4,9,8,7,6,-10,10,-5,2; max=a00; for (i=0;imax) max=aij; row=i; colum=j; printf(“max=%d,row=%d,colum=%d“,max,row,colum); return 0; ,max=10,row=2,colum=1,回第七章,字符数组的定义 char c10; c0='I'c1=' 'c2='a'c3='m'c4=' ' c5='h'c6='a'c7=p'c8=p'c9='y' 赋值后数组的状态如图所示:,6.3 字符数组 用来存放字符数据.字符数组中的一个元素存放一个字符.,int c10;,字符数组的初始化,char c10=I, ,a,m, ,h,a,P,P,y; char c10='c',' ','p','r','o','g','r','a','m',如果提供的初值个数与预定的数组长度相同,在定义时可 以省略数组长度,系统会自动根据初值个数确定数组长度: char c ='I',' ','a','m',' ','h','a','p','p','y',也可以定义和初始化一个二维字符数组: char diamond55=' ',' ','*',' ','*',' ' ,'*','*',' ',' ',' ','*',' ','*',' ','*',' ',' ','*',* * * * * * * * ,例6.6 输出一个字符串。 #include int main() char c10='I', ' ','a','m',' ','a',' ','b','o','y' int i; for(i=0;i10;i+) printf(“%c“,ci); printf(“n“); return 0; ,I am a boy,例6.7 输出一个钻石图形。 #include int main() char diamond5= ' ',' ','*', ' ','*',' ','*', '*',' ', ' ',' ','*', ' ','*',' ','*', ' ',' ','*' ; int i,j; for (i=0;i5;i+) for (j=0;j5;j+) printf(“%c“,diamondij); printf(“n“); return 0; ,* * * * * * * *,字符串和字符串结束标志 在c语言中,将字符串作为字符数组来存放。 字符串结束标志:以字符0代表。,系统对字符串常量自动加一个0作为结束符。 C Program,说明:0代表ASCII码为0的字符, 是一个“空操作符”,printf(“How do you do?n“);,在内存中存放时,系统自动在最后一个字符n的后面加了一个0作为字符串结束标志,可以用字符串常量来使字符数组初始化。 char c=“I am happy“; 也可以省略花括弧,直接写成 char c=“I am happy“;,char c ='I',' ','a','m',' ','h','a','p','p','y','0',char c ='I',' ','a','m',' ','h','a','p','p','y',字符数组的输入输出,逐个字符输入输出。用格式符“%c”: for(i=0;i10;i+) printf(“%c“,ci); printf(”%c,%c”,c0,c1);,(2) 将整个字符串一次输入或输出。用“%s”格式符: char c=“china“; printf(“%s“,c);,china,注意: (1) 输出字符不包括结束符0。 (2) 用“%s”格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。 (3) 如果数组长度大于字符串实际长度,也只输出到遇0 结束。 char c10=“china“; printf(“%s“,c);,china,(4) 如果一个字符数组中包含一个以上0,则遇第一个 0时输出就结束。,char c ='I',' ','a','m',' ','h','a', '0','p', 'y','0',printf(“%s“,c);,I am ha,可以用scanf函数输入一个字符串: scanf(“%s“,c);,如果利用一个scanf函数输入多个字符串,则以空格分隔: char Strl5,Str25,Str35; scanf(“%s%s%s“,Str1,Str2,Str3); How are you?,从键盘输入:china,若改为 char str13; scanf(“%s“,str); 如果输入以下12个字符 How are you?,char c6=”China”;,printf(“%s“,c);,c:,China,练习: #include int main() int a44=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+=ai1; printf(”%dn”,s); return 0; ,19,. 作业:6.4,字符串处理函数(上机),回第七章,

    注意事项

    本文(第6章数组.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开