欢迎来到163文库! | 帮助中心 精品课件PPT、教案、教学设计、试题试卷、教学素材分享与下载!
163文库
全部分类
  • 办公、行业>
  • 幼教>
  • 小学>
  • 初中>
  • 高中>
  • 中职>
  • 大学>
  • 各类题库>
  • ImageVerifierCode 换一换
    首页 163文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    某大学计算机系课件.ppt

    • 文档编号:4502801       资源大小:300KB        全文页数:28页
    • 资源格式: PPT        下载积分:22文币     交易提醒:下载本文档,22文币将自动转入上传用户(晟晟文业)的账号。
    微信登录下载
    快捷注册下载 游客一键下载
    账号登录下载
    二维码
    微信扫一扫登录
    下载资源需要22文币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    优惠套餐(点此详情)
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、试题类文档,标题没说有答案的,则无答案。带答案试题资料的主观题可能无答案。PPT文档的音视频可能无法播放。请谨慎下单,否则不予退换。
    3、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者搜狗浏览器、谷歌浏览器下载即可。。

    某大学计算机系课件.ppt

    1、1第第第第第第6 6 6 6 6 6章章章章章章 数数数数数数 组组组组组组2022-12-1522022-12-15384x0 x1 x2 x29 2022-12-154 为了方便地使用为了方便地使用一组具有相同数据类型的一组具有相同数据类型的数据,数据,C C语言提供了一种语言提供了一种构造数据类型:构造数据类型:数组数组数组数组是一个是一个相同数据类型相同数据类型变量的变量的集合体集合体。例如:存储例如:存储3030个成绩,定义一个具有个成绩,定义一个具有3030个实型变量个实型变量的实型数组的实型数组 floatfloat score30score30;其中:其中:scorescore

    2、是数组名。是数组名。该数组有该数组有3030个个数组元素数组元素,score0,score1,score29score0,score1,score29。可以存放可以存放3030个成绩。个成绩。数组元素在数组中的位置,称为数组元素在数组中的位置,称为下标下标。数组元素数组元素也称为也称为下标变量下标变量。2022-12-155l数组元素的下标从数组元素的下标从0开始开始l一维数组的数组元素在一维数组的数组元素在内存里按顺序存放。内存里按顺序存放。l数组元素是带有下标的数组元素是带有下标的变量变量,可以存放数据;,可以存放数据;数组名不是变量数组名不是变量,是一,是一个地址常量,代表数组个地址常量

    3、,代表数组的首地址,即数组中第的首地址,即数组中第1个元素的地址。个元素的地址。ls与与&s 0相等相等,都表示第都表示第一个元素的地址一个元素的地址s 0s 1s 2s 3s 49134677284低地址低地址高地址高地址s数组数组int s 5;数组元素地址的两种表示方法:数组元素地址的两种表示方法:(1)&s0,&s1,&s4(2)s,s+1,s+2,s+42022-12-156数据类型数据类型 数组名数组名整型常量表达式整型常量表达式;2022-12-157数组定义之后,不能整体数组定义之后,不能整体使用,只能使用数组中的使用,只能使用数组中的数组元素数组元素下标变量下标变量2022-

    4、12-158例如:例如:int x5;数组数组x中有中有5个数组元素,分别是个数组元素,分别是x0、x1、x2、x3、x4,可以存放,可以存放5个个int型整数。型整数。数组元素又称为下标变量数组元素又称为下标变量。其中:。其中:(1)(2)2022-12-1591,1,2,3,5,8,13,score+i用数组用数组求斐波求斐波那契数那契数列的前列的前2020项和项和2022-12-1510 int a10;/*,这里的,这里的 是一个标记是一个标记*/a10=90;/*下标越界下标越界*/a3=30;/*,这里的,这里的 是一个运算符是一个运算符*/C编译系统不做越界检查,如果引用的数组元

    5、素编译系统不做越界检查,如果引用的数组元素超出数组范围会破坏其他变量的值。超出数组范围会破坏其他变量的值。两个两个10的意义不一样的意义不一样int a10;该语句中的该语句中的10表示数组表示数组a中有中有10个下标变量个下标变量a10中的中的10越界越界2022-12-1511 是是下标运算符下标运算符,引用引用数组元素数组元素时,时,先根据数组的先根据数组的首地首地址址和和下标下标数,计算数,计算出该元素的实际地出该元素的实际地址,再取出该地址址,再取出该地址的的内容内容进行操作。进行操作。如引用如引用 score2:(1)计算计算 2000+2*4=2008(2)取出取出2008的内容

    6、的内容2000H2004H2008H200CH2110Hscore0score1score2score3score491.534.567.572.084.0如:如:float score5;.printf(“%6.1fn”,score2);一维数组中的数组元素一维数组中的数组元素的地址计算公式:的地址计算公式:数组首元素地址数组首元素地址+下标下标或或 数组名数组名+下标下标2022-12-1512初始化:在定义数组时给数组元素赋初值。初始化:在定义数组时给数组元素赋初值。1在定义数组时,对全部数组元素赋初值在定义数组时,对全部数组元素赋初值 例如:例如:int a5=0,1,2,3,4;此时

    7、可以省略数组长度,例如:此时可以省略数组长度,例如:int a=0,1,2,3,4;2在定义数组时,对部分数组元素赋初值在定义数组时,对部分数组元素赋初值 例如:例如:int a5=1,2,3;系统为其余元素赋系统为其余元素赋 0。3当初值的个数多于数组元素的个数时,编译出错当初值的个数多于数组元素的个数时,编译出错 例如:例如:int a5=0,1,2,3,4,5;2022-12-1513【例例6.16.1】将将1010个人的成绩输入计算机后按逆序显示。个人的成绩输入计算机后按逆序显示。#define N 10#include void main()int i;float scoreN;fo

    8、r(i=0;i=0;i-)printf(%6.1f,scorei);printf(n);运行情况如下:运行情况如下:67 74 89 92 34 67 83 95 73 78 78.0 73.0 95.0 83.0 67.0 34.0 92.0 89.0 74.0 67.0scanf(“%f”,score+i);2022-12-1514l求最大求最大/小值采用打擂台的方法。小值采用打擂台的方法。l定义一维数组定义一维数组a,a,读入被比较的数。读入被比较的数。l定义变量定义变量 max:max:存放最大值,存放最大值,minmin:存放最小值存放最小值 k k:存放最大值下标存放最大值下标 ,

    9、j j:存放最小值下标存放最小值下标l各数依次与擂主进行比较,各数依次与擂主进行比较,若若aai imax max 则则:maxmax=a=ai i;k k=i i;若若aai imin min 则则:minmin=a=ai i;j=;j=i i;l当所有的数都比较完之后,当所有的数都比较完之后,将将aj=aj=maxmax;aak k=minmin;l输出输出a a数组。数组。2022-12-1515程序运行情况如下:程序运行情况如下:5 7 2 3 1 5 1 2 3 72022-12-1516程序运行情况如下:程序运行情况如下:5 7 2 3 1 5 1 2 3 7如果只要求出它们的最如

    10、果只要求出它们的最大值和最小值和平均值,大值和最小值和平均值,程序如何修改?程序如何修改?2022-12-15172022-12-1518第一趟排序第一趟排序(通过两两比较将最大的数放到最后通过两两比较将最大的数放到最后)情况如下:情况如下:3 7 5 6 8 0第一次第一次 3和和7比较,不交换比较,不交换 3 7 5 6 8 0第二次第二次 7和和5比较,交换比较,交换 3 5 7 6 8 0第三次第三次 7和和6比较,交换比较,交换 3 5 6 7 8 0第四次第四次 7和和8比较,不交换比较,不交换 3 5 6 7 8 0第五次第五次 8和和0比较,交换比较,交换 3 5 6 7 0

    11、8在第一趟排序中,从前向后两两比较,在第一趟排序中,从前向后两两比较,6个数比个数比较了较了5次次,把,把6个数中的最大数个数中的最大数8排在了最后。排在了最后。2022-12-15192022-12-1520冒泡法排序遵循两个规律:冒泡法排序遵循两个规律:(1)外循环控制趟数)外循环控制趟数j:n个数,需要个数,需要n-1趟,趟,j的范围的范围1,n-1(或(或0,n-2)(2)内循环完成两两比较:在)内循环完成两两比较:在0,n-1-j(或(或0,n-2-j)范围内,从第范围内,从第1个数开始,相邻的两个数比较个数开始,相邻的两个数比较2022-12-1521 冒泡法排序冒泡法排序for(

    12、i=0;iN;i+)输入输入ai for(j=1;jN;j+)for(i=0;iai+1 T F ai与与ai+1交换交换输出输出a0aN-12022-12-1522 int aN;int i,j,t,n;printf(“请输入请输入%d个整数个整数,用空格隔开用空格隔开n”,n);for(i=0;in;i+)scanf(%d,&ai);for(j=1;j=n-1;j+)/*控制控制趟数趟数*/for(i=0;iai+1)t=ai;ai=ai+1;ai+1=t;printf(“从小到大的排序结果从小到大的排序结果:n);for(i=0;in;i+)printf(%4d,ai);printf(“

    13、n”);程序运行情况如下:程序运行情况如下:请输入请输入6个整数个整数,用空格隔开用空格隔开3 7 5 6 8 0 0 3 5 6 7 82022-12-1523以以6个数:个数:3、7、5、6、8、0为例。为例。思路:思路:第一趟:第一趟:将第一个数将第一个数依次和后面的数比较,如依次和后面的数比较,如果后面的某数小于果后面的某数小于第一个数第一个数,则两个数,则两个数交换交换,比较,比较结束后,结束后,第一个数第一个数则是则是最小最小的数。的数。第二趟:第二趟:将将第二个数第二个数依次和后面的数比较,如依次和后面的数比较,如果后面的某数小于果后面的某数小于第二个数第二个数,则两个数,则两个

    14、数交换交换,比较,比较结束后,结束后,第二个数第二个数则是则是次小次小的数;的数;。2022-12-1524 交换法排序for(i=0;iN;i+)输入输入ai for(j=0;jN-1;j+)for(i=j+1;iai T F aj与与ai交换交换 输出输出a0aN-12022-12-1525for(j=0;jN-1;j+)/*确定趟数确定趟数*/for(i=j+1;iai)t=aj;aj=ai;ai=t;程序运行情况如下:程序运行情况如下:96 78 65 86 40 The sorted numbers:40 65 78 86 962022-12-1526以以6个数:个数:3、7、5、6

    15、、8、0为例。为例。思路:思路:第一趟:第一趟:通过比较找出通过比较找出6 6个数中最小数的个数中最小数的下标下标,然后将这个最小数与第然后将这个最小数与第1 1个数比较,如果不相等,则个数比较,如果不相等,则交换。交换。则第则第1 1个数是最小的个数是最小的。第二趟:第二趟:通过比较找出后面通过比较找出后面5 5个数中最小数的个数中最小数的下下标标,然后将这个最小数与第,然后将这个最小数与第2 2个数比较,如果不相等,个数比较,如果不相等,则交换。则交换。则第则第2 2个数是次小的个数是次小的。2022-12-1527for(j=0;jN-1;j+)/*确定趟数确定趟数*/min=j;/*每趟最小值位置的初值每趟最小值位置的初值*/for(i=j+1;iai)min=i;if(j!=min)t=aj;aj=amin;amin=t;程序运行情况如下:程序运行情况如下:96 78 65 86 40 The sorted numbers:40 65 78 86 962022-12-1528


    注意事项

    本文(某大学计算机系课件.ppt)为本站会员(晟晟文业)主动上传,其收益全归该用户,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!




    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库