1 / 64
文档名称:

第4章数组c编程.ppt

格式:ppt   大小:1,201KB   页数:64页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第4章数组c编程.ppt

上传人:977562398 2022/7/3 文件大小:1.17 MB

下载得到文件列表

第4章数组c编程.ppt

文档介绍

文档介绍:第4章数组C编程
第一页,共64页。
一维数组
二维数组
字符数组
第二页,共64页。
前面讨论了C语言中的一些基本数据类型,如整型、实型、字符型等,在此基础上,本章将讨论C语言中构造类型数据的初始化。
数组初始化的一般形式为:
类型说明符 数组名[常量表达式]={值1,值2,……,值n};
其中在{ }中的各数据值即为各元素的初值,各值之间用逗号间隔。
第十五页,共64页。
对数组的初始化可以有以下几种方法:
(1)对所有元素赋初值。
例如: int a[6]={0,1,2,3,4,5};
将数组元素的初值依次放在一对花括号中。经过上面的定义和初始化后,使得a[0]的值为0、a[1]的值为1、a[2]的值为2、a[3]的值为3、a[4]的值为4、a[5]的值为5。
第十六页,共64页。
(2)可以只给一部分元素赋值。
例如:
int a[10]={0,1,2,3};
定义a数组有10个元素,但花括号内只提供4个初值,这表示只给数组的前4个元素a[0]~a[3]赋初值,而后6个元素自动赋值为0。
(3)如果想使一个数组中全部元素值相同,例如数组元素值都为1,只能写为:
int a[5]={1,1,1,1,1};
而不能写为: int a[5]={1};
第十七页,共64页。
(4)在对全部数组元素赋初值时,由于数据的个数已经确定,可以不指定数组长度。例如:
int a[5]={1,2,3,4,5};
可写为:
int a[]={1,2,3,4,5};
在第二种写法中,花括弧中有5个数,系统就会据此自动定义数组a的长度为5,但是当被定义的数组长度与提供初值的个数不相同时,不能省略数组长度。
第十八页,共64页。
一维数组程序举例
【】 任意输入10个元素,求这10个元素的和及最大值。
#include <>
int main()
{
int i,max,a[10],sum;
printf("Please input 10 numbers:\n");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
max=a[0];
sum=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max) max=a[i];
sum=sum+a[i];
}
printf("max=%d\nsum=%d",max,sum);
return 0;
}
第十九页,共64页。
【】 用数组来处理求fibonacci数列问题。
#include <>
int main()
{
int i;
int f[20]={1,1};
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{
if(i%5==0)
printf("\n");
printf("%12d",f[i]);
}
return 0;
}
第二十页,共64页。
【】用冒泡排序的方法将数组元素升序排列。
假定对下列数据进行升序排序:6,7,8,15,20,5,2,则冒泡排序过程如下所示。
原始序列 6 7 8 15 20 5 2
第1趟 6 7 8 15 5 2 20
第2趟 6 7 8 5 2 15 20
第3趟 6 7 5 2 8 15 20
第4趟 6 5 2 7 8 15 20
第5趟 5 2 6 7 8 15 20
第6趟 2 5 6 7 8 15 20
n个元素只需进行n-1
趟冒泡排序。
第二十一页,共64页。
#include <>
#define SIZE 7
void BubbleSorter(int array[], int n)
{
int i, j;
int temp;
for (i = 0; i < n - 1; i++)
for (j = 0; j < n -1 - i; j++)
{
if (array[j] > array[j + 1])
{
temp = array[j];
array[j]