00:00
同学们,我们继续来看全国计算机等级考试二级C语言真题的第四套操作题,我们仍然是讲的操作题第四套,那首先呢,我们把第四套这个题先打开看一下,它的题是什么,好,我们来先看一下。来看一下。双击打开我们看一下。打开这个题以后呢,我们首先看第一道题程序填空题,程序填空题呢,同学们有发现哈,这道题它是不是跟我们前面讲的一道题非常的相似啊。原先这道题我们先阅读一下。下列给定程序中,函数放。的功能是根据输入的三个边长。判断能否构成一个三角形,如果能构成等边三角形,返回三,若是等腰三角形呢?则返回一个二。若能构成三角形返回一个一,若不能返回一个零,诶,这道题跟我们前面讲的那一个什么题很相似啊,改错题很相似。
01:09
所以说在我们进行这一个不同不同的这个时间的考试呢,它可能有些题是重复的,只是形式上发生变化,因此如果我们做的题越多,那么我们通过这个二级考试的概率就会越高,对不对?这跟高考一样,你2017年高考过的题在2012019年是有可能出现的,只是形式上呢发生一些变化而已,那我们来看一下这个题吧,这个题对于我们来说应该很easy了,那老师呢,就不再多说,把这个题拿过来,一边讲呢,咱一边分析好吧。老规矩在这边呢,我们新建一个文件夹。然后在这边我们写个什么东西呢?HM04。这是我们第四套升级体,我们新建一个文件。
02:01
这个文件的名字,Exam。零四杠零一。对零四杠零一。跟上老师思路哈,然后我把这个原题先拿过来。然后呢,我再做一些这个注销这道题的题意在前面咱们已经。阅读过了,那这里我就不再多说,那首先我们来一边讲一边分析,还是分析一下。首先我们看第一个空格,同学们看第一个空格呢,它是放这个函数的前边,显然一这个空格应该填的是一个返回的数据类型。那这个返回的数据类型,根据return语句,你可以判断它就应该返回一个int,所以说空格一的分析是空格一。他应该是什么呢?他是。是一个函数的返回,返回数据类型。
03:01
数据类型根据什么呢?根据半函数。范函数,我们发现我们我们发现它return的都是整数的都是整数。因此,因此这个第一个空格应该填一个什么呢?因此填写填入一个int就可以了,也就是说第一个空格应该填一个int。改过来。没问题了哈,第一个空格就是空格,嗯,第一个空格就是int,第二个我们来看一下,诶同学们有没有发现第二一个。它是if语句,从这里开始到整,这里面是一个整体。其实我们发现这个if语句,它其实是在做一件什么事情呢?是在。是在判断这一个边,就是你给的三个边是否能够构成一个三角形,然后再去判断到底是等边的呢,等腰的呢,还是普通的对不对,所以说我们在这里可以分析出来第二个空格二。
04:09
空格二是一个什么呢?是一个判断,它判断什么呢?它判断给定的给给定。的三边,三边是否可以构成一个什么呀三角形。看到没有,那当然这个就比较简单了,那这里面就应该根据前面讲的构成一个三角形的。它的一个前提是任意两边的和都需要大于第三边。还记得那么条这个判断条件是什么呢?就是任意。任意两边的和要大于第三边。第三遍。第三。变好。
05:00
基于这样一个,那这面就应该怎么填了,同学们应该很轻松的完成吧,那这里面就应该这样写了,来跟上老师思路,就是A加B大于C。并且缩压是且的关系,A加,这样咱们打一个空格,这样好看一点哈。好的,那就是A加B大是,那A加C还要大于B,是不是因为你A和B组合了嘛,那再让A和C组合一下,还有一个组合是B加C啊对,再来一个且的关系,注意是。逻辑与哈,然后B加C还要大于A。这样呢,我们三边都进行了一个判断。在这种条件满足的情况下就可以了,OK,那这面说第三个空,第二个空格呢,应该填写的是这个内容。啊,应当因此。因此填写这个条件来看第三个空格,同学们第三个空格呢?
06:02
同学们看,这地方是一个if语句。那根据人家这说了若不能则返回一个零,是不是这说了一个弱不能弱,就是如果不行的话呢,返回一个零,显然这个地方应该是跟if这个语句,这个分支语句配合的一个else语句,是不是?所以说我们的空格三就来了,空格三是什么呢?是if。配对的。配对的这个L没问题吧,因此这个地方就应该写上S,最后这个答案就是应该填写,因此填写什么呢?OK,填写else即可,代码就写完了。代码写完以后呢,我们来进行一个简单的使用,如果我们打开的源码,它的格式就是这个样子的,你不要去动它,如果你这个在考试的时候,它打开的源码是换行的呢,你也不要去动它,明白吧,就说这个地方你只要能看懂就可以了,那现在呢,我们为了好看来get一下。
07:10
这样我们才能验证我们代码是否OK,同学们,首先我们就直接运行呢来运行,我们看一下现在写的这个条件是否是OK的,我输一个一再输一个一再输一个一,同学们这个输入的形式你要看这是看F是怎么写的。它这个地方是用空格间隔,那你这个地方给的三条边呢,也有也要用空格来间隔,能理解回车达到了是不是一个等边三角形呢?我们再来测一个等腰三角形。二。二。然后任意两边都要大于第三边,那就这样子吧。是不是223啊,任意两边都大于第三边,好,这是一个等腰三角形也是没问题的,好,其他我就不再测试了,那么这个题的分析和它的一个解答呢?就到此,我把这段代码给大家截取到我们的试卷中。
08:08
来插入一个表,插入一个表格,写上号,这边是分析和解答。分析和解答。没有问题,那下边呢,我们继续来看一个改错题,来看一下,还是老规矩,我们一边讲呢,就把这个题就一边进行一个处理了,来同学们,我先把这个注销一把。写另外一个文件哈,跟上我的思路,那现在呢,我们应该是EXAM0402,能看到吗?朋友们。同样将其后缀改一下。把这放下来,首先我们阅读这道题。这道题是一个什么样的题呢?他说,在给定的一个程序中,mo.c文件。函数放的功能是求两个数的平方根的和,注意平方根是这个哦的和作为函数的返回值,比如输入12和20,那么返回值就应该是这个值。请改正程序中的错误,使他结果正确。注意不要改动命函数,也就是说main函数是不能动的,那也就是说你要以main函数不动的情况下来修改。
09:25
其他的错误,那你看我们这一放过呢,其实错误的位置就已经告诉我们了,因此改错题说实话相对来讲还是比较简单的,为什么呢?因为你把代码往这一放。他错误就马上给你提示了,所以改错题实际上是比较容易的,来吧。我们来看第一个,首先我们看这里,它在它在调这个放函数的时候呢,它是传的是两个地址,看到没有,因此我们知道那放的两个行参就应该是两个指针,所以说这个地方我们分析出来了,分析。
10:00
一因为。因为在main函数中。调用,调用这一个棒函数时。时传递的是Dollar地址A和地址B。对,因此因此他的行参放的行参。行参。就是指针形式的没问题吧,指针类型。指针类型,那你这个自然是指针类型,那你显然这少写个double呀,所以这就应该写double。好,所以说第一个改错我们就分析出来了,因此第一个错误,第一个错误就是要把刚才的这个。我把这个洗过来哈。就是把原先写成这个样子的改成。改什么二呢?改成这个样子的能理解,我们再看这里面,同学们看12行,这面有Q的A和B,它为什么报错了呢?把鼠标放在这里,他说没有与参数列表匹配的square这个实例,那也就说人家这个地方应该传一个什么进去呢?Squared应该传一个具体的值进去,但是你传的是一个什么呀?传的是个地址,显然不对。
11:23
因此我们第二个错误又找到了,来分析第二个。因为因为慢了就是SQ。RT这个函数接收,接收的是一个具体的数值。数,而我们填入的,而我们传入的是什么呢?是一个指针,显然不对,不对。不对,因此应该怎么改呢?就应该给它来一个取值符。这样就可以了,因为你这样用一个星号A和星号B才取得了A这个指针所指向的值,即你传入的这个A和B的值,能理解了吗?好,因此应该怎么改呢?修改为修改如下,就是把原先。
12:13
注意把原先我们这个地方的这句话好,我先把它改成错的,把这个。改成嘛呢,诶改成这样一个东西就行了。要要用取值符号,好,现在这个代码就写完了,同学们,我们来玩一把呗,Get还是老规矩啊,Get唱,Get唱。注意这个get下呢,如果我们的源代码在考试的时候没有给你,测试完了过后再把它删掉就可以了,记住哈。测试完了你把它删掉,不然的话要出问题了,我再说一遍啊,如果你的源代码里面没有getr,你测试完了过后你把它删掉明白了吗。好的,同学们,我们来玩一把。起来。
13:00
我们就让我们就用他给出的这个案例来进行测试,他说他给出的是12和20,然后呢,返回这么一个值可以咱们就输12空格,为什么是空格呢?因为它在接收的时候,是不是用空格的形式来这个间隔的呀,20回车我们可以看到返回的是7.936238 7.936238完全的正确。完全正确,好这个题我们就到位了,好最后把这个删掉就行了。好,各位同学,那这个题我们又把它板书到咱们的程序这一段内,好,那这边呢,我们仍然是插入一个表格,我们就分析和解答。分析和解答没问题吧,同学们,好的,同学们,那么我们这个填空题和修改题呢,这两题就讲完了。对,大家看看有什么问题没有,好,那这两个题我们就说到这儿哈,这段视频。
我来说两句