书签 分享 收藏 举报 版权申诉 / 28
上传文档赚钱

类型某大学计算机系课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4502801
  • 上传时间:2022-12-15
  • 格式:PPT
  • 页数:28
  • 大小:300KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《某大学计算机系课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    某大学 计算机系 课件
    资源描述:

    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

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:某大学计算机系课件.ppt
    链接地址:https://www.163wenku.com/p-4502801.html

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


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


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

    163文库