欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数组学习教程.pptx

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

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数组学习教程.pptx

    教学内容一维数组的定义和引用二维数组的定义和引用字符数组第1页/共36页二维数组数学上的矩阵以及反映现实数据的表格等,通常用二维数组来表示。89 12 23 89 89 90 89 88 77 7990 89 87 87 6734 56 67 78 98 第2页/共36页u二维数组的定义 如:float a 34;数组名为a,有3*4个实型数据元素:a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 0 2:数组元素的行下标;0 3:数组元素的列下标(注意:行、列下标均从0开始,下标不要越界)。数据类型 数组名常量1 常量2;第3页/共36页元素排列顺序:按行存放,首尾相接。(可转换成一维数组)注意:行、列常量表达式必须分别用方括号“”括起来,不能写成 float a3,4注意:元素个数的表达式不能用变量表示。比如:错误的定义方法:int n,m;int anm;第4页/共36页u二维数组的引用数组名 行下标列下标 如:数组a23的第1个元素为a00 第二个元素为 a01。第5页/共36页u二维数组的初始化 1)按行给二维数组赋初值int a23=3,1,5,7,4,9;结果:a00=3,a01=1,a02=5,a10=7,a11=4,a12=9 2)将所有数据按数组排列的顺序写在一个花括号里 int a23=3,1,5,7,4,9;int a 3=3,1,5,7,4,9;结果:同上 3)可以对部分元素赋初值:int a23=3,0,4;结果:a00=3,a11=4 其余值为 0第6页/共36页问题:若 int a23=1,2,3,4 怎样描述每个元素的值?若int a23=1,2,3又如何?int a 3=1,2,3,4,5,6省略的数值是多少?int a2=1,2,3,4,5,6这样描述正确吗?第7页/共36页u二维数组元素在内存中的存放形式例:int A33=0,1,2,3,4,5,6,7,8;A00 0 A01 1 A02 2 A10 3 A11 4 A12 5 A20 6 A21 7 A22 8第8页/共36页例6(shuzu_006):二维数组的使用。#define N 3#define M 4 void main()int aNM,i,j;/*input data of the array*/for(i=0;iN;i+)for(j=0;jM;j+)scanf(%d,&aij);/*output data of the array*/for(i=0;iN;i+)for(j=0;jM;j+)printf(%2d,aij);u二维数组示例如何控制输出格式?第9页/共36页 例7:(shuzu_007A/shuzu_007B)求一个34矩阵的所有靠外侧的元素值之和。如:1 1 1 1 1 0 0 1 1 1 1 1 第10页/共36页/*shuzu_007A*/#define M 3#define N 4 void main()int sum,j,k;int aMN=1,1,1,1,1,1,1,1,1,1,1,1;for(j=0;jM;j+=(M-1)for(k=0;kN;k+)sum=sum+ajk;for(k=0;kN;k+=N-1)for(j=1;jM-1;j+)sum=sum+a jk;第11页/共36页/*shuzu_007B*/void main()int aMN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;int j,k,sum=0;printf(The array is:n);for(j=0;jM;j+)for(k=0;kN;k+)printf(%5d,ajk);printf(n);for(k=0;kN;k+)sum=sum+a0k+aM-1k;for(j=1;jM-1;j+)sum=sum+aj0+ajN-1;printf(sum=%dn,sum);第12页/共36页 例8:(shuzu_008)有一个2*3的矩阵,要求编程求出其中的最大值及其所在的行号和列号。void main()int a23,max;int i,j,ii,jj;/*input data of the array*/for(i=0;i2;i+)for(j=0;j3;j+)scanf(%d,&aij);/*output data of the array*/printf(The array isn);for(i=0;i2;i+)for(j=0;j3;j+)printf(%d ,aij);printf(n);第13页/共36页/*To find max number in array*/max=a00;for(i=0;i2;i+)for(j=0;jmax)max=aij;ii=i;jj=j;printf(a%d%d=%d n,ii,jj,max);第14页/共36页字符数组和字符串字符数组 用来存放字符数据的数组。每个数组元素存放一个字符。(可以实现字符串的处理)字符数组定义char 数组名 常量;如:char c9;定义长度为9的字符数组c;字符数组的初始化:逐个字符给数组中的元素赋值。如:char c9=C,o,m,p,u,t,e,r;第15页/共36页字符串及其初始化字符串:在字符数组的最后加上串结束符0Ascii码为0初始化方法lchar c9=C,o,m,p,u,t,e,r,0;lchar c=C,o,m,p,u,t,e,r,0;lchar c9=“Computer”;lchar c9=“Computer”;lchar c=“Computer”;lchar c=“Computer”;第16页/共36页注意l系统在存储它的时候,自动在末尾加0l数组名是数组(字符串)的首地址l若 提供的初值个数小于数组的长度,则顺次将这些字符赋值,其余补0;l若 提供的初值个数大于数组的长度,则按语法错误处理;l若 提供的初值个数等于数组的长度,输出时会有错误。0RETUPMOC内存存放示意图 c第17页/共36页l可以在定义并初始化一个数组时,省略数组长度,系统会自动根据初值个数来确定数组长度。main()char c=“computer”;lC语言不允许用赋值表达式向数组整体赋值。main()char c;C=“computer”;第18页/共36页字符数组的输入n方法一:逐个输入字符数组的每个元素(使用格式控制符%c)如:char a9;for(j=0;j9;j+)scanf(“%c”,&aj);这样做缺少灵活性,必须首先知道字符串的长度。而且容易出错。第19页/共36页n方法二:将整个字符串一次输入或输出方法1:用scanf printf%s方法2:用gets()和puts()函数方法1举例:char a9;scanf(“%s”,a);/*注:a前不加&符号。*/printf(“%s”,a);/*注:a前不加&符号。*/注意:printf(“%c”,a);输出一个字符!第20页/共36页l字符串输入与输出函数(包含在头文件 stdio.h)中u输入函数:格式:gets(数组名);与scanf 的差别:可以接受输入时敲入的空格。以回车为结束符。例如:char a9;gets(a);u输出函数:格式:puts(数组名);与printf的差别:一次输出一个字符串且自动换行。第21页/共36页 例9(zhuzu_009):统计一个字符在某个字符串中出现的次数。#include void main()char aa1000,c=a;int k=0,i;printf(nPlease enter a string:);gets(aa);for(i=0;aai!=0;i+)if(aai=c)k+;printf(The times is%dn,k);第22页/共36页例10(shuzu_010):统计在aa字符串中a到z出现的次数,结果放在数组bb中输出。char aa1000;int bb26,i;printf(nPlease enter a char string:);scanf(%s,aa);for(i=0;i=a&aai=z)bbaai-a+=1;for(i=0;i 字符串2 则返回值为一正整数 字符串1 0)printf(c1c2n);else printf(c1c2n);第26页/共36页lstrlen(字符串)测试字符串的长度。不包括字符0)main()char str =“How do you do!”;printf(“%d”,strlen(str);结果输出14lstrlwr(字符串):将字符串中大写变小写lstrupr(字符串):将字符串中小写变大写。第27页/共36页一维字符数组应用举例例(shuzu_014):求出一个字符串中指定字符的个数。void main()char a81,ch;int cnt=0,i=0;printf(nPlease enter a string:);gets(a);printf(nPlease enter a char:);ch=getchar();while(ai!=0)if(ai=ch)cnt+;i+;printf(nThe number is:%dn,cnt);第28页/共36页例shuzu_015:将S串中所有字符前移一个位置,第一个字符移到最后。void main()char a N ,ch;int i=0;printf(Enter a string:);gets(a);printf(The original string is:);puts(a);ch=a0;for(i=0;ai!=0;i+)ai=ai+1;ai-1=ch;printf(The string after modified:);puts(a);第29页/共36页例shuzu_016:将S串中所有字母改成字母的下一个字母,z改成a,大小写不变#include#define N 81void main()char aN;int i=0;printf(Enter a string:);gets(a);printf(The original string is:);puts(a);while(ai!=0)if(ai=Z)ai=A;else if(ai=z)ai=a;else if(isalpha(ai)ai=ai+1;i+;printf(The string after modified:);puts(a);第30页/共36页二维字符数组二维字符数组二维字符数组初始化 char str36=“Japan”,“China”,“Korea”;Japan0 China0 Korea0 str0str1str2这里,stri相当于一个一维数组名,代表二维数组中每一行的首地址。注意:每个字符串的结尾都有 0 。第31页/共36页二维字符数组输入 for(i=0;i3;i+)gets(stri);二维字符数组输出 for(i=0;i3;i+)printf(“%s”,stri);第32页/共36页二维字符数组应用二维字符数组应用例(shuzu_017):在一批名字中查找指定的名字。第33页/共36页#define MAX 5#define LEN 10#include stdio.h#include string.hvoid main()int i,flag=0;char nameLEN;static listMAXLEN=“zhang”,“wang”,“li”,“tan”,“ling”;第34页/共36页printf(“Enter your name:”);gets(name);for(i=0;iMAX;i+)if(strcmp(listi,name)=0)flag=1;if(flag=1)printf(“%s is in our classn”,name);else printf(“%s is not in our classn”,name);第35页/共36页感谢您的欣赏第36页/共36页

    注意事项

    本文(数组学习教程.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开