作为二级C语言复习的最后一篇文章,楠哥将在这篇文章中与大家共同分析“指针与结构体”部分的知识。指针一直都是C语言最具特色、最具灵活性也最具魅力的特点之一,也是NCRE二级C语言的重要考点。结构体作为实际程序设计中很有用的一种数据类型,近年来在NCRE的考试中也逐渐受到出题者的青睐。
首先我们来共同探讨一下指针部分的内容。翻开2010年9月的真题,你一定会被吓到,竟然有13到题目(11道选择,2道填空)考到了指针部分的内容,累计26分,几乎占到了C语言70分中的40%。当然,这次考试指针部分的题目是历年来最多的,但也足以说明指针在NCRE二级C语言备考当中的重要性。指针的第一个重点,也是最最重要之处就在于对指针、地址、指针指向的地址的值和指针的指针这四个概念的充分理解。什么叫做充分理解?就是你看到int a;int *a;int **a能够立刻想到他们定义了怎样的变量。所有的考试,我说的是所有,无一例外的都会考到这个点,有的甚至会考多至三道题目,所以一定要掌握好这个考点。指针部分的第二个重点在于指针和数组的相互转化。有的时候,考题会以字符数组的形式或者字符串的形式出现,有的时候会使用整形数组。考题往往在定义或者函数传参的过程中变换使用指针或者数组已达到提高考题的目的,但是,只要你多做几道这部分的题目,你会发现他一点都不难,你甚至会对绞尽脑汁出题考你的老师产生一丝怜悯。指针的第三个考点在于malloc函数的使用。这部分不是必考内容,但是考试形式固定,考题也多是十分简单的送分题,所以建议大家能够看一下这个函数的使用方法。2010年3月的考题中,就有一道这样的题,只要你知道这个函数,那2分的填空完全就是白送的。
再来看一下结构体的内容。小脸同学一定会问“不用复习共用体么?”不要急,楠哥正要说这个问题。结构体的第一个考点就是和共用体的区别,最爱考的题目就是给你一个共用体或者结构体,之后使用sizeof函数考你他的大小。你只要知道共用体共用一个存储空间,结构体每个元素都有自己的存储空间便可以轻易破解这个类型的题目。结构体和指针的结合型题目是另外一个考点。题目往往会问你一个指针指向结构体,那么他是指向哪一个元素;或者使用链表的产生方式考察你对结构体和指针的应用。如果你还不知道链表是什么,请参看楠哥先前的文章《懂得放弃——NCRE二级公共基础知识26分冲刺之路(上)》。
总之,指针和结构体部分的内容在NCRE中有重点少、考题多的特点,你只要掌握好四个定义、指针数组的转化、malloc函数、结构体与共用体区别、指针与结构体结合五个考点,轻松拿下这部分的18-22分左右是完全没有问题的。如此高的分值,所以用4-5天复习这部分的内容是十分必要也十分划算的。
至此,NCRE二级C语言部分的考试楠哥就带领大家复习完了。在整个的复习中,如果按照以上的提纲,拿到44-56分的分数应该是十分容易的,加上公共基础知识的20分,通过NCRE二级这个世界上第二无用的考试是十分轻松的。如果你掌握的扎实一些,复习的更加认真一些,在公共基础知识部分拿到26分,那么总分拿到80分应该也是很有可能的。为此,请你从今天起一直到考试前,永远记住楠哥的那句话“真题!真题!还是真题!!!”