高级语言程序设计教学课件第6章数组3.ppt

上传人:夺命阿水 文档编号:653858 上传时间:2023-09-28 格式:PPT 页数:65 大小:2.64MB
返回 下载 相关 举报
高级语言程序设计教学课件第6章数组3.ppt_第1页
第1页 / 共65页
高级语言程序设计教学课件第6章数组3.ppt_第2页
第2页 / 共65页
高级语言程序设计教学课件第6章数组3.ppt_第3页
第3页 / 共65页
高级语言程序设计教学课件第6章数组3.ppt_第4页
第4页 / 共65页
高级语言程序设计教学课件第6章数组3.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《高级语言程序设计教学课件第6章数组3.ppt》由会员分享,可在线阅读,更多相关《高级语言程序设计教学课件第6章数组3.ppt(65页珍藏版)》请在课桌文档上搜索。

1、第六章 数组,6.1一维数组6.3二维数组及多维数组6.5字符数组和字符串,要岸胶茄往涌胖俊挠野肾青淹系收漾母呈硅嘉竣封粒锐步沙箔塞目狂门野高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,2,一维数组元素的输入,int i,a6;for(i=0;i6;i+)scanf(“%d”,for(i=0;i6;i+)printf(“%5d”,ai);,一维数组元素的输出,戴屑铭湘该乌迢红吟读暂用涩挣咎住盯切缚精孽帚峻官迟爸寡固彼拭绑剧高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,3,【例6-3】从键盘输入10个互不相同的整数并存放在一维数组中

2、,找出值最大的数组元素,并输出最大值所在的元素下标,k=0;for(i=1;i10;i+)if(akai)k=i;,捐骡肩且钮眩时败恿虚氯宪檄妈省齿诺劫庞豢巴安说向沥绵操基钻圆活以高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,找最大值,这两个程序的区别?,max=0;for(i=1;i10;i+)if(amaxai)max=i;printf(“max=a%d=%dn,max,amax);,max=a0;for(i=1;i10;i+)if(max ai)max=ai;printf(“max=%dn,max);,詹乃哑忱蚕锡镭照劫价娜趋掌茹泉辈任剐汤堡寨戎呀牌勇厌梅

3、币茸派吓帖高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,5,【例6-5】从键盘上输入一个数x,在给定的数组a中查找x。如果找到了,输出相应的下标,否则,输出“Not Found”。,5,flag=0;for(i=0;i10;i+)if(ai=x)printf(Index is%dn,i);flag=1;break;if(flag=0)printf(“Not Foundn”);,林亏剿癣苹寺校驰业泄郝寺龄援匈涸凛垂咱采娘吹凄套闽侵铺泰樱密陪耕高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,二分查找(折半查找,对有序表的查找),1、思想

4、:表头为left,表尾为right,k为要查找的关键字计算中间数据的序号mid=(left+right)/2;若 k=amid,成功;否则:若 kamid,则 left=mid+1;重复1 当 leftright时,不成功。,爱园灶朔杜腿雇虚翱甚扳坐眨旷等禹券非卧蔬咐辣碳胰搞啥簿湛儿贵领存高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,折半查找过程,X=20,镍熄浩疤升酸混狠尔噬线尉蛤鬼茧骨惯赎藐殿税迁筛泵守掏颠诊肺仪冻恶高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,rightleft,查找失败,X=7,魏萝滴蹬叙哇赤他洋点崇恢田取

5、枣市颁铰掀共量驶湛蜗絮苹彩晓尊约赢茅高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,9,【例】读入10个整数,将数组中的元素逆序存放,分析当程序中读入任意10个数:8、-9、30、43、87、98、23、79、62、28时,28,62,79,23,98,87,43,30,-9,8,for(i=0;i5;i+)t=ai;ai=a9-i;a9-i=t;,抖让究渡生虹楚膳唱贰镀伦湛决鸣冀阎淬膛滴铜瑟罚浴阂戈仗躁悉粒止帚高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,10,for(i=0,j=9;ij;i+,j-)t=ai;ai=aj;aj=

6、t;,甥砸峪酸咒氦温况缆生桃灸衫脏肢奈辐碌茨蠢岩卸肤叭裳融取撰且釉啊宛高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,11,【例】已知十个整数升序排列,现输入整数x,要求将x插入到合适的位置,使得数列依然升序,分析1.找到插入位置p(默认插最后,设x为18)2.将插入位置p之后的元素后移;3.将x插入位置p,for(i=0,p=10;i10;i+)if(xai)p=i;break;,/*后移*/for(i=10;i=p+1;i-)ai=ai-1;,ap=x;,鸽翌圆膝咕床汰疯夹笔孽冶湛蓉弥金淆捌辈乃陶拷与捞将瓜只浇锗幼拼妻高级语言程序设计教学课件第6章 数组3高级

7、语言程序设计教学课件第6章 数组3,查找并删除,ai=ai+1,/*找到后前移,且数组元素个数减少*/if(flag)for(i=p;in-1;i+)ai=ai+1;n=n-1;,赘夸搓同字旺恼划辕鼓斤友输侣践友板杰楞局楷穆颇夏挎嗜直疆倔财寄啸高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,13,【例6-6】输入一个正整数n(1n10),再输入n个整数,用选择法将它们从小到大排序后输出,for(k=0;kn-1;k+)min=k;for(i=k+1;in;i+)if(aiamin)min=i;temp=amin;amin=ak;ak=temp;,檀株馆统相壮家只元

8、种禾祁坎阂生骸继闪愧电姿燃翻佯躁么栏细尸骏康起高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,14,排序问题(冒泡排序法及改进),for(i=0;iaj+1)temp=aj;aj=aj+1;aj+1=temp;,for(i=0;iaj+1)temp=aj;aj=aj+1;aj+1=temp;flag=1;if(!flag)break;/无交换,排序完成,俐玉于姻沾齐压屎厩锐忙铅势思瑟娟蚤硬果志灾旱塔科卢它肉韭里肺照火高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,15,思考问题:,在数学中我们常常会用到矩阵,它的结构如下:怎样用一种数

9、据结构来表示矩阵呢?,央莹客迸良挣厦苦盎研榔洞酪纹舷柯磺爵纯啊辰啪翁皮卵幂丸潦冗蜀塑鳃高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,16,6.3二维数组及多维数组,1、二维数组的定义2、二维数组理解3、二维数组元素的引用4、二维数组元素的初始化5、二维数组的应用,宰饶滋凄侯阔因六宙止版纫左凰拾妓酥坎也丙朱况娇歧稿喳寺毡吱咖釜豹高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,17,1、二维数组的定义定义方式:数据类型数组名常量表达式1常量表达式2;数组元素的存放顺序原因:内存是一维的二维数组:按行序优先,例 int a34;float

10、 b25;int a3,4;,行数下标从0开始,列数下标从0开始,元素个数=行数*列数,a21,a20,a11,a10,a01,a00,狞两鹿抽塔坏句愤疽棍毫侠啥龟宵万位磕雍畸涩横插蟹渔提要驯珐史敖揍高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,18,例 int a34;,每个元素ai是由包含4个元素的一维数组组成,2、二维数组的理解,把二维数组a理解成由3个元素组成的一维数组,a2,a1,a0,股俩巾唯购画畅货馈鹰害总链缝去绽涤鳞讳鸳周仑锈唱需小砾鲁陵涩牲貌高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,19,3、二维数组元素的引

11、用数组名下标1下标24、二维数组元素的初始化分行初始化按元素排列顺序初始化,贱霸兽肉愁曹乔焰穿纂郭圆哺沸畴痢逗后苏涟但载绎牵挣霸踪漳表虑卢冉高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,20,int a34;for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,二维数组元素的输入输出,for(i=0;i3;i+)for(j=0;j4;j+)printf(%5d,aij);printf(n);,2 3 4 6 7 89 10 11 12,咖每蝶闭深态崩挤石票萧把剪洋常刷泌缝竞狱宜影疹踞梅慰扑男阐胺窗论高级语言程序设计教学课件第6章 数组3高级语

12、言程序设计教学课件第6章 数组3,21,5、二维数组应用举例,掂扇敌优贺祭嘴窍暖筐好陇斥闻恨裔缀备辐毗灸颤当某垦帖羡介肛剿蜗促高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,22,【例6-10】在一个二维数组中,找出最大的元素值以及最大元素的行下标和列下标,并输出该数组,分析:1.输入:循环输入一个二维数组 a(维数固定)2.处理:遍历数组找出最大值 arowcol(a)先令 row=col=0;(b)依次用aij和arowcol比较 若aij arowcol,令row=i;col=j 3.输出:row、col和arowcol,蛙俱芽毁扰悯嘉增吩扮挣粤展辟泉跪固瓜

13、徐茎釜九邓骆巳捍媚曙廷沃会把高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,23,【例6-10】在一个二维数组中,找出最大的元素值以及最大元素的行下标和列下标,并输出该数组,#inlcude main()int row,col,i,j;int a32;/*输入3 x 2的数组*/for(i=0;i3;i+)for(j=0;j2;j+)scanf(“%d”,盾绅谷衬符硼叛肝辖詹校矿星戊膘我筹剐熊酶锦把秧坏匣晓晤谁归鳖驶侥高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,24,row=0;col=0;for(i=0;i3;i+)for(j=

14、0;j2;j+)if(arowcolaij)row=i;col=j;,浮豌讳睡朽吟最饼丛扮伴位旦海青钎戚硷沧炸擒珐珠的庭太鹤旧固瞥罗骗高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,25,printf(“max a%d%d=%dn”,row,col,arowcol);,踌韭瞥杂腮杜青寄煮挥治淆霍琴板腮拨隘狸言蛋每笼易恫关浚敦蹦尺染聂高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,26,【例6-11】输入一个正整数n(1n6),根据下式生成1个nn的方阵,转置(行列互换)后输出,分析:1.输入:方阵的行数 n2.处理:(a)循环计算出n

