计算机二级-C语言 - 第四章:考前冲刺
分享给朋友:

按住画面移动小窗

下载
C语言-星号题(上)-计算机二级程序设计题考前冲刺
虎课APP支持视频下载
扫码下载/打开虎课APP
支持视频下载,随时随地学
手机观看
扫一扫,手机继续学
扫码下载/打开虎课APP
支持视频下载,随时随地学
C语言-星号题(上)-计算机二级程序设计题考前冲刺_虎课网
记笔记

全新AI视频总结上线

一键节省你80%学习时间

视频暂不支持AI视频总结
AI视频总结
编辑完成后,记得点我~

358

已学

62小时

时长

150

配套素材

完课证书

¥199(¥299)

全站通VIP免费畅学

立即购买
学员评价 (0条评论)视频字幕
您需要学习后才可以评价, 立即学习
评论列表
仅显示有内容的评论
仅显示带图评论
排序方式:

好的 ,接下来我们来学习我们这一类 ,叫做我们的*号题 ,那么*号题这种题目考的时候 ,考的概率挺高的 ,*号题 ,那么这个*号题目里面我们有这样的一些 ,例如删除*号 ,例如添加*号 ,这两大种 ,删除*号 添加*号 ,那么删除*号里面 我们要求删除前面的*号 ,删除后面的*号 ,删除中间的*号 ,删除所有*号 ,那么这个都是可以的 ,那么添加的话 我们在前面本来有三个 ,要保证变成为七个 ,在我们后面本来有这个三个要保证变成为七个 ,那么这都是我们添加 ,那么具体的话 就刚刚所讲的这么五大种情况 ,我们首先来看第一种情况 ,叫做删除字符串中所有的*号 ,那么关于这个删除 ,我要给大家说的问题就是我们在字符串里面 ,删除*号并不见得一定要把它删掉 ,那么有的时候 我们仅仅是把它不显示就可以了 ,什么意思 ,我们这里有一个* *12 * ,那么我们有两种方法来做 ,第一种方法把这个12 ,单独存储到我们这个新的数组里面去 ,然后再利用我们刚刚所用过的一个函数 ,strcpy这个函数把它覆盖下就可以了 ,这第一种 ,第2种的话就是利用我们这个地方 ,把1移到前面来 ,把2移到前面来 ,然后后面加一个结束标志 ,那么这也是一种方法 ,那么第一种方法是把它复制出来 ,第2种方法是把它移动 ,那么考试的时候 ,我建议大家是统一用这一个复制出来 ,这个指针的移动 很多同学移动多了 ,就搞不懂了 ,那么现在我们来看一看这个题 ,这个题目要求是删除所有这个*号 非常简单 ,那么这个题是我们第一个题 ,我用两种方法给大家说一说 ,

现在用第一种方法把它单独移出来 ,那么怎么移 ,我们来看 ,当前我们指针a里面 接收的是我们字符串 ,接收好字符串 好了以后 ,我们再定义一个数组 来接收它这个新的 ,那例如我们s中括号81 a81 ,定义这么一个数组 ,这个数组怎么用 ,接下来我要把这个满足条件的字符放这里面去 ,那么非常简单 ,我们来一个while语句循环 我们的*a ,判断下我们*a是不是我们结束标志了 ,那么如果不是结束标志 ,我们来一个if语句 ,判断一下我们的*a ,它是不是不等于我们的*号 ,要判断它不等于我们*号 ,那么如果它不等于我们*号 ,怎么办 ,我们就把这个存到我们的a数组里面去 ,那么所以我们前面再定义一个变量 ,int语句 ,我们i等于我们0 ,然后它不等于*号 ,我们就来一个a中括号i++ ,然后等于我们的*a ,那么*a这个地方 ,我们直接来一个++就可以了 ,那么这个程序我们就编到这个地方 剩最后一步 ,a中括号i 那么等于我们的0 就编好了 ,就这么简单 ,那么怎么来的 ,我们来看一看 ,首先我们定义了一个a数组 ,它的功能是用来一会要存储我们新的这个字符串的 ,然后我们定义一个变量 ,i做我们数组的下标的 ,接下来我们判断一下当前我们a指针 ,指向哪个位置 ,是不是我们结束标志 ,那么这个通过它来接收的是我们s的地址 ,那么这个地方 我们的指针应该它位于我们的头部 ,位于我们第一个字符 ,那么判断一下它是不是我们*号 ,如果不是我们*号 ,我们操作 ,是我们*号 我们什么也不做 ,什么也不做 ,那么这个程序的话 还有问题 ,这个地方还有问题 ,这里我们改一下 ,把这个++删掉 ,放到后面这地方来 ,我们a++ ,

