C语言数组结构简介.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言数组结构简介

第6章 数组 数组的概念 数组:若干相同类型的数据项的有序集合。 数组的用途:用于存储相同类型的多个数据,可以减少命名上的麻烦,并且方便统一运算。 一维数组的定义、引用和初始化 一维数组的定义、引用和初始化 一维数组的定义 格式:类型说明符 数组名[常量表达式]; 例如,int score[50]; 定义了一个一维数组,共有50个数组元素,每个都是int类型,序号从score[0]~score[49],其中score为数组名,[]内的数值必须为整形常量,或整形常量表达式,如30+20,不允许为变量,也不允许为浮点数。 常量表达式称为数组的长度,也就是数组元素的个数。 一维数组的引用 格式:数组名[下标] 下标可以是常数或者常数表达式,也可以是变量或者变量表达式,但必须是整数。 数组不可整体引用,不可整体赋值,想给一维数组score里面的50个数组元素都赋值为0,使用score=0是错误的,可以使用循环结构来赋值:for(i=0;i50;i++) score[i]=0; 使用数组不但简化了变量的命名,还简化了变量的使用。 数组元素(用下标去引用)相当于一个普通变量,可以出现在该类变量可以出现的所有场合。 数组名不是一个普通的变量名,而是第一个数组元素的地址。 一维数组的初始化 数组可以在定义的时候就进行初始化(赋初值) 例如:int score[10]={0,1,2,3,4,5,6,7,8,9};如果括号内的数小于10个,那么只是从score[0]开始赋值,剩下的没有赋值的数组元素的值初始化为0。如果只是定义而没有初始化(一个都没赋初值),则所有的数组元素的值都是不可预测的。 如果在定义数组时候,已经对所有的数组元素进行赋初值,数组的长度可以省略int score[10]={0,1,2,3,4,5,6,7,8,9};等价于int score[]={0,1,2,3,4,5,6,7,8,9}; 如果没有对所有的数组元素进行赋初值,例如int score[]={0,1,2,3,4,5,6,7,8};编译系统测出赋初值的个数为9,就认为数组的长度是9而不是10。 【例6.3】输入10个数,用冒泡法排序(从小到大) 冒泡排序是相邻的两个数进行比较,如果前一个比后一个大,就交换,每一轮都会把本轮要比较的所有的数中最大的那个数放到最后,小的数往前面移动,就像水里的气泡逐渐往上浮一样。 第1轮,把第0跟第1个数比较,第1跟第2个数比较……第n-2个数跟第n-1个数比较,如果前一个数比后一个大,就交换。那么第1轮交换结束后,就把第0个至第n-1个数中最大者放到第n-1的位置; 第2轮,把第0跟第1个数比较,第1跟第2个数比较……第n-3个数跟第n-2个数比较,如果前一个数比后一个大,就交换。那么第2轮比较结束后,就可以把第0至第n-2个数中最大者放到第n-2的位置; 依次类推,直到第0个跟第1个数比较,把最大者放到第1的位置,这样就可以把整个数组排好序。 冒泡法每轮都把该轮要比较的数的最大者放到最后 #includestdio.h #define N 10 main( ) { int a[N]; int i,j,temp; for(i=0;iN;i++) scanf(%d,a[i]); printf(befor sorting:\n); for(i=0;iN;i++) printf(%-5d,a[i]); printf(\n); for(i=0;iN-1;i++) for(j=0;jN-i-1;j++) if(a[j]a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } printf(after sorting:\n); for(i=0;iN;i++) printf(%-5d,a[i]); printf(\n); } 运行结果如下: 1 3 5 7 9 2 4 6 8 10 befor sorting: 1 3 5 7 9 2 4 6 8 10 after sorting: 1 2 3 4 5 6 7 8 9 10 Press any key to continue 二维数组的定义、引用及初始化 二维数组的定义 格式:类型说明符 数组名[常量表达1] [常量表达2]; 例如,int b[3][4];定义了一个3行4列的二维数组,一共有12个数组元素,每个都是int类型,序号从b[0][0]~b[2][3]。逻辑顺序如下: 二维数组是按行存储 先存完第1行,再存第2行,第3行……,直到最后一行。在内存中

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档