C语言程序设计电子课件——数组.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
21世纪高职高专计算机系列规划教材语言程序设计第七章 数组7.1 问题的提出7.2一维数组的定义和引用7.3二维数组7.4字符数组与字符串 7.5字符串的7种主要操作 第七章 数组 第一节 问题的提出为什么使用数组:如果定义三个整型变量,用int x,y,z; 来定义,如果定义300个整型变量怎么办? 为实现同型数据变量的定义,使用了数组第二节 一维数组的定义和引用 一、数组概念的引入:如果我们要定义少量变量,只要取名字即可,但是如果要大量定义变量,则很难对这些变量逐个定义,这样就引入了数组的概念,所谓数组,就根本上而言,其实是一批有着共同类型的变量,它的每一个元素其实都是一个变量。我们也确实把它们作为一个变量来使用。 二、一维数组的定义: 类型名 数组名[整型常量表达式],….. 例如:int a[10]; float f[20]; 三、一维数组的引用:数组名[下标表达式] 例如:x=f[10]使用时应当注意: 对元素的处理就象处理相应类型的变量一样。C语言中,不能对数组名直接赋值,必须对其元素逐个赋值,但是字符数组是个例外另外系统本身通常不作越界检查,这是程序员的责任。【例】p97/1.3 若有定义:int a[10], 则对数组a 元素的正确引用是( )a[10] B) a[3.5] C) a(5) D) a[10-10] 四、一维数组元素的初始化: 1 若定义时不对其赋初值,动态数组 例如 int a[10]; 里面没有确定的值2若定义时对其赋初值 若 int a[10]={1,2,3,4,5,6,7,8,9,10};3 初始化时候不指定长度,则其长度自动按照初始化是元素个数来分配数组的长度。如int a[]={1,2,3,4,5}; 则数组长度为5 【例】p97/1.4 以下能对一维数组a进行正确初始化的语句是( ) int a[10]={0,0,0,0,0};B) int a[10]={};C) int a[]={0};D) int a[10]={10*1};五、一维数组举例 【例】数组的逆置问题 【例】一维数组举例:用冒泡法将数组中个元素的值从小到大排序。 初始状态: 6 8 5 4 6 9 3 1开始比较:1趟后: 6 5 4 6 8 3 1 (9)2趟后: 5 4 6 6 3 1 (8 9)3趟后: 4 5 6 3 1 (6 8 9)4趟后: 4 5 3 1 (6 6 8 9)5趟后: 4 3 1 (5 6 6 8 9)6趟后: 3 1 (4 5 6 6 8 9)7趟后: 1 (3 4 5 6 6 8 9) 【程序】 void main(){ int a[10]={6,8,5,-1,4,200,6,9,3,1}, i,j,temp,swap; for(i=0;i8-1;i++) { swap=0; for(j=0;j10-i-1;j++) if(a[j]a[j+1]) { swap=1; temp=a[j]; a[j]=a[j+1];a[j+1]=temp; } if(!swap) break; }【程序】接上 printf(10个数排序后的结果为:); for(i=0;i10;i++) printf(%3d,a[i]); printf(\n);} 【思考】排序算法中最基本的选择排序问题 【例】顺序查找。有10个数存放在一个数组中,输入一个数,求出该数是数组中第几个元素的值。如果该数不在数组中,则输出“没有找到”。【例】二分查找。有10个数按照从小到大的顺序存放在一个数组中,输入一个数,用折半法求出该数是数组中第几个元素的值。如果该数不在数组中,则输出“没有找到”。 【程序】#define N 10#include stdio.hvoid main(){ int a[N]={6,9,15,25,26,36,48,53}; int low=0,high=N-1,mid,x,found=0; printf(请输入要查找的数据); scanf(%d,x); if(x=a[low]x=a[high])【程序】 while(!foundlow=high) { mid=(low+high)/2; if(a[mid]==x) found=1; else if(xa[mid])low=mid+1; else high=mid-1; } if(found) printf(元素值为%d的数组下标是%d\n,x,mid); else printf(未找到\n);} 第三节 二维数组 一、二维数组的定义:类型名 数组名[整型常量表达式1][ 整型常量表达式2]; 实际上二维数

您可能关注的文档

文档评论(0)

潇湘画里 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档