然后把前面这个地方大括号括起来 ,那有同学可能看不懂 ,为什么把它改一下 ,那么是这样的 ,当它不等于*号的时候 ,我们要移动一位 ,等于*号的时候 我们是不是也得移动一位 ,大家想过这个问题没有 ,刚刚我把它写到这个后面去 ,那么当它等于*号的时候 ,我们是不是这个指针没有动 ,那么现在我把这个地方写到后面来 ,那不管你前面成不成立 ,我都得运行这个a++ ,对不对 ,那么所以它等于*号的时候 我要移动一位 ,不等于*号的时候 ,我要移动一位 ,那有同学说 ,那我能不能把这个++写到前面这个地方来 ,那么这地方不可以 ,这里虽然你判断的是我们这个*a ,当你判断完了以后 ,指针是否往后面移位了 ,你的指针是否往后面移动一位 ,移动一位的话 我判断是什么 ,第二个字符了 ,不是第一个字符 ,那么这个答案才是正确的 ,这里我们给它最后一个 加结束标志就可以了 ,a的话 a重名了 ,这个地方我们a和a重名了 ,我们改一下 ,我们改成这个b ,那么这是我们b ,把这个地方重名了改一下 ,那么改好了以后 我们还有一个问题 ,什么问题 我们要返回到我们主函数里面去 ,那么这里我们返回不过去了 ,是不是这么一个问题 ,我们看这个地方 ,我们是不是返回到我们主函数里面去 ,返回不了了 ,当前我这个方法 ,我们的b数组里面的数据 ,它不能够自动的返回到我们的主函数里面来 ,是不可以 看清这地方来 ,那么这里如果要这样编的话 ,我们接下来还要做什么事情 ,还要通过一个循环语句 ,通过一个循环语句 ,把我们每一个字符都存到我们a数组里面来 ,那么这个方法 ,我们还需要把每一个字符存到我们a数组里面来 ,什么意思 ,我们这里来一个分号 ,我们i的话 ,这个大于等于0 ,然后i-- ,然后我们这个b中括号i ,那么赋值给我们这个 ,

这里那么还不行 ,我们还要定义一个变量 ,这有点麻烦了 ,我们定义一个k变量 ,那么k k的话应该这个小于等于 ,小于我们这个i ,然后我们k++ ,接下来再把我们这个k里面 ,这个b里面的字符bk ,赋值给我们的a中括号我们的k ,把它这样赋值才能够返回过去了 ,那么很明显这个地方 ,我们这个方法不是很好 ,对吧 ,我们这个方法不是很好了 ,那么这个程序还不行 ,再把它删掉 ,那么怎样解决这个问题 ,怎样解决我们这个问题 ,我们可以再来一个指针 ,也就说我们这个a和我们后面的这个指针的话 ,那么全部指向我们这一个主函数里面s ,听好 ,这里面我们这里不用一个数组 再用一个指针 ,那一个指针的话 指向它 ,来个p指针 ,p也指向它 s指向它 那么p的值改变 ,那么是不是就是我们s的值的改变 ,是不是就可以了 ,那么所以我们现在再来写一个 ,我们char我们的*p ,那么等于我们的a ,那么从现在开始 ,我们的p指针和我们的a指针 ,都同时指向我们的s数组 ,那么所以这里面我们p指针的改变 ,a指针的改变 ,那么全部是我们s数组的值的改变 ,这要看清楚 ,我们a先指向我们s 我们的p 指向我们的a了 ,那么从现在开始 ,我们p的改变 a的改变 ,那么都是我们s的改变 ,那么所以就不要考虑它返回的问题 ,通过这地方这样来做好一些 ,那么所以我们现在来判断一下 ,我们的while语句 我们的*p ,是不是我们结束标志 ,那么如果它不是我们结束标志怎么办 ,我们就把它来判断一下 ,如果我们的*p 它不等于我们的*号 ,

