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

    C语言程序设计 第6章数组.pptx

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

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

    C语言程序设计 第6章数组.pptx

    第6章数组,C语言程序设计,数组是有序并具有相同类型的数据的集合。在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或构造类型。所谓构造类型,即指由若干基本类型数据按一定的规则所构成的复杂数据类型。,6.1一维数组,1.一维数组的定义在C语言中使用数组必须先进行类型说明。数组说明的一般形式如下:类型说明符数组名常量表达式;例如:inta10;/*说明整型数组a,有10个元素*/数组的类型实际上是指数组元素的数据类型。对于同一个数组,其所有元素的数据类型都是相同的。数组名与变量名的命名均遵循标识符的命名规则。在同一程序中,数组名不能与其他变量名相同。例如:,6.1一维数组,上面的程序是错误的。数组名后方括号中是整型常量表达式,表示数组元素的个数,下标是从0开始的。如“a5”表示数组a有5个元素,分别为a0,a1,a2,a3,a4。定义数组时,常量表达式中可以包含符号常数或常量,但不能包含变量。不允许对数组的大小作动态定义。例如:,6.1一维数组,合法的数组定义:charstr20;/*定义一个有20个元素的字符型数组str*/floatscore8;/*定义一个有8个元素的浮点型数组score*/inta,b,k10;/*定义变量a,b和10个元素的整型数组k*/#defineN5longdaN;/*N为符号常量,定义一个有5个元素的长整型数组da*/shortz4*N;/*N为符号常量,定义一个有20个元素的短整型数组z*/,6.1一维数组,非法的数组定义:intarray(10);/*数组长度必须使用“”括起来*/intn;floatscoren;/*定义数组时表达式不允许包含变量*/charstr;/*数组长度不确定*/charstr10.6;/*数组长度不能是浮点常量*/intn;scanf(%d,/*定义数组时表达式不允许包含变量*/,6.1一维数组,合法的数组定义:charstr20;/*定义一个有20个元素的字符型数组str*/floatscore8;/*定义一个有8个元素的浮点型数组score*/inta,b,k10;/*定义变量a,b和10个元素的整型数组k*/#defineN5longdaN;/*N为符号常量,定义一个有5个元素的长整型数组da*/shortz4*N;/*N为符号常量,定义一个有20个元素的短整型数组z*/非法的数组定义:intarray(10);/*数组长度必须使用“”括起来*/intn;floatscoren;/*定义数组时表达式不允许包含变量*/charstr;/*数组长度不确定*/charstr106;/*数组长度不能是浮点常量*/intn;scanf(%d,/*定义数组时表达式不允许包含变量*/,6.1一维数组,2.一维数组的存储结构数组定义后,系统在内存中分配一片连续的存储单元存放数组元素的值,按数组元素下标从小到大连续存放。其所占内存单元的大小与数组元素的类型和数组长度有关。计算数组所占内存单元字节数的公式:数组占内存单元的字节数=数组大小sizeof(数组元素类型)如定义数组a为“inta20;”,则数组a所占内存单元的字节数为20sizeof(int)=204=80(B)。数组每个元素字节数相同,因此,根据数组元素序号可以求得数组各元素在内存中的地址,计算数组某个元素在内存中的地址公式:,6.1一维数组,数组元素地址=数组首地址+元素下标*sizeof(数组类型)如定义数组a为“inta5;”,设数组a的首地址为1000,则数组元素a3的地址为1000+3*sizeof(int)=1012。数组a存储结构如图6-1-1所示。,6.1一维数组,3.一维数组的初始化数组初始化赋值是指在数组说明时给数组元素赋初值。数组初始化是在编译阶段进行的,可减少运行时间,提高效率。初始化赋值的一般形式如下:类型说明符数组名常量表达式=值,值,值;在“”中的各数据值即为各元素的初值,各值之间用逗号间隔。例如“inta10=0,1,2,3,4,5,6,7,8,9;”相当于a0=0;a1=1;a9=9。,6.1一维数组,注意:可以只给部分元素赋初值。当“”中值的个数少于元素个数时,只给前面部分元素赋值。如“inta10=0,1,2,3,4;”表示只给a0a4这5个元素赋值,而后5个元素自动赋0值。只能给元素逐个赋初值,不能给数组整体赋初值。如给10个元素全部赋1值,只能写为“inta10=1,1,1,1,1,1,1,1,1,1;”,而不能写为“inta10=1;”。若给全部元素赋初值,则在数组说明时可以不给出数组元素的个数。如给5个元素赋初值时,“inta5=1,2,3,4,5;”可写为“inta=1,2,3,4,5;”。,6.1一维数组,4.一维数组的元素的引用数组元素是组成数组的基本单元。数组元素也是一种变量,通常称为下标变量。在C语言中只能逐个地使用数组元素,而不能一次引用整个数组。数组元素的一般形式如下:数组名下标例如“输出有10个元素的数组,可使用循环语句逐个输出各下标变量”如下:其中不能用“printf(%d,a);”语句输出整个数组。,6.1一维数组,【例6.1.1】运用数组从键盘输入10个整数,然后依次输出。,程序运行结果:1234567891012345678910,6.1一维数组,【分析】利用循环语句,从键盘输入10个数,并将这10个数赋值给数组a的元素a0a9。利用循环语句,将数组a的10个元素依次输出。流程图如图6-1-2所示。,6.1一维数组,6.1一维数组,注意:数组的下标只能为整型常量或整型表达式,若为实数将自动取整。例如“a5”“ai+j”和“ai+”都是合法的数组元素。,6.1一维数组,5.一维数组实例【例6.1.2】用循环语句给a数组各元素赋奇数值1,3,5,7,然后逆序输出。,6.1一维数组,程序运行结果:191715131197531【分析】利用循环语句,从键盘输入10个奇数,依次赋值给数组a的元素a0a9。利用循环语句,将数组a的10个元素,按照a9a0的顺序输出。流程图如图6-1-3所示。,6.1一维数组,6.1一维数组,【例6.1.3】输入10个整数,找出最大数和最小数并对调,然后输出。,6.1一维数组,6.1一维数组,程序运行结果:2060115397663288754320609753116632887543【分析】定义一个一维数组a存放10个数,定义变量max存放最大值,变量min存放最小值,变量k存放最大值下标,变量j存放最小值下标。先假设第一个元素a0为最大值和最小值,然后a1a9的各个元素依次与a0比较。若“ai>max”,则“max=ai;k=i;”;若“ai<min;”,则“min=ai;j=i;”。当所有的数都比较完之后,将最大值与最小值进行交换“aj=max;ak=min”。然后输出a数组。流程图如图6-1-4所示。,6.1一维数组,6.1一维数组,【例6.1.4】输入10个整数,按从小到大的顺序输出。,6.1一维数组,程序运行结果:Input10numbers:30255341289435810021thesortednumbers:21221303443555889100,6.1一维数组,【分析】输入10个整数。利用冒泡法排序。冒泡法的基本思路:每次将相邻的两个数比较,将较小的数调到前面。若有5个数分别为6、8、7、5、3为例,排序过程如下:第1次先将最前面的两个数比较,因为6字符串2,返回值>0;字符串1<字符串2,返回值<0。该函数也可用于两个字符串常量的比较,或者字符数组与字符串常量的比较。,6.3字符数组,(6)测字符串长度函数strlen()格式如下:strlen(字符数组名)它的功能是测试字符串的实际长度(不含字符串结束标志0),并作为函数返回值。,6.3字符数组,本章主要介绍了数组的定义、存储、初始化及引用等基本概念。区分数组名与数组元素;正确理解数组在内存中的空间分配;能运用数组进行排序、查找、求极值等,以达到掌握运用数组编程寻求解决问题的方法。,本章小结,1.程序填空:要求给a数组输入数据并以每行4个数据的形式输出。,习题,2.程序填空:要求将二维数组a的行元素和列元素互换后存到二维数组b。,习题,习题,3.程序填空:求矩阵a两条对角线上的元素之和。,习题,习题,4.程序填空:求1000以内的水仙花数。水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。例如:407=444+000+777,所以407是一个水仙花数。,习题,习题,5.程序填空:要求输出字符串“computer”。,习题,6.编程:从键盘输入若干整数,用-1作为输入结束的标志,统计正整数的个数。,习题,7.编程:数组a包括10个整数,将a中所有的数除以5取余数存入数组b中,并按每行3个元素的格式输出数组b。,习题,8.编程:从键盘输入两个字符串a和b,要求把字符串b的前5个字符连接到字符串a中(不使用库函数strcat()。如果b的长度小于5,则把b的所有元素都连接到a中。,习题,9.编程:通过赋初值按行顺序给一个23的二维数组赋2、4、6等偶数,然后按列的顺序输出该数组。,习题,10.编程:通过循环按行顺序给一个55的二维数组a赋125的自然数,然后输出该数组的左下三角。,习题,谢谢观看THANKYOU,

    注意事项

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

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开