欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C程序设计07数组.ppt

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

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

    C程序设计07数组.ppt

    第七章第七章 数组数组 前面所用到的数据均为基本类型(整、实、字符),为了丰富数据类型,须提供强有力的数据表达方式。C语言提供了一种构造类型数据由基本类型按某一规则组合在一起。其中数组:同一种(基本)类型按一定顺序组合在一起的数据类型。7.1 7.1 一维数组一维数组7.1.1 7.1.1 一维数组的定义与初始化一维数组的定义与初始化1.数组名的确定方法同变量名。2.C语言用方括号 表示数组元数个数。形式:类型说明符 数组名常量表达式;例:int a 20;float x 100;3.常量表达式为常量和符号常量。不允许有变量,其表达式的值代表了元素的个数。例:int a20;表示有20个元素 且元素从0开始编排:a0,a1,a 194.可在定义数组时赋初值,方法如下:对部分元素赋初值 int a10=0,1,2,3,4;对全部元素赋初值 int a10=10,11,12,13,14,15,16,17,18,19;如此,只有前5个元素初值确定,后5个元素由系统设置。如对数组元素赋同一初值,必须一一写出:int a10=0,0,0,0,0,0,0,0,0,0;若赋全部元素的初值,可省略常量表达式 int a=0,1,2,3,4;表示a5,即只有5个元素。7.1.2 7.1.2 一维数组的引用一维数组的引用 2.引用方式:数组名下标 代表了一个元素,等价一个同类型的变量。3.一般地,一维数组各元素分配在连续地内存单元之中。1.必须象使用变量那样,先定义,后使用例:a 05+a1+3 6 为正确的算术表达式7.1.3 7.1.3 一维数组的应用一维数组的应用用循环for实现:for(i=2;i20;i+)fi=fi 2+fi 1;例:求Fibonacci 数列。定义数组,并赋初值int f20=1,1;注意:下标越界问题:i=2且i20main()int i;int f20=1,1;for(i=2;i20;i+)fi=fi2+fi1;for(i=0;i20;i+)if(i%5=0)printf(n);printf(%12d,fi 1 8 89 987 5 55 6106765运行结果如下:1 13 1441597 2 21 2331584 3 34 3774181 程序如下:打印:每5个数换一行。for(i=0;iaj交换ai ajBANoYesjj+1jnii+1i n1打印结果结束内循环外循环BANoYesYesNo#define N 10main()int a N;int i,j,t;printf(please input%d number:n“,N);for(i=0;iN;i+)scanf(%d,&ai);printf(n);for(i=0;iN-1;i+)for (j=i+1;jaj)t=ai;ai=aj;aj=t;printf(the sorted numbers:n);for(i=0;iN;i+)printf(%d,ai);程序:另一种排序法:冒泡排序法(详见教材另一种排序法:冒泡排序法(详见教材)7.2 二维数组二维数组7.2.1 二维数组的定义二维数组的定义1.不可将定义写为int a4,10。形式 类型说明符 数组名常量表达式 常量表达式例:int a4 10;float x8 20;2.可将二维数组的元素看成为若干个特殊的一维数组。如:int b3 4;则:有三个特殊的一维数组b0,b1,b2,每一个又有四个元素:b00,b01,b02,b03,b10,b11,b12,b13,b20,b21,b22,b23,3.二维数组的存放方式为:按行存放。由此可推广 至三维、n维数组的定义和存放。即:最右边的下标变化最快。4.初始化:按行给二维数组赋初值:int a34=1,2,3,4,5,6,7,8,9,10,11,12;可以去掉其中的。可以对部分元素赋初值,但需表达清楚。如:int a34=1,2,3,8。则相当于 1 2 0 0 3 0 0 0 8 0 0 0可通过赋初值决定数组大小。如为二维,则只可省略第一维的大小.int a 4=1,2,3,4,5,6,7,8,9,10,11,12;7.2.2 二维数组元素的引用二维数组元素的引用形式:数组名下标下标 其中的下标为整型表达式,但不得越界。与一维数组元素一样,二维数组元素相当于同类型的简单变量。7.2.3 程序举例程序举例 a=1 2 34 5 6b=1 42 5 3 6程序如下:例1 将一个二维数组行和列元素互换,存到另一个二维数组中。例如:main()int a2 3=1,2,3,4,5,6;int b3 2,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;jmaxmax=aijrow=icolum=j输出:max和row,colum真假 二维数组一般用二重循环据此写出以下程序:main()int i,j,row=0,column=0,max;int a34=1,2,3,4,9,8,7,6,10,10,5,2;max=a00;for(i=0;i=2;i+)for(j=0;jmax)max=aij;row=i;column=j;printf(max=%d,row=%d,column=%dn,max,row,column);输出结果为:max=10,row=2,column=17.3 7.3 字符数组字符数组7.3.1字符数组的定义字符数组的定义类型名 数组名大小1.初始化:直接给出字符串中的各字符 char a4=G,o,o,d;存放字符数据。字符串用字符数组存放。char c10;若字符多于元素个数,则语法错,反之,后面补0可以去掉定义时的大小设置,而通过自动赋值决定长度(大小)static char x =I,a,m,a,s,t,u,d,e,n,t;前面说过,字符串常量用“”表示,且由 0结尾.static char x=I am a student.;则长度为15+1=16,其中x15存放0,其中 亦可省略。2.字符数组的引用 每一个字符数组元素相当于一个字符变量。格式符:%c 逐个输入/输出字符。%s 整个串一次输入/输出。1.输出(用%s)用%s输出时,不输出0.在printf中须直接写数组名.char c=I am a student;printf(%s,c);7.3.2 字符数组的输入输出字符数组的输入输出 若数组长度大于字符串长度,则遇到0 即停止输出 char c10=China;printf(%s,c);输出时遇到第一个0即结束。2.输入(用%s)输入多个字符串,可用空格隔开。char str15,str25,str35;scanf(%s%s%s,str1,str2,str3);输入字符串时,系统自动加上0则:输入 How are you?str1:How0 str2:are0 str3:you?0输入:How are you 则只会将How输入,且存为 scanf中须用地址量,数组名表示地址量。str:H o w 0 但若:char str13 scanf(%s,str);7.3.3 字符串处理函数字符串处理函数 由学生自学,能否根据它们的功能自己编写其函数(可由主函数main实现)7.3.4 字符串数组举例字符串数组举例例:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。程序如下:#include stdio.hmain()char string81;int i,num=0,word=0;char c;gets(string);for(i=0;(c=stringi)!=0;i+)if(c=)word=0;else if(word=0)word=1;num+;printf(There are%d words in the line n,num);运行情况如下:I am a boy.There are 4 words in the line

    注意事项

    本文(C程序设计07数组.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开