复杂数据类型课件.ppt

复杂数据类型课件.ppt

ID:57014511

大小:867.50 KB

页数:80页

时间:2020-07-26

复杂数据类型课件.ppt_第1页
复杂数据类型课件.ppt_第2页
复杂数据类型课件.ppt_第3页
复杂数据类型课件.ppt_第4页
复杂数据类型课件.ppt_第5页
资源描述:

《复杂数据类型课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章复杂数据类型第4章复杂数据类型4.1数组4.2指针4.3结构体4.1数组掌握一维、二维数组的定义和引用、存储结构和初始化掌握数组的有关算法掌握数组的运算4.1数组4.1.1数组概念4.1.2一维数组4.1.3二维数组4.1.4字符数组C语言中的数组是构造类型之一。数组是一组具有相同数据类型的数据的有序集合,用数组名标识。元素:属于同一数据类型,用数组名和下标确定。一个班学生的学习成绩一行文字一个矩阵问题:有如下几组数据,它们分别该如何存储呢?4.1.1数组概念1.一维数组的定义定义形式:类型说明符数组名[常量表达式];合法标识符表示元素个数下

2、标从0开始例:inta[6];//定义一个一维整型数组a,有6个元素a[0]a[1]a[2]a[3]a[4]a[5]a编译时分配连续存储单元4.1.2一维数组2.一维数组元素的引用数组必须先定义,后使用例:inta[5];a[5]=10;引用数组元素的一般形式:数组名[下标]下标为整型常量或整型表达式。//C语言对数组不作越界检查例:inti=15;inta[i];(不能用变量定义数组大小)例:inta[10];scanf("%d",&a);printf("%d",a);只能逐个引用数组元素,不能一次引用整个数组()()()()for(i

3、=0;i<10;i++)printf("%d",a[i]);for(i=0;i<10;i++)scanf("%d",&a[i]);改为:例4.1:输入10个整数,按输入时相反的顺序输出这10个数。#includevoidmain(){inti,data[10];for(i=0;i<10;i++)scanf("%d",&data[i]);for(i=9;i>=0;i--)printf("%d",data[i]);}运行结果:12345678910109876543213.一维数组的初始化在定义数组时,为数组元素赋初值例:inta[

4、5]={1,2,3,4,5};结果:a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5说明:数组不初始化,其元素值为随机数可以只给部分数组元素赋初值例:inta[5]={6,2,3};结果:a[0]=6,a[1]=2,a[2]=3,a[3]=0,a[4]=0例:inta[3]={6,2,3,5,1};()当全部数组元素赋初值时,可不指定数组长度inta[]={1,2,3,4,5,6};编译系统根据初值个数确定数组长度例5.10:用数组求Fibonacci数列前36个数,每行输出4个数。#includevoidm

5、ain(){inti,f[36]={1,1};for(i=2;i<36;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<36;i++){if(i%4==0)printf("");printf("%12d",f[i]);}}运行结果:排序过程:在a[0]~a[7]中存放8个整数。①首先比较a[0]和a[1],如果a[0]>a[1],则交换a[0]和a[1]的值;然后比较a[1]和a[2],如果a[1]>a[2],则交换a[1]和a[2]的值;依此类推,两个相邻的数进行比较,若前者大于后者,则交换它们的值,直至比较a[6]和a[7

6、],如果a[6]>a[7],则交换a[6]和a[7]的值,这样a[7]中存放这8个数中的最大值。第一趟冒泡排序结束。②对前7个数进行第二趟冒泡排序,首先比较a[0]和a[1],如果a[0]>a[1],则交换a[0]和a[1]的值;然后比较a[1]和a[2],如果a[1]>a[2],则交换a[1]和a[2]的值;依此类推,两个相邻的数进行比较,若前者大于后者,则交换它们的值,直至比较a[5]和a[6],如果a[5]>a[6],则交换a[5]和a[6]的值,这样a[6]中存放这7个数中的最大值。第二趟冒泡排序结束。③重复上述过程,共经过7趟比较后,排序

7、结束。例5.11:用冒泡法对8个整数按由小到大排序3849657613273097第一趟38496513273076第二趟384913273065第三趟3813273049第四趟13273038第五趟132730第六趟4938659776132730n=8384976971397279730971376767627301365276530651313494930492738273830381327第七趟#includevoidmain(){inta[8],i,j,t;printf("请输入8个数:");for(i=0;i<8;

8、i++)scanf("%d",&a[i]);for(i=0;i<7;i++)for(j=0;j<7-i;j++)if(a[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。