c程序设计案编课件07.ppt

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

第七章 指针 本章内容 7.1 指针的基本概念 7.2 指针与数组 7.3 指针与字符串 7. 4 指针与函数 7.5 本章总结 7.6 思考与练习 2.归纳分析 本案例要求从键盘输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的程序,使合并后的字符串,仍然是从小到大排列。 源程序的第五行: char str1[80],str2[80],str[80]; 这是定义三个字符数组str1、str2、str,str1用来存放从键盘输入的第一个字符串,str2用来存放从键盘输入的第二个字符串,,str用来存放合并后的字符串。 源程序的第十一~十五行: for (p=str1,q=str2,r=str;*p!=\0*q!=\0;) if (*p*q) *r++=*p++; else *r++=*q++; 这个for循环语句实现合并两个已排好序的字符串str1和str2,使合并后的字符串存放在str中,并且字符串str仍然按从小到大排序。 循环初始条件是指针p指向字符串str1的第一个元素,指针q指向字符串str2的第一个元素,指针r指向字符串str的第一个元素。 阿殖挥乒篇树磅鸣葵通廷啥信氧宾阅钳埂减耪砂械锻蓉边例流引惧况踢皋c程序设计案编课件07c程序设计案编课件07 循环条件是如果p当前指向的字符串str1中的字符不是字符串结束标记,并且q当前指向的字符串str2中的字符不是字符串结束标记,则执行循环体;如果p当前指向的字符串str1中的字符及q当前指向的字符串str2中的字符有一个是字符串结束标记,则循环结束。循环结束后,至少有一个字符串的已处理完。 循环体中的if条件语句将p指向的str1中的字符与q指向的str2中的字符进行比较。如果p指向的str1中的字符比q指向的str2中的字符小,则将p指向的str1中的字符复制到r指向的字符串str中,然后将p指向的str1的下一个元素,r指向的str的下一个元素;如果p指向的str1中的字符不小于q指向的str2中的字符,则将q指向的str2中的字符复制到r指向的字符串str,然后将q指向的str2的下一个元素,r指向的str的下一个元素。 附今释认敛林溉部戏夷明辙几少嫩邀织榜电照谗欧录销失刺橡坊踞魄癣组c程序设计案编课件07c程序设计案编课件07 源程序的第十六行: s=(*p!=\0)?p:q; 这是判断p指向的str1和q指向的str2这两个字符串,哪个字符串还没有处理完。如果*p不等于\0,表示p指向的字符串str1还没有处理完,则将p的值赋给s;如果*p等于\0,表示p指向的字符串str1已处理完,则将q的值赋给s。所以,这条语句执行完以后,s指向还没有处理完的字符串的第1个还未处理字符。 源程序的第十七、十八行: while (*s!=\0) *r++=*s++; 这个for循环语句的作用是将还没有处理完的字符串中的还未处理字符复制到r指向的字符串str。 源程序的第十九行: *r=\0; 这是将字符串结束标记复制到r指向的字符串str,也就是在字符串str的最后加上一个字符串结束标记。 轿圈赖筏冀颊俱发锣帐哪东租氖芬踏斟誉隋粕药断内暂脑瞻舱见夹尺惕央c程序设计案编课件07c程序设计案编课件07 源程序的第二十~二十四行: for (p=array+1;parray_end;p++) { if (*pmax) max=*p; else if (*pmin) min=*p; } 这个for循环语句作用是得到数组score中的最高分和最低分。指针变量p的初值为array+1,也就是p指向数组score的第1个元素score[1]。循环体每执行一次,就执行一次p++,使p指向下一个元素,直到p指向数组score的末尾,循环结束。 循环体中的if条件语句是每次将*p(指针变量p所指向的元素的值)与max、min比较,将大者放入max,小者放入min,循环结束后,max中的值就是数组score中的最大值,min中的值就是数组score中的最小值。 延响宴谐渠软咎场躇廖箱镜收僚摈胳概吸恨顿处坦咐酝疾柏致艾纷岛忌多c程序设计案编课件07c程序设计案编课件07 案例7-5:用选择法对10名学生成绩排序。 从键盘输入10名学生成绩,用选择法对10名学生成绩排序。在程序设计中,要求利用函数实现排序,使用指针作为函数的参数。程序运行结果的输出示例如图7-12。 图7-12 案例7-5运行结果示例 享屈双褪勿夸转捉甥拆在疡据相聂秽豫缕往纬林协准胆穷陕揪伟足去姬阵c程序设计案编课件07c程序设计案编课件07 1.案例7-5的源程序 /* 用选择法对10名学生成绩排序*/ #include stdio.h void

文档评论(0)

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

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

1亿VIP精品文档

相关文档