C语言课件 第4章 数组.ppt

C语言课件 第4章 数组.ppt

ID:55827817

大小:872.00 KB

页数:85页

时间:2020-06-09

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语言程序设计1第4章数组本章内容提要:4.1一维数组4.2二维数组4.3字符数组与字符串4.4指针与数组4.5指向指针的指针2021/9/212第4章数组一个人N门课的成绩怎样存储和处理?一个班N门课的成绩怎样存储和处理?......这些数据的特点:具有相同的数据类型。为了方便地使用这些数据,C语言提供了一种构造数据类型:数组。例如:存储学生成绩用实型数组score[5]其中:score是数组名。该数组可以存放5个成绩,分别用下标变量表示:score[0],score[1],…score[4]。下标变量也称为数组元素。2021/9/2

2、134.1一维数组例如:inta[10];floatscore[5];“数据类型”:是数组元素的数据类型。“数组名”:遵循C语言标识符规则。“常量表达式”:表示数组中有多少个元素,即数组的长度。它可以是整型常量、整型变量、整型表达式或返回值为整型的函数调用。表示元素个数。4.1.1一维数组的定义数据类型数组名[整型常量表达式];2021/9/214以下数组定义是正确的:#defineN10floatscore1[N],score2[N];intnum[10+N];charc[26];以下数组定义是不正确的:intarray(10);数组名后要为方

3、扩号,而不能为圆括号intn;floatscore[n];方扩号内必须是整型常量而不能是整型变量。charstr[];数组名后的方扩号内容不能为空4.1.1一维数组的定义(续)2021/9/215数组在内存的存放数组下标从0开始。一维数组的数组元素在内存里按顺序存放。数组名代表数组的首地址,即score的值与score[0]的地址值相同。score[0]score[1]score[2]score[3]score[4]91.534.567.572.084.0低地址高地址score数组2021/9/2164.1.2数组元素的引用格式:例如:输入学生成

4、绩for(i=0;i<5;i++)scanf("%f",&score[i]);例如:fib[n]=fib[n-1]+fib[n-2];下标表达式的值必须是整型表达式。数组名[下标表达式]2021/9/2174.1.2数组元素的引用(续)说明:①下标从0开始(下界为0),数组的最大下标(上界)是数组长度减1。例如:inta[10];scanf("%d",&a[10]);/*下标越界*/C编译系统不做越界检查,如果引用的数组元素超出数组范围会破坏其他变量的值。2021/9/2184.1.2数组元素的引用(续)②[]是下标运算符,引用数组元素时,根据数

5、组的首地址和下标数,计算出该元素的实际地址,取出该地址的内容进行操作。如引用score[2]:(1)计算2000+2*4=2008(2)取出2008的内容2000H2004H2008H200CH218CHscore[0]score[1]score[2]score[3]score[4]91.534.567.572.084.02021/9/2194.1.3数组的初始化初始化:在定义数组时给数组元素赋初值。1.在定义数组时,对全部数组元素赋初值例如:inta[5]={0,1,2,3,4};2.省略数组长度,例如:inta[]={0,1,2,3,4};3

6、.在定义数组时,对部分数组元素赋初值例如:inta[5]={1,2,3};系统为其余元素赋0。4.当初值的个数多于数组元素的个数时,编译出错例如:inta[5]={0,1,2,3,4,5};2021/9/21104.1.4一维数组应用举例(课本)P1242021/9/21114.1.4一维数组应用举例【例4.1】将10个人的成绩输入计算机后按逆序显示。#defineN10main(){inti;floatscore[N];for(i=0;i=0;i--)printf

7、("%6.1f",score[i]);}运行情况如下:6774899234678395737878.073.095.083.067.034.092.089.074.067.02021/9/2112【例4.2】冒泡法排序(从小到大)。以6个数:3、7、5、6、8、0为例。第一趟排序情况如下:375680第一次3和7比较,不交换375680第二次7和5比较,交换357680第三次7和6比较,交换356780第四次7和8比较,不交换356780第五次8和0比较,交换356708在第一趟排序中,6个数比较了5次,把6个数中的最大数8排在最后。2021/

8、9/2113冒泡法排序(续)第二趟排序情况如下:356708第一次3和5比较,不交换356708第二次5和6比较,不交换356708第三

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

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

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