这里面的算法是一样的 ,那么我们的这个*p ,它不等于我们结束标志 不等于我们*号 ,不等于*号的话 ,我就把它存起来 ,我们s i++ ,等于我们的*p ,然后我们这个前面来定义一个我们的i变量 ,咱们看这个地方是不是很好 ,你现在所改变的这个值都存在a里面 ,a的话 ,那么指向我们的s 所以的话不需要返回 ,那完了以后 我们还同样的方法 ,把p的话 走一位p++ ,对吧 ,然后我们这里来个大括号 ,不管等不等于*号 ,我们都得给它加一个移动一位 ,那么最后我们同样的原理 ,把这个a i的话 加上结束标志 ,这就好了 ,那么这个程序编写的时候 ,其实跟我们刚刚讲的是一样的 ,那么现在我们改一个地方 改哪里呢 ,刚刚我们是产生了一个新的数组 ,那么新的这个数组 ,它的数据是无法返回到我们这个里面来的 ,无法返回过去 ,那么如果一定要返回的话 ,我们其实还有一个办法 ,就是我们的str我们cpy ,把刚刚我们这个b数组存到a里面来 ,把刚刚的b存到a里面去 ,这样的话 也可以 ,但是我们这个方法是最好的 最简单 ,那么这里面我们看*p等于a ,p的话指向我们的a a的话指向我们的s ,那么所以这里面不管我们p的值的改变 ,还是a的值的改变 ,它改变都是我们s的值 ,然后我们判断一下*p ,*p当指向我们开始位置 ,是不是我们结束标志 不是我们结束标志 ,判断一下它是不是我们*号 ,那不是我们*号的话 ,我们就把这个*p ,就存到我们这个a数组里面来 ,那么a数组 这里用的是我们这个指针 ,那么它的话其实就是它 ,然后p++ ,然后的话 这就完了 ,这是我们这个题 大家好好想想 ,那么用这种指针的这个移动 ,效果更好一些 ,这是我们这个题 ,把我们所有的*号全部删除 ,

那么除了这个方法以外 ,我们再给大家讲一个方法 ,那么什么方法 ,我们再来看 ,刚刚我们讲的是把我们内容复制出来 ,把这个内容复制出来 ,接下来我们讲的方法是直接覆盖 ,直接覆盖掉 ,什么意思 ,举个例子 ,我们*号 ,我们1*ab 然后c* 这样的问题 ,我们是不是可以拿这个1来覆盖我们这个*号 ,拿这个a来覆盖我们这个1 ,拿这个b来覆盖我们这个* ,那么最终我们是不是成了一个1ab ,加一个结束标志就可以了 ,加上我们结束标志就可以了 ,那么怎么做 ,我们写一写 ,我们a数组 ,然后我们for语句循环 ,然后我们int语句i ,那么等于我们0 ,然后这里面由于我们s 它是81个 ,那么这地方我们干脆给它来一个 ,a等于strlen把它这个a的这个长度给它测出来 ,那么这个地方我们s等于它 ,不能够测 ,我们这个strlen函数 ,那么来源于我们这一个头文件 ,那么现在我们这地方把这个长度给它测出来 ,把a的字符串的长度 它多长 ,我把它测出来 ,测出来好了以后 ,我们这个地方来一个i等于0 ,那么i的话要小于我们的s i++ ,那么这里将 我们做什么事情 ,把一个字符 一个字符地读出来 ,读出来的过程中 ,我们再来 我们的a 那么a数组 a数组的话 ,我们等于 ,那么这个再来一个变量k ,我们这里假设 来一个我们的k等于0 ,那么ak++ 那么等于我们这个a中括号 我们i ,然后分号 k等于0 ,ai的话 等于它 ,那么如果什么情况上面会赋值给它 ,那么如果我们这个括号我们的a中括号i ,它不等于我们的*号 ,我们进行这么一个复制 ,

