c语言定义数组a10 指定各元素,《C语言程序设计教程》第6章_数组2.ppt

《C语言程序设计教程》第6章_数组2

第六章;问题:给一组数排序,这组 数该 如何存放呢; 本章要点;;6.1 数组的概念;1.一维数组的定义格式为:类型说明符 数组名[常量表达式];例如: int a[10]; 它表示定义了一个整形数组,数组名为a,此数组有10个元素。;2.在定义数组时,需要指定数组中元素的个数,方括弧中的常量表达式用来表示元素的个数,即数组长度。

3.常量表达式中可以包括常量和符号常量,但不能包含变量。也就是说,C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。;例如: int n; scanf(“%d″,&n); /*在程序中临时输入数 组的大小 */ int a[n];;注意:定义数组时用到的“数组名[常量表达式]” 和引用数组元素时用到的“数组名[下标]” 是有区别的。例如∶ int a[10]; t=a[6]; ;2.一维数组元素引用的程序实例;对数组元素初始化的实现方法:; 3. 如果想使一个数组中全部元素值为0,可以写成: int a[10]={0,0,0,0,0,0,0,0,0,0}; 或 int a[10]={0};;4. 在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度。 例如:int a[5]={1,2,3,4,5}; 也可以写成 int a[]={1,2,3,4,5}; int a[10]={1,2,3,4,5}; 只初始化前5个元素,后5个元素为0。;例6.2:用数组来处理求Fibonacci数列问题。;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]) } /*For循环结束*/} /*程序结束*/;例6.3:输入10个数,用起泡法对这10个数排序(由小到大)。 ;第二趟比较;程序流程图如下:;程序实例6.3:

#include void main(){ int a[10]; int i,j,t; printf(″input 10 numbers :\n″); for (i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); ;for(j=0;j<9;j++) for(i=0;i<9-j;i++) if (a[i]>a[i+1]) { t=a[i];a[i]=a[i+1]; a[i+1]=t; } printf(″the sorted numbers :\n″); for(i=0;i<10;i++) printf(″%d ″,a[i]); printf(″\n″);}/*程序结束*/; 6.3 二维数组的定义和引用 6.3.1 定义二维数组;注意:我们可以把二维数组看作是一种特殊的一维数组:它的元素又是一个一维数组。例如:可以把a看作是一个一维数组,它有3个元素:a[0]、a[1]、a[2],每个元素又是一个包含4个元素的一维数组。;C语言中,二维数组中元素排列的顺序是按行存放的,即在内存中先顺序存放第一行的元素,再存放第二行的元素。下图表示对a[3][4]数组存放的顺序。 a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23

;二维数组元素的表示形式为:数组名[下标][下标]例如: a[2][3]下标可以是整型表达式,如 a[2-1][2*2-1];常出现的错误有: int a[3][4]; /* 定义a为3×4的数组 */ ┆a[3][4]=3; ;可以用下面4种方法对二维数组初始化:;3.可以对部分元素赋初值。例如: int a[3][4]={{1},{5},{9}}; ;4.如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值