电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

数组c语言课件

  • 资源ID:88095795       资源大小:1.23MB        全文页数:46页
  • 资源格式: PPT        下载积分:25金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要25金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

数组c语言课件

第四章 数 组,Chapter 4 Array,数组必须先说明后使用。说明的目的如下:,说明数组的名字(标识)。 说明数组的类型。 说明数组的维数。 确定各维下标的变化范围。,编译系统将根据说明,开辟内存单元按特有的顺序和相应的类 型为各元素分配内存单元。,4.2 一维数组,一维数组的说明,说明方式:,type array1常量表达式, , arrayn常量表达式;,类型说明符,根据需要可加修饰说明。说明数组的类型。,数组名,用标识符命名。,用 包含的常量表达式。数组的下标从0变化到常量达式的值减一。,int id5, iyear10; float fScore36;,当说明数组后,编译时系统会根据定义的类型分配连续的一段 内存单元给数组的各元素。,id0,id1,id2,id3,id4,系统为数组分配的连续内存单元,每个单元占两个BYTE。首地址用数组名id表示。,一维数组的初始化,数组的元素可以在说明数组时初始化。,int a10=1,2,3,4,5,6,7,8,9,10; /*说明数组,同时初始化全部元素。*/,float fValue10=1.0,2.0,3.0; /*说明数组,给部分元素初值,其余元素为0。*/,unsigned a =0x0000,0x0001,0x0002; /*当数组元素全部赋初值时,可以不指定长度*/,数组的引用,原 则:只能引用数组元素,而不能引用整个数组。 引用方式:数组名整型表达式 /*下标变量*/ 每个数组元素,可以出现在简单变量能够出现的任何地方。,a1=12; s=a2+a1*20;,举例,求10个学生一门课程的平均分,并输出低于平均成绩的分数。,#include void main(void) float fScore10,aver=0; int i; for(i=0;i10;i+) scanf(“%f”, ,说明数组。,循环输入各元素的值并累加。,循环判断条件,满足条件输出。,4.2 多 维 数 组,在实际应用中,经常会遇到一些用多维索引的数据。如:四个 学生三门课的成绩。可以用下表表示:,显然,该表的每一项需要有两个索引项。表现为数组的两个下 标。超过一个下标的数组称为多维数组。,行:代表某个学生。,列:代表某门课程。,多维数组的说明,说明方式: type array常量表达式1常量表达式n,;,n个整型常量表达式,数组元素的个数?,int a23 , b452;,多维数组在内存中的顺序,int a33;,二维结构: a00 a01 a02 a10 a11 a12 a20 a21 a22,排列顺序:先行后列。,a00,a01,a02,a10,a11,a12,a20,a21,a22,下 标 为 0 的 行,总原则:最后一个下标先变化,变化一个周 期后,倒数第二个开始变化,如此类推。,a为数组在内存中的首地址。,int b234;,内存中的排列?,多维数组赋初值,数组可以在说明时初始化。,全部赋初值,int a23=1,2,3,4,5,6;,下标为0的一行,下标为1的一行,int b23=1,2,3,4,5,6;,按内存顺序赋初值。,部分赋初值,int a23= 1 , 2 ;,0行的0列的元素赋初值。0行其余值为0。,int a23=1,2;,对全体数组元素赋初值,第一维下标可以省略。,int a 3=1, 2, 3, 4, 5, 6;,数组元素的引用,数组定义后,具备简单变量的一切性质,可以作为表达式的运 算对象,也可以被赋值。引用时,只能引用数组元素,方式如下:,arrayexp1expn,int a1010 ,y,i=2; ai+26=20; y=ai+26*100/30; a1011=34;,对4行6列的元素赋值。,参加表达式运算。,C语言不作下标检查,语法正确,但使用危险,可能造成程序的错误!,整型表达式。,4.4 字 符 数 组与字符串,C语言没有字符串变量,可以定义字符数组,每个元素存放一 个字符,从而达到存放字符串的目的。,字符数组的说明,char charrayconst exp1const expn,; char a10,b212;,字符数组的初始化,一维数组赋初值,char str16= h, e, l, l, o,0; char str2 =”hello ”;,用单个字符对每一个元素赋值。,用字符串对数组赋初值。,可以指定长度,也可不指定长度。,系统会在字串的结尾加0,表示字符串结束。因此,说明数组 时,长度指定应至少比实际长度大1,保证赋初值正确。,0,存储结构:,h,e,l,l,o,0,二维数组赋初值,二维数组的每一行可以存放一个字符串。,char str36=”wang”,”zhang”,”liu”;,str数组在内存中的首地址。,存储结构,字符数组的输入输出,格式输入输出函数,输出: for(i=0;iSTRLEN;i+) printf(“%c”,str i ); /*通过循环输出各元素*/ printf(”%s”,str); /*用字符串形式输出*/,输入: scanf(”%s”,str); /*用字符串输入整个数组*/,用scanf函数输入时space作为输入的分隔符,因此输入带空格 的字符串,会造成输入不全。,char a20; scanf(”%s”,a); 输入:China Anhui Hefei 结果a数组的内容是:China0,为了解决这个问题,系统定义如下专用于字符数组的i/o函数。,gets( )字符串输入函数,用法:,char str 80; gets(str);,作用: 读入一个以换行符为终结符的字符串到str中,用0代替换行符。,数组名作为函数的参数。,puts( )字符串输出函数,用法:,char string =”China”; puts(string);,数组名作为函数的参数。,作用: 输出以NULL 即0结尾的字符串string,自动加上换行符。,字符输入输出举例,#include void main(void) char str80; int i; gets(str); for(i=0 ; str i !='0' i+) if(stri='a' ,chp4ex0,判断字符串结束。,常用的字符处理函数,C语言定义了一系列的字符处理函数用于字符串的处理,该类 函数的原型定义在string.h中。因此,在使用该类函数时,应在程 序的开始处,加#include ,字符串拷贝函数strcpy(str1,str2),作用:将str2拷贝到str1中。,用法: char str110, str2 =”Computer”; strcpy(str1,str2); /*str1的内容是“Computer”*/ strcpy(str2,”Program”); /*str2的内容是“Program”*/,说明:,str1的长度要足够长; str1只能是字符数组名,str2可以是字符数组或字符串常量。,字符串连接函数strcat(str1, str2),作用:将str2连接到str1后(去掉str1的0)。,用法: char str115=“Anhui ”, str2 =”Hefei”; strcat(str1,str2); puts(str1); /*输出结果为 Anhui Hefei */,说明:,str1的长度要足够长; str1只能是字符数组名,str2可以是字符数组或字符串常量。,测试字符串长度函数strlen(str),作用:测试字符串的实际长度。函数运算得到整型值,该值是 字符串的长度!,int iLenStr; char str =“China”; iLenStr=strlen(str); printf(“%d”,iLenStr);,结果?,字符串的比较 strcmp(str1,str2),作用:对str1和str2 进行逐位无符号字符(ASCII码)比较, 直到对应位字符能够确定关系或到串尾为止。返回整型比较结果。,字符的数值关系也就是字符的ASCII码值的数值关系。,比较结果如下:,char str1 =”abcd”; char str2 =“abcd”; int iRe1,iRe2,iRe3; iRe1=strcmp(str1,”abdc”); iRe2=strcmp(str1,str2); iRe3=strcmp(”abcde”,str2);,abcd,abdc,c,d,c-d -1 结果小于0。,strlwr(str)将str中的大写字母转换成小写字母。,strupr(str)将str中的小写字母转换成大写字母,#include #include void main(void) char str1 =“c programming! 123“,str2=“Computer“; strlwr(str2); strupr(str1); puts(str1); puts(str2); ,C PROGRAMMING! 123 computer,举例:统计三行文字中大写字母、小写字母及数字的个数。,#include #include void main(void) char str80; int i, j, iAnum=0, ianum=0,i0num=0; for(i=0; i=A ,行循环,列循环,chp4ex2,数组的常用算法,数组是同类型数据的集合。便于整体处理数据,数组操作的主 要算法有:,求极值; 排序; 查找;,求极值及其位置,算法演示,一维数组的极值,#include void main(void) int a10=1,6,-2,5,4,32,47,-66,13,14; int iMax, iPos, i; iPos=0; iMax=a0; for(i=1; iiMax) iMax = ai; iPos = i; printf(“Max=%5d Position=%5d”,iMax,iPos); ,假定最大值及其位置。,循环比较,当前元素比最大值大,将其 赋值为新的最大值并记录其位置。,chp4ex3,二维数组求极值,#include void main(void) float a34= 1.0, 3.0, 5.2, 7.4, 4.6, 5.5, 4.2, 1.2, 10.5, 0.23,1.3, 0.5; int i, j, iRow=0,iCol=0; for(i=0; i3; i+) for(j=0;j4;j+) if(aijaiRowiCol) iRow = i; iCol = j; printf(”%f7.2,iRow%5d,iCol%5d”,aiRowiCol,iRow,iCol); ,假定最小值的位置。,二重循环遍历所有元素,比较求最小值,记录其位置。,chp4ex4, 排 序,排序的概念,排序是将一组随机排放的数按下标顺序从大到小或从小到大重 新排列。,1 ,5,4,6

注意事项

本文(数组c语言课件)为本站会员(F****n)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.