最后完了以后 ,我们ak 那么等于我们的0 ,我们看这个方法可不可以 ,我们来看 ,假设我们字符串是abc ,然后*号 我们的d 我们这个前面加个*号 ,它的长度是那么6 s等于6 ,我们这里的话 i的值从0开始 ,到我们这个小于6 ,然后取a0 ,那么这里不是0 ,应该是什么*号 ,改一下 这个地方不等于*号 ,它不等于*号 ,我们就拿这个a0 ,那么现在这个a不等于*号 ,拿这个a0 ,那么赋值给我们的a0 ,k++ k也是0 赋值给a0 ,那么所以a的话 没有动 ,没动好了以后 ,我们再接下来 ,那么回上去运行i++ 然后就变成2 ,变成1 ,1的话小于6 ,

登录后查看更多
电脑办公入门
共 140 节课
职场英语学习
共 101 节课
英语口语入门
共 105 节课
计算机二级-C语言
共 151 节课
职场PPT学习
共 112 节课
已是第一张图了
已是最后一张图了
记笔记

导出笔记

笔记导出历史

00:00

0/12
确定保存
笔记导出历史导出完成的笔记将保留1天,如有需求请及时下载
课程名称
导出时间
文件大小
状态
操作
AI视频总结
AI正在分析视频,请稍等…
AI总结遇到了一些问题 点击重新获取
点击重新获取
成为全站通VIP 查看完整AI总结
复制

职业路径建议意见

请选择你对职业路径课程的满意程度

请选择你对职业路径课程的满意程度

请填写关于职业路径的建议意见:

同学,小虎知道你非常努力的想学习!

老师录制课程真的也很辛苦

赞助一下吧

确定学习吗?

您每天可免费学习一个教程。

成为VIP可无限学习 !

成为VIP吧!

成为VIP吧!

您已经免费学习 1 个教程 !

我们录制教程很努力的,赞助下吧 !

升级VIP吧!

您已经学习 5 个教程啦!

我们录制教程很努力的,赞助升级下吧 !

您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个素材文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计观看5个图文教程


您在当前分类下不是VIP,赞助VIP享受无限观看


学习后才能评价哦!

获得30虎课币

评论提交成功,将在审核通过后显示

×

下载素材/源文件:

收藏成功
取消成功
特惠
充值
7折购
今日还在继续学习的你,太棒了!
7
折扣券可用于
年费无限VIP
立 即
使 用
此活动优惠不可与其他活动叠加使用
有效期:000000
消息
登录即可查看消息记录
建议
意见
官方
客服
在线咨询客服热线

您可以与在线客服进行沟通获得帮助

工作日:9:00~22:00节假日:9:00~18:00

联系在线客服

您可以电话联系客服进行沟通获得帮助

工作日:9:30~18:30

400-862-9191
虎课
积分
免费学习90000+个教程!
配套素材、源文件一键下载!
昨日学员已学习了36,309
并提交了230份作业!
登录后立即学习!
loading
微信扫码关注即可登录
您需要同意协议才可以进行登录
登录虎课网,每天免费学课程全站 90000+ 视频会员教程 | 每日可免费学 1
为确保账户信息安全
请先进行真实姓名验证后进行充值付款
立即验证