C语言程序设计 教学课件 作者 解晨光 葛竹春 第6章.ppt

C语言程序设计 教学课件 作者 解晨光 葛竹春 第6章.ppt

ID:50320456

大小:351.50 KB

页数:122页

时间:2020-03-08

C语言程序设计 教学课件 作者 解晨光 葛竹春 第6章.ppt_第1页
C语言程序设计 教学课件 作者 解晨光 葛竹春 第6章.ppt_第2页
C语言程序设计 教学课件 作者 解晨光 葛竹春 第6章.ppt_第3页
C语言程序设计 教学课件 作者 解晨光 葛竹春 第6章.ppt_第4页
C语言程序设计 教学课件 作者 解晨光 葛竹春 第6章.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 解晨光 葛竹春 第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章数  组一维数组6.1二维数组6.2字符数组与字符串6.3教学目标理解数组的概念;掌握一维数组的定义和引用;掌握二维数组的定义和引用;掌握字符数组的使用;了解多维数组的特点。具有相同数据类型的数据的有序集合称为数组。在定义一个数组后,在内存中使用一片连续的空间依次存放数组的各个元素。6.1一维数组6.1.1一维数组的定义定义一维数组的格式为类型说明数组名[整型常量表达式]例如:inta[100];定义了一个数组a,元素个数为100,数组元素类型为整型。说明:(1)数组名:按照标识符命名规则。本例a就是数组名。(2)

2、整型常量表达式:表示数组元素个数(数组的长度),可以是整型常量或符号常量,不允许用变量。数组元素个数是100个,元素分别为a[0],a[1],a[2],…,a[99],下标为0~99。(3)类型说明:指的是数组元素的类型,可以是基本数据类型,也可以是构造数据类型。类型说明确定了每个数据占用的内存字节数。例如整型2字节,实型4字节,双精度8字节,字符型1字节。本例数组元素是整型,每个元素占两个字节,因为有100个数组元素,所以占用200字节。(4)C编译程序为数组分配了一片连续的空间。(5)C语言规定,数组名是数组的首地址,即a=&

3、a[0]。(6)数组名不能与其他变量名相同。例如:main(){inta;floata[10];…}是错误的。(7)在同一个类型说明中,可以说明多个数组和多个变量。例如:inta,b,c,d,k1[10],k2[20];6.1.2一维数组的初始化数组初始化是指在数组定义时给数组元素赋予初值。形式为类型说明符数组名[常量表达式]={值,值…值};例如:inta[10]={0,1,2,3,4,5,6,7,8,9};相当于a[0]=0;a[1]=1…a[9]=9;。C语言对数组的初始化赋值还有以下几点规定。(1)可以只给部分元素赋初值。

4、例如:inta[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。(2)只能给元素逐个赋值,不能给数组整体赋值。例如给10个元素全部赋1值,inta[10]={1,1,1,1,1,1,1,1,1,1};√inta[10]=1;×(3)如给全部元素赋值,则在数组说明中,可以不给出数组元素的个数。例如:inta[5]={1,2,3,4,5};可写为inta[]={1,2,3,4,5};6.1.3数组元素的引用数组元素是组成数组的基本单元。是一种变量。形式为数组名[下标]a[5]a[i+j]

5、a[i++]都是合法的数组元素。例如,输出有10个元素的数组必须使用循环语句逐个输出各下标变量:for(i=0;i<10;i++)printf("%d",a[i]);而printf("%d",a);×【例6-1】数组元素的引用例子。main(){inta[10],b[5]={55,44,33,22,11},i;for(i=0;i<10;i++){a[i]=i+1;/*给数组a的元素赋值*/printf("%4d",a[i]);}printf("");for(i=0;i<5;i++){printf("%4d",b[i]);}pr

6、intf("");}运行结果为123456789105544332211说明:(1)引用数组元素时,下标可以是整型常数、已经赋值的整型变量或整型表达式。(2)数组元素本身可以看做是同一个类型的单个变量,因此对变量可以进行的操作同样也适用于数组元素,即数组元素可以在任何相同类型变量可以使用的位置引用。(3)引用数组元素时,下标不能越界,否则结果难以预料。6.1.4一维数组案例分析【案例1】从键盘输入10个整型数据,找出其中的最小值并显示出来。main(){inti,max,a[10];printf("input10numbers

7、:");for(i=0;i<10;i++)scanf("%d",&a[i]);/*从键盘输入10个数分别送给数组a的每个元素。*/max=a[0];for(i=1;i<10;i++)if(a[i]>max)max=a[i];printf("maxmum=%d",max);}本例中第一个for循环逐个输入10个数到数组a中,然后把a[0]送入max中。在第二个for循环中,从a[1]~a[9]逐个与max中的内容比较,若比max的值大,则把该下标变量送入max中,因此max总是在已比较过的下标变量中为最大者。比较结束,输出m

8、ax的值。【案例2】采用“冒泡法”对任意输入的10个整数按由小到大的顺序排序。冒泡法排序思路:S0(第0步):将n个数,从前向后,将相邻两个数进行比较(共比较n−1次),将小数交换到前面,将大数交换到后面,逐次比较,直到将最大的数移到最后;此时最大

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

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

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