c语言中一个整型数组结束用 0表示吗,C语言程序设计0数组.ppt

C语言程序设计0数组

第七章 数 组 数组的定义:是有序数据的集合。 数组的特点:数组中的每个元素都属于同一数据类型。 数组的访问:我们用一个统一的数组名和下标来唯一地确定数组中的元素。 7.1 一维数组的定义和引用 7.1.1 一维数组的定义 定义方式: 类型说明符 数组名[ 常量表达式] 例:int a[10]; 它表示数组名为a,此数组有10个整型元素。 如右图: 7.1.2 一维数组元素的引用 C语言规定,只能逐个引用数组元素而不能一次引用整个数组。 一维数组元素的表示形式为: 数组名[下标] 其中下标可以是整型(常量/变量)或整型表达式。 例如:a[0]=a[5]+a[7]-a[2*3]; 例7.1 数组元素的引用 main ( ) { int i,a[10]; for(i=0;i<=9;i++) a[i]=i; for(i=9;i>=0;i- -) printf(“%d”,a[i]); } 本例使a[0]到a[9]的值为0~9,然后按逆序输出这10个元素的值。 7.1.3 一维数组的初始化 (1)完全初始化:在定义一个数组时,对数组中所有元素都提供了初始化数据。 例如:int a[10]={0,1,2,3,4,5,6,7,8,9}; 其中:a[0]=0, a[1]=1, a[2]=2, a[3]=3, a[4]=4, a[5]=5, a[6]=6, a[7]=7, a[8]=8, a[9]=9 (2)部分初始化:提供了初始化数据,但数据不够,不够的部分取0 。 例如:int a[10]={0,1,2,3,4}; 其中:a[0]=0, a[1]=1, a[2]=2, a[3]=3, a[4]=4, a[5]=0, a[6]=0, a[7]=0, a[8]=0, a[9]=0 (3)没有初始化:只是定义了一个数组,但没有提供任何初始化数据,这时数组中每个元素的值是不确定的。 例如:int a[10]; (4)如果想把数组中所有元素初始化为0,可以写成: int a[10]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; 但不能写成:int a[10]={0*10}; (5)若对数组中所有元素进行了初始化,可不指定数组长度。 例如:int a[5]={0,1,2,3,4}; 可以写成:int a[ ]={0,1,2,3,4}; 对于后一种定义系统会默认a 数组的长度为5 。 但是如果被定义的数组长度与提供初值的个数不相同时,则数组长度不能省略。 例如:int a[10]={0,1,2,3,4}; 只初始化了前5个元素,后5个元素不确定。 7.1.4 一维数组程序举例 例7.2 用数组来处理求Fibonacci数列问题。( P116-117和P124 ) 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]); } } 例7.3 用冒泡法对10个数排序(由小到大)。 冒泡法:在要排序的数中,依次将相邻的两个数进行比较,若满足排序要求,保持两者位置不变,否则交换位置: 从上述我们可以得出: 如果有n个数参加冒泡排序,则要进行n-1趟比较。在第j 趟比较中有n-j+1个数参加排序,要进行n-j次两两比较。比如:本例中第2 趟有5个数参加排序,进行了4 次比较。 main ( ) { int a[11]; int i,j,t; printf(“input 10 numbers:\n”); for (i=1;i<11;i++) scanf(“%d”,&a[i]); printf(“\n”); for (j=1; j<=9;j++) /* 共n-1趟 */ for (i=1;i<=10-j;i++) /* 每趟要进行 n-j次比

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值