C语言程序设计 教学课件 作者 易晓梅 赵芸 第4章 数组.ppt

C语言程序设计 教学课件 作者 易晓梅 赵芸 第4章 数组.ppt

ID:50083579

大小:869.00 KB

页数:59页

时间:2020-03-08

C语言程序设计 教学课件 作者 易晓梅 赵芸 第4章 数组.ppt_第1页
C语言程序设计 教学课件 作者 易晓梅 赵芸 第4章 数组.ppt_第2页
C语言程序设计 教学课件 作者 易晓梅 赵芸 第4章 数组.ppt_第3页
C语言程序设计 教学课件 作者 易晓梅 赵芸 第4章 数组.ppt_第4页
C语言程序设计 教学课件 作者 易晓梅 赵芸 第4章 数组.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 易晓梅 赵芸 第4章 数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章数组C语言程序设计第4章数组本章要点一维数组的定义与操作二维数组的定义与操作字符数组的定义与操作字符串处理函数本章学习目标掌握一维数组定义及使用掌握二维数组定义及使用掌握字符数组定义及使用掌握数组的基本算法掌握字符串处理函数的用法4.1一维数组用数组来解决问题主要有以下几大步骤:定义数组、给数组元素赋初值、对数组元素的操作、数组元素的输出等。4.1.1一维数组的定义数组必须先定义,后使用。定义数组时需要指定数组的元素类型、数组名、数组元素个数(必须为常量)。一维数组是指只有一个下标的数组,其定义的具体

2、格式为:类型说明符数组名[常量表达式];如:inta[5];4.1一维数组说明:(1)类型说明符用来指定数组的元素类型。(2)数组名表示这个数组的首地址(第0个元素的地址),它是一个合法的标识符,命名规则与变量相同。(3)常量表达式的值必须为正整数,表示数组元素的个数,指定了数组大小。(4)[]为下标运算符,一维数组只有一个下标运算符。4.1.2一维数组元素的引用数组是通过下标来标识不同元素的,对一维数组元素的引用格式为:数组名[下标]例如:inta[5];a[0]=1;a[1]=2;a[2]=3;a[3]

3、=4;a[4]=5;4.1.2一维数组元素的引用说明:(1)引用下标时其值一定要满足:下界<=下标<=上界(下界为0,上界为数组长度-1),否则会下标越界。(2)C语言中不会检查下标越界的错误,若出现下标越界,编译器不会报错,但运行将出现错误结果,或者破坏其他存储空间数据、甚至造成死机、系统崩溃等严重后果。(3)在引用数组元素的时候注意每一个操作都是针对数组元素的,而不能单独引用数组名。数组元素本质就是一个普通变量,其类型与数组类型相同。4.1.3一维数组的初始化1.定义数组时给全部数组元素赋初值例如:in

4、ta[5]={1,2,3,4,5};2.定义数组时只给部分数组元素赋初值例如:inta[10]={1,2,3,4,5};4.1.3一维数组的初始化说明:(1)初值类型必须与数组类型一致;(2)若初始化列表中的初值个数多于数组长度,编译将会报错;(3)若赋初值元素个数与数组元素个数不同,一定要指定数组长度。4.1.4一维数组的输入与输出使用循环体输入与输出数组最为方便,例如:inta[6],i;for(i=0;i<6;i++)/*一维数组的输入*/scanf("%d",&a[i]);for(i=0;i<6;i

5、++)/*一维数组的输出*/printf("%d",a[i]);4.1.5实例剖析【例4.1】输入10位学生的数学成绩,求出平均分,并输出这10位学生的数学成绩及所有学生的平均成绩。4.1.5实例剖析【例4.2】兔子繁殖问题。意大利著名数学家Fibonacci曾提出一个有趣的问题:假定所有的一对新生兔子都是在两个月后每个月生下一对兔子,在没有死亡的情况下,由一对新生的兔子开始,每月的兔子对数将组成一个数列:1,1,2,3,5,8,13,21,…这个数列称为Fibonacci数列,编写程序求Fibonacci

6、数列的前30项并输出(每行输出5个数字)4.1.5实例剖析【例4.3】由键盘输入5个数字,按递增顺序进行排序,并输出排序好的5个数字。1.选择排序法排序思想:每一趟从待排序的数组元素中选出最小的数组元素,顺序放在已排好序的数组元素后,直到全部记录排序完毕。4.1.5实例剖析#includevoidmain(){ inti,j; floata[5],t; printf("请输入5个数值:"); for(i=0;i<5;i++)/*数组元素赋初值*/scanf("%f",&a[i]); f

7、or(i=0;i<4;i++)/*进行4次循环,实现4趟比较*/4.1.5实例剖析for(j=i+1;j<5;j++)/*每一趟中,分别和后面的每一个数进行比较*/if(a[i]>a[j])/*前面的元素大于后面元素,交换位置*/{t=a[i];a[i]=a[j];a[j]=t;} printf("排序结果为:"); for(i=0;i<5;i++)printf("%6.2f",a[i]); }4.1.5实例剖析2.优化后的选择排序法#include voidmain() {inti,

8、j,k; floata[5],t; printf("请输入5个数值:"); for(i=0;i<5;i++) scanf("%f",&a[i]);/*数组元素赋初值*/for(i=0;i<4;i++)/*进行4趟比较*/4.1.5实例剖析{k=i;/*k的值为最小元素下标,假设第i个最小*/for(j=i+1;j<5;j++)if(a[k]>a[j])k=j; if(i!=k) {t=a[i];a[i]=a[

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

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

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