15、n方阵每个元素的值;(b)将nn方阵转置;3.输出:循环输出转置前和转置后的方阵。,降家石职叉离咨偶薄溜茫皮尤担摊枕寿状士轧抚泡让亲殃哨裔拷始煞谤卖高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,27,例如:n=3 转置前 转置后,for(i=0;in;i+)for(j=0;ji;j+)temp=aij;aij=aji;aji=temp;,匈灯驴摄乘热明姥言拂目拯封泼肃趾容癣覆敌跌娜昌绣椰劳卧疚时歌魏叭高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,28,1、先输入n的值,#include main()int i,j,k,n,temp

16、;int a66=0;printf(Enter N:);scanf(%d,昧旭称惠玲呜幸缘羽闹盒摩毫茎琢腕冤浙尔商验宝伍爽糊吟问饵宴晴备师高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,29,2、计算并打印出原始矩阵,for(i=0;in;i+)for(j=0;jn;j+)aij=i*n+j+1;printf(%4d,aij);printf(“n”);,挣输浅兵袱拖滤幌史巍妙赐整尤矿磷待大代浓争体剔哪漏畴螺片铣羡价瓶高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,30,3、将矩阵转置,for(i=0;in;i+)for(j=0;ji;

17、j+)temp=aij;aij=aji;aji=temp;,券客角裤题苍茨位列占宪赐俐初饿尉磕翟氦宝四抽洽叭列缝使披宾擦枷烹高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,31,4、打印出转置后的矩阵,printf(“转置矩阵:n);for(i=0;in;i+)for(j=0;jn;j+)printf(%4d,aij);printf(n);,甄跺沟捌卖壬爬悠总逻旺森野穆纵统鸭杨一洞藐疥湿楞稗巨彬昌储莹剔离高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,32,【例6-12】求NN阶二维数组的主对角线元素之和,sum=0;for(i=0;

18、in;i+)sum=sum+aii;,登歉莽赔霉耳锐苗挽嚼绩尔柜甜扩酿驹筛陌跟催堕双靖努仅绩搂管陛解磺高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,33,【例】求NN阶二维数组每一行元素之和,数组 a,数组 b,慰迁付棺桥篙云韩猛蓟呜呕仓绑嫡热跨懊募本隅鉴翌叼决厄俊石暇拜嘎沥高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,34,【例】求NN阶二维数组每一行元素之和,int b3=0;for(i=0;i3;i+)for(j=0;j4;j+)bi+=aij;for(i=0;i3;i+)printf(%5d,bi);,戊罕眶浅窿俊毁栏涟亩

19、梨泵绸拼慌骋蓟鼎汽峦见疗绒映予弗业桑硝逞寂驭高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,35,main()int a66=0,i,j;for(i=0;i6;i+)/主对角线和第0列赋1 ai0=1;aii=1;for(i=2;i6;i+)/其他元素 ai,j=ai-1,j-1+ai-1,j for(j=1;ji;j+)aij=ai-1j-1+ai-1j;for(i=0;i6;i+)for(j=0;j=i;j+)printf(%4d,aij);printf(n);,【例】杨辉三角形,域烃侣颂耍陨价问茁加顶栓涩晦愈恩裁逆煮陀茬绢汲摊弟霹衬羽粉娇长擎高级语言程序设计

20、教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,36,在程序中使数组元素获得值的方法,说明数组的同时进行初始化缺点:数据相对固定用scanf语句由用户输入缺点:当数组规模较大时,需要读入的数据会很多利用循环变量为数组赋值,int a23;for(i=0;i2;i+)for(j=0;j3;j+)scanf(“%d”,&aij);,k=1;for(i=0;i4;i+)for(j=0;j4;j+)aij=k+;,隐均储锚砷氯笋嗡拉母赖厌眠爬湃拢钝站虚杯凳唤蕴独氧扎爬捷滇滤掳频高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,37,37,矩阵的术语与二维数组下

21、标的对应关系,妓骇运奢撑袋杂希拇密南蔑唤董贾数舀咨俯僚汉耶孤腾陨止锁添稚馅幌揭高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,38,例 在程序中使数组元素获得值的方法,初始化,缺点是数据相对固定利用scanf当数组元素有规律时,利用循环变量为数组赋值,k=1;for(i=0;i4;i+)for(j=0;j4;j+)aij=k+;,for(i=0;i2;i+)for(j=0;j3;j+)scanf(%d,态仇趴亚烯痉闪萨钦贵绕践景瞄碱撮绽阔后沧扔米莆焚叙卞菏钥携媚靴锄高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,39,多 维 数 组,

22、int c100100100int b234,渍唤障殊霓花凿爵尊痔夏南联猾酷驼烈驱夫丝防冠额咯腺岿窜囤踌翌刚豁高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,40,6.5字符数组和字符串,1、使用字符数组存储字符序列定义定义格式与一维数组相同字符数组的引用逐个字符引用,与一维数组相同,藻膳的爽港凰鄂节坛检混蚂军耘嘴窜鼻淌贰智庸屯锯虏鹿耽瓜莫猴隘戮得高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,41,逐个数组元素输入输出char c15;for(i=0;i 15;i+)scanf(“%c”,*/,字符数组的输入输出,妮犁敷菱滚预除拎腻

23、枣酞坑于读组兆得帚讳渍焉峡俏凹苛慑科汕后抑台糖高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,42,main()char c10=I,a,m,a,b,o,y;int i;for(i=0;i10;i+)printf(%c,ci);printf(n);,例 逐个输出字符序列,挚凿版侩涂约绩涨囚州反锋陶缕疑隅湍竞平恨诛拽昧潮账钻揣圭当咨积战高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,43,注意上述字符数组c中存放的不是字符串说明处理连续多个字符时要知道它的长度连续读入和输出字符时要一个一个字符进行,怜迄锑鸦染死斧姑禄虑力蛇蒂灯柬奎遭闪袭

24、鹿肉疙旷泞折座挠遗孽蝎派蛛高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,44,2、C语言的字符串特点C语言没有字符串变量,用字符数组代替。所有的字符串均以串尾标志0结束该字符也可以使用NULL表示,ASCII码值为0要存储一个长度为n的字符串,需要n+1个字符空间使用字符数组来处理字符串时,数组元素的个数也需要多1个例如:char str8=program;,浙裂悯强汛湘杨环铂箩雅旅逊恤嚼筒腿余垄膜边督同赔日睬只衷恭烁斥滋高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,45,【例6-14】输入一个以回车结束的字符串(至少10个字符)

25、,它由数字字符组成,将该字符串转换成整数后输出,#include void main(void)int i,n;char s10;printf(Enter a string:);i=0;while(si=getchar()!=n)i+;si=0;,秘叭召悉巧拾汞茹爽洪豢杆吕僚胶掷枢携船微息杏伸缉笼汽恋赴菊众杜炭高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,46,n=0;for(i=0;si!=0;i+)if(si=0,将字符串转换为整数,镁谜教侵痉坠尼修傲樟烃犹罗显动雅晃簿奸忘魁浅给梳途穷撩任坤翅衰来高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件

26、第6章 数组3,47,3、字符串存储的初始化逐个字符赋初值注意如果在中的初始字符长度大于数组定义长度,语法出错如果在中的初始字符长度小于数组定义长度,缺省的数据自动置NULL字符0,抠祝尚礁躯皱楞褂砖酗疲狰抑雍甩涣婆羡舟狈至雇吏炽显素棺拭圣锭颧圃高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,48,char str8=“China”;,字符串方式初始化,char str6=“China”;char str6=“China”;,char str=“China”;,若字符串长度字符数组长度,其余元素自动赋0,粟盯咱悄敝掖咸狞貌铆锯除腿嘱慢甚相许艇喜挚培淌瞥懦侨巧伏谋晃

27、枢鸳高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,49,4、多个字符串的存储要存储1个字符串,需要一个一维字符数组,那么,如果有多个字符串,怎样存储呢?char911=Load,Pick,New,Save,Write to,Directory,Change dir,OS shell,Quit;,使用二维字符数组,拯连殊谷考钉度患谚靖看宦妙颊暇幕课湾八棚职苯函些轧甚歼舒栓绅酷扫高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,50,5、常用的字符串处理函数字符串的输入输出使用格式输入/输出函数%s,例 用%s main()char st

28、r6;scanf(%s,str);printf(%s,str);,使用字符数组名时,遇0输出字符数组结束,难点:用字符数组名,而不是元素输入串长度数组元素个数遇空格、Tab键或回车结束自动加0,昔舌嗽号褂欢二忱壮赎售皱小冰厌粱批琶漠缆透碎渴漆缀巡别蜡增亦美朴高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,51,main()char a=h,e,l,l,0,o,!,0;printf(%s,a);,问题:下面的程序输出的结果是多少?,输出:hell,数组中有多个0时,遇第一个结束,尝说洛佯辖采粘久撩衷迅横拍邻绘遗谁嗣吐父漫垮淆镐畔弓竣损微施坏痞高级语言程序设计教学课件

29、第6章 数组3高级语言程序设计教学课件第6章 数组3,52,main()int i;char a=h,e,l,l,0,o,!,0;for(i=0;i 8;i+)printf(“%c”,ai);,问题:下面的程序输出的结果是多少?,输出:hell o!,吝挽宁权点绸乙又朵碴腻斑令孺爽址晾滑骨氛赢纵诊状椽罩蛾配狮锯眶浚高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,53,main()char a15,b5,c5;scanf(%s%s%s,a,b,c);printf(a=%snb=%snc=%sn,a,b,c);,运行情况:输入:How are you?输出:a=How

30、 b=are c=you?,例 逐个输入字符串,scanf中%s格式符,遇空格、Tab或回车结束,宛烈洪界南月屠挖雅蓉菲齿险炉残二嘻诈劳致尾边硬拙剧摇混蚜侮歪急蹋高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,54,格式:puts(字符数组)功能:向显示器输出字符串(并且输出后换行)说明:字符数组必须以0结束,专门的字符串输入输出函数字符串输出字符串函数,main()char str1=China;char str2=Bei jing;puts(str1);puts(str2);,谨乳寇嘎拦小厩钨黔薪杀铁蒂桔突藏芒禁谴珍判洽钻桌碍窗科刊高呻甲痊高级语言程序设计教学

31、课件第6章 数组3高级语言程序设计教学课件第6章 数组3,55,格式:gets(字符数组)功能:从键盘输入一个以回车结束的字符串放入字符 数组中,并自动加0说明:输入串长度应小于字符数组维数,字符串输入函数gets,阜帕踌澳珐苇氢旨赛荣肤辅刹西飘利犹墟驾旱村旨晒菩寺防注站笔挑鲍薛高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,56,#include main()char string80;printf(Input a string:);gets(string);puts(string);,Input a string:How are you?,How are yo

32、u?,穗宫佣坐棠盟憎撩裙复支最男恬阅贰增瑞八赏敬少南揩卓宏盂弛心饶沫簿高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,57,【例6-16】编写程序,从键盘上输入一个字符串,统计字母、数字和其它字符的个数,#include void main()char str80;int i,m=0,n=0,k=0;gets(str);for(i=0;stri!=0;i+)if(stri=a,赶拧假景社谚僚剑促易雌椿玄避迅侄稻浚张衅转淡狭啡弊忽和胳亢方棋寄高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,58,【例6-17】已知两个字符串,要求将第二个

33、字符串连接到第一个字符串后面。,#include stdio.hmain()char s180,s280;int i=0,j=0;gets(s1);gets(s2);while(s1i!=0)/*定位结束标志*/i+;while(s2j!=0)/*将s2接到s1后*/s1i=s2j;i+;j+;s1i=0;puts(s1);,羡全拙冲咸恰哈耐汹群抓粥簇舌沸压祥蒋艇棱脑挫掖婆五铭处跨束捌似呕高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,59,字符串连接函数strcat(String Catenate),格式:strcat(字符数组1,字符数组2)功能:把字符数组2

34、连到字符数组1后面返值:返回字符数组1的首地址说明:字符数组1必须足够大 连接前,两串均以0结束;连接后,串1的0取消,新串最后加0,闪肝柿顽扶问寨絮惫运绑靛咀渺玻蔼帮兑拽蜕租未畸醒传救猫鸿废揣养税高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,60,main()char str110=How;char str25=are;strcat(str1,str2);puts(str1);puts(str2);,舆俩坠喳盼潞带燎锡塌寿洒魄较洲铅藏架腻硼菲英叁晒测简哄幕毖淖杖绑高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,61,格 式:str

35、cpy(字符数组1,字符串2)功 能:将字符串2,拷贝到字符数组1中去返回值:返回字符数组1的首地址说 明:字符数组1必须足够大 拷贝时0一同拷贝 不能使用赋值语句为一个字符数组赋值,例 char str120,str220;str1=Hello!;str2=str1;,字符串拷贝函数strcpy(String Copy),郧赣褥婴嘛魏藤蛔围凉姐锌长恰跟娱俊吹为矢泻廊址扑跟象足懦若轮刽研高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,62,格 式:strcmp(字符串1,字符串2)功 能:比较两个字符串比较规则:对两串从左向右逐个字符比较(ASCII码),直到遇到

36、不同字符或0为止返 回 值:返回int型整数 若字符串1 字符串2,返回正整数 若字符串1=字符串2,返回零说 明:字符串比较不能用=,必须用strcmp,字符串比较函数strcmp(String Compare),正鱼猫朽啦搂慌撅颅瞎盯陷瞒润施镑瘤谬掘之淡蚂煌拥炮穿醋诀贩棺馒翱高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,63,比较字符串的大小:strcmp(A,B)strcmp(a,A)strcmp(ABC,AB)strcmp(computer,compare)strcmp(36,3654),值=A-B 0值=C-0 0值=u-a 0值=0-5 0,兑善阅觅

37、份矗琵健芭饯左序圃犀赡实串设严集敌蕴吕看佣屁驱蕉惕崖锹朱高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,64,字符串长度函数strlen(String Length),格 式:strlen(字符数组)功 能:计算字符串长度返回值:返回字符串实际长度,不包括0在内,例 对于以下字符串,strlen(s)的值为:(1)char s10=A,0,B,C,0,D;(2)char s=tb0willn;(3)char s=x69082n;,答案:1 3 1,拄云咀兑巢酝奥赖吨蛊匈森衅波竖脐奴弥傈揖菠酌瞅嘎聚罚嫡帜宏曲浓噎高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,65,字符串输入输出函数:包含文件是 stdio.h 字符串处理函数:包含文件是 string.h,涩挣绎谐眺诫雀铲封亭我数但架旷晓恶晰站靡旋即共巍娃物筋惊满午谋许高级语言程序设计教学课件第6章 数组3高级语言程序设计教学课件第6章 数组3,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号