00:00
我们再来看第二题,各位朋友,第二题呢,我们还是老规矩,把这道题先拿过来,我们一边分析呢,一边写代码好不好?先把它关闭一下。注销,注销完了过后。这个没有注销照。注销。然后我们再来。同学们,我们再写一个文件吧。取一个文件名EXAM18杠零二后缀,将其修改,把后缀修改一把。把我们的这道题呢拿过来,我们仍然是先阅读这道题好不好,难度并不大。先阅读这道题。这道题呢是这样说的,Mo by c中,函数方程功能式把M各字符串连接起来,组成一个新串,也就是说这道题它是让你输入M个字符串。然后呢,组成一个芯串,放回到P,放入到PP,应该是个指针,看到没有。
01:03
也就放到PPT指向的这一个数组中,例如有三个串ABCCDEF连起来,功能就变成这个串串了,说请改正函数放纵的语法错误,这已经说出来了,改的只是语法错误,只要是改语法错误,基本上是特别简单的。我以前是不是讲过这个事儿,我们最怕改的是什么错误呢?逻辑错误,逻辑错误比语法错误可怕十倍甚至更多,语法错误基本上你拿过来就就是一分钟两分钟事儿就完事了。他说改正语法错误,使它能统计出正确的结果,好的,那这道题基本上就是小儿科了。分析第一点,我们的题。题已经说明。已经。已经说明,说明什么呢?就是函数放式语法错误。函数放式语法,因此,因此,因此。
02:04
我们不需要,不需要阅读源码。直接修改就行了啊,根据根据C语言的语法规则规则进行修改即可。然后再测试,你修改完了后测试一下,看结果是否正确,看结果是否正确。同学们,那现在老师不说了,看第一个说能改出来吗?这稍微知道一点常识的问题,只要学过C语言的同学都知道。这个I不能大写吧,所以说第一个错误就已经找到了,是。第一个错误,Int。改成int完事。第一个就改完了,再看第二个错误,你看这他就告诉你了,那语法错误这有什么可说的吗?第下一个错误二,大家看一下吧。三二维数组能这样用吗?两个下边一个K一个节,你能这样用啊不是,那肯定是大错特错了嘛,因此这个应该改成嘛呢,应该改成这样一个东西对不对。
03:09
完事了,就这样子,KJ改成Z,改成KG就行了。呃,没有难度吧,那我把它改一下。改完了过后,我们现在语法就没错了,没有语法错误呢,我们来测一下。两个改。14号。同学们,我们运行。运行的时候呢,我们就用他给的这个案例来测试好,我们先输一个三表示,待会呢我输输入的是三个字符串ABC。回车CD。回车E回车连接起来过后就是ABCCDEF完全正确,那如果说我们如果想再测试一下呢,我们可以再输让让我们输入四个字符串,我们来连一下也可以。
04:00
比如说这次呢,我出一个四。这次呢,我们要输四个字,方有hello。Jacky。汤姆,还有Mary,看没有鬼车,你看连起来,Hello Jackie,汤姆,Mary,完全OK。那关于这道题的评讲老师就说到这里,能理解吗?这道题基基本上此题就是我们的。这道程序改错题基本上是送分的题。好,我把它放到我们的笔记中。这是送分题。放这就可以了。分析和图解。分析和解答。同学们,关于程序修改题我们就说完了。下面我们来继续讲解程序设计题。程序设计题呢,我们还是要按照以前的规则把它拿过来用一下,好吧,跟上老师思路啊,难度并不大。
05:00
然后呢,我们新建一个文件吧。这是我们的第三一个题是程序,什么题呢?程序设计题,如果是程序设计题,就需要我们写代码了。就需要我们写代码,我把代码先放过来。同学们,我们来看一下这道题的要求是什么?好吧,这道题的要求是什么?他说呢,请编写一个函数棒,它的功能是比较两个字串的长度,注意不得调用C语言提供的求字符串长度的函数,也就是说两个字符串的长度呢?你不能用系统函数来玩。即不能用我们string。H。该头文件的函数不能用,相当于说我们要自己去写一个统计字符串长度的一个算法,或者说一段代码。函数他说呢,函数返回较短的字符串,若两个字符串长度相等,则返回第一个字符串,就相等的情况下呢,就返回第一个,比如说它属于一个南京,然后呢还有一个南昌。
06:12
哪一个更长一点呢?函数将返回南京,因为这两个相等吗?诶,不是相等啊。呃,这个要短一点,南京要短一个,南成要呃多一个,那我问大家,假设我这加了个K怎么办呢?也返回前面这一个,因为他说了,如果是相等的情况下,也返回第一个次算明白。下面的要求很简单,就是呢。不允许改变主函数main和其他函数内容,仅在B的画框中填入编写的代码来开始写了。我们来做一个简单的分析。分析。首先我们看一下哈,我们的思路应该怎么来完成呢?我们的思路应该是这样子的,第一步,第一步是不是要统计到两个,他现在两个字符串肯肯定是分别传给了S和T吗?也就说我我们需要先统计到S和Y所指向的字符串的长度,这个能理解吗?就是说你首先得把这两个。
07:16
字符串的长度拿到,拿到过后呢,你再做比较就完事了,因此我们第一个是先统计。S和T指向的字符串的是不是长度,第一步就完事了,第二步第二步比较。呃,比较S和T。和。和这个T。那比较的时候呢,我们应该怎么比较呢?就是可以这样比较,对呃,长比较SS和T它们长度。长度。然后按要求,然后按照要求要求返回对应的这个指针就可以了。
08:02
啊,指针为为,为什么是指返回对应的指针即可,为什么是返回一个指针呢?同学们看,因为他在这传的时候是一个指针,我我们这些S和T呢,其实它真正的数据是在这个命函数,而且它返回的也是恰新,因此在这个过程中,我们不需要去创建新的所谓的字符数组,直接用S和T来操作我们主方主函数里面的A和B,这点要分析出来。注意哈,在我们的。在哪里呢?同学们听,在放函数中在放。函数中,对,我们不需要,我们不需要创建临时变量,临时的这个字符数组。啊,只需要,只需只需通过。通过指针就是通过这个SS和和T操作什么呢去操作。
09:02
A去操作main函数。的什么呢?AB数组。完事了,那下面呢,老师就开始写代码了。首先。我们先定一些这个临时的这个I节肯定是要定的,因为我要便利嘛,所以I节开始走了,I等于零,然后呢,S只要SI对它呢,不等于斜杠零。是不是只要他没有到我们这个字符上的,最后我们就什么呢,I加加。大家讲,然后这个空语句,同学们,这个for循环结束以后,I就是我们S。这个指向的指向字符串的程度能理解不?那下面是不是粘贴复制一份就可以了。再来统计一个结。没有问题吧,同学们解,因为它不让我们用系统函数,那我们只能通过呃判断它是不是到了呃结束标识,就能知道它到底有多少个吗?
10:06
结加加吗?这边结是哪一个呢?OK,这边要改一下,改成T了。改成T没问题吧,同学们改成T,同样截就是T指向的字符串的长度能理解,现在呢,做比较,做比较,如果说I小于等于几,各位同学请问。请问此时此刻,呃,哪一个应应应该把把把这个I。就小于等于,是不是就把第一个小于等,小于的情况下就把这个呃,就就把S返回,因为I呢是对应S的,如果等于的话,是不是也返回第一个字算,因此这个地方一句话就可以搞定了S。那钥匙呢?那当然不用多说了,T。能理解啊,这这句话就是我们刚才所说的对。哪一句话的体现呢?就这。
11:01
对这句话的体现。好的。就下面这个if语句,Ifl是个语句完成的功能,就是这个功能。就是说函数返回较短的字符串,若两个字符串相等,则返回第一个字符串是不是?所以说这个地方呢,我们有个等号,这个等号不能丢号,如果你把这个丢掉了,那就意味着相等的情况下返回的是第二个字符串,这就错了,这个等号不能丢代码写完,代码写完过了朋友们,我们可以进行一个简单测试了。朋友们,我们进行一个简单测试哈。那么玩一把呗,啊,这给两个开唱没问题吧?能,能理解不?现在老师来进行一个简单测试运行值。运行功能,我们在测试的时候,我们就按照他给的。测试案例来进行测试。第一个是南京。没有问题,第一个支出我们就输入南京。那紧接着他说第二个叫南昌。
12:01
没问题,我们就输一个南昌。粘贴回车。现在呢,他返回的是南京证券,我们再来,同学们,我们再来试一个相等的情况好不好?我们再来一个吧。这次呢,我们就自己输几输一个,比如说我输一个汤,嗯,Jack。Jackie,再说一个人的名字叫Mary,这两个人的程度其实是一样的。根据我们的要求,应该返回第几个呢?朋友们应该返回第一个JJ没有问题吧,我们再来再来试一个第二个短一点的,因为前面我们都试的第一个比较短嘛。我们再试第二个比较短一点,这次呢,我们说一个史密斯。史密斯,这是一个king king是第二个字母,但是呢,它是小于史密斯,应该返回什么呢?应该返回king,答案正确。经过这几个案例的测试呢,我们发现都是正确的,好,最后不要忘了把你添加多余的给它拿掉好不好,就是你在测试的时候,测试完了过,嗯,一一定要把你多余的代码把它去掉,你不去掉的话,人家以为你多加东西了。
13:09
对不对,所以说这个去掉,包括我们前面这两这两句话也要去掉。包括我们刚才的这这个地方的概率也要去掉,明白这个意思吧,就说你在做做题的时候呢,一定要小小心留意这些这些细节。同学们,关于第三道题的分析和解答呢,我们也放在这里,就是分析。和解答。没有任何问题,放这儿。同学们,我们。第18道题就给大给大家评价到这里,我把第18道题呢,仍然是整理到我们的笔记中,便于同学们今后的一个复习方向。全国计算机等级考试二级C语言第八套。很好。第18套不是第八套。第18道,我们一共讲了18道题,应该说这些题呢,够大家用了哈,要把这些题都能消化吸收,而且能够自己呃独立的完成,那考个二级可以说是轻轻松松吧,但如果你没有理解就麻烦了,就是你不能说,诶,好老师我听了,但是我一个没听懂,那不行。
14:17
就自己要理解了,深刻的理解自己,能够独立完成就没问题。我把第18道题的试卷跟大家板书到我们的笔记中去。放好就行,就是。对,就这题。把它的格式带过来。把它的格式带过来。嗯,同学们关于我们的第18道题的讲解就到这里,大家消化一下。
我来说两句