C语言 百分网手机站

看看大家都是如何谈论C语言的

时间:2020-10-03 17:04:18 C语言 我要投稿

看看大家都是如何谈论C语言的

  C语言是我们关注最多的一门学科,同时也是最让我们提心吊胆,担惊受怕的学科。下面让我们一起来看看大家都是怎么看待C语言的吧!

看看大家都是如何谈论C语言的

  1. C语言是我们关注最多的一门学科,同时也是最让我们提心吊胆,担惊受怕的学科。每年的挂科率居高不下,怎末能不让我们担心,这门学科真的难到学不会的地步吗?问题究竟出在哪儿?这是一个值得关注的话题。。。

  2. 据理解学生反应,C语言很难,当然这些共同的见解不是没有根据的:我们已经对C语言产生了畏惧感,生怕学不会,挂了科怎么办?同时我们的老师又偏偏要我们在课堂上回答问题,这对于大部分同学来说又是难上加难!

  3. 就这样,一次又一次的紧张气氛把我们搞得慌慌不定,找不着头绪,以至于对此学科厌倦,甚至会产生放弃的念头。

  4. 既然我们开了这门课,就必定要学会它;既然有的同学能够学会,我们也不能落后,至少要保证不挂才是;现在根据众人反应,有些同学保证不挂就有一定难度了,这已经成为了事实,每个人都有被卡的危险,我也是。不过从现在开始还不算晚,到时候还是有希望考过的。

  5.C语言是我们最先接触的一门程序编写语言,由于对这方面的东西还不甚了解,再加上C语言的知识点非常琐碎,而且即使完全背下来,不理解的话也难以编成好的程序。这些都是我们被困的重要原因,那么既然问题出来了就要设法去解决,来弥补以往的缺憾。。。。。

  6.为了学好C语言,最先学的时候就应该养成良好的习惯,不过这些确实是说着容易,大道理谁都懂但做起来就不再那么简单了。比如说在编程序时,对应大括号尽量对齐,内部程序尽量在两括号连线之后等等。这些规则课本上没有做明确的要求,但要是能做到这些就能提高读题速度,提高做题审题能力。课本上的例题默认的书写格式是最重要的,确实值得模仿,做到这些很难,但希望大家尽可能规范自己的书写格式。

  7.课前看一遍课本还是挺重要的,结合例题看课本内容,多看几个例子,时常拿几个例题来比较一下,看看都哪个地方不同,为什么会出现这些情况。举个简单地例子来说:在void main()之前常常加些与处理命令什么的`,如#include,而有时也会不加加上它又有什么作用呢?加与不加是由什么决定的?再如在一个程序执行完毕之后,最后一歩常加上printf(“/n”);或者在最后一条语句适当的位置加上/n等等这些小问题,课本上都会有解释,而这类的问题是最容易忽视的地方,往往成为我们编写程序的致命伤。

  8.C语言与上学期的机械制图有相似之处,需要记忆的东西较多,而且看到例题来也无头绪,特别是在不理解的时候就会感到更烦,这种心里大概和我看英语时的感觉差不多。C语言每周有两大节课,每次老师都会讲很多内容,一次课下来,听不懂的同学感到头晕,而听懂的同学会感到头胀,总之,此门学科时我们共同的难点。

  9.另外我们的C语言老师常常告诉我们,不要死记课本内容,当然这些说法时正确的,实践也足以证明这一点。但要是一味地编程序,连课本都放弃的话能编好吗?在可与无事的时候,翻开课本看一下那些文字说明,也没必要强压着自己去编程序,明明不想去干,为什么要逼着自己去浪费时间呢?

  10.说这个意思就是,以娱乐的方式浏览课本,不要求记住多少,就是为了看看那些容易被忽略的规定,啥时候在程序中见到了要知道这个知识点,要知道这些时规定。(就像看小说一样,不用思考,能记多少就记多少,记不住也就算了。)有时候就根本不需要理解这些东西,只需要知道,就是这样用的。看多了就会慢慢适应,对于一个陌生的东西,当我们什么都不懂的时候怎么知道它时什么意思呢?比如说,一个小孩子刚学会说话,他知道每句话时什么意思?也不会有其它的词来解释它的意思,但是后来就能理解,这又是为什么,C语言也是如此,有些规定初学时根本就不需要知道为什么,会用就行了。

  11.C语言有一个重要的特点,就是结构性极强,这是学会的关键点,也是学不会的头疼处。如一个程序题出来了,让我们看运行结果,最好的方法就是先划分一下程序结构,哪些时循环结构,哪些时嵌套结构等。大括号谁和谁相对应,哪些句子是并列的。其中最容易忽视的就是单分支选择结构,有if但没有else,配对时最易搞错。要是在if后的模块中有众多的语句就更不好看了。所以先整体划分一下结构时很有必要的。

  12.看运行结果时更需要注重这一点,由于种种原因会把前后对应的语句弄得不太明显,影响我们的思路。比如说,在switch语句时,里面往往加上几个for循环大括号一层套一层,弄得一个循环和函数差不多大小,等写完或看完此模块后忘记用break,要事先把整个分支圈起来就不会出现这种情况。尤其时一个case,里面再有switch语句的话,程序写出来就会有一大堆break,最容易忘记上述问题。所以划分模块很重要,希望大家试着用一下。当然,要是有更好的方法那更好,学得越快越高兴。。。。

  13.学习的时候要重抓基础,一些课本上常见的字符最好记住,如系统定义的函数fabs(),log(x),sin(x)等最起码见到的时候要能够认出来,知道各是什么意思。只有这样才能够判断什么时候用#include。另外还有其它的字符如\t 水平制表,\v 垂直制表,\n 换行,\r 回车不换行,这些意思很接近,要搞清楚。不但要知道各是什么意思,还要知道在运行结果中的输出格式。这只是一个举例,并不是说明本字符有多重要,大家要经常找找区别,进行比较记忆……

  此外,学C语言还要尽量联系实际,记得老师上次讲了一个自定义函数中的值传递与地址传递,下面就给大家一个比喻来说明问题,或许不是很准确,由于现在还没有学地址传递,所以这里面有可能出错,但目的大家要明白,是想让大家多多联系实际,举个例子罢了。定义一个函数average(int x int y),照正常的顺序运行下去并不能得出想要的结果,达不到目的,问题出在哪里呢?假如,老师让A同学做题,求已知两个数的平均值,但是A不会求,B会求(B就是求平均数的工具,即自定义函数),每个变量都有自己的存储区,其中包括地址和数值,这就相当于A、B各有一个练习本,用来存储运行结果,数值传递就是把A本上的两个数写到B本上,B可以通过B本上的地址在自己的本上找到两个数,而运算后又顺着地址把脑中的数写到了自己本上,这时A仍然得不到运算结果,(A不能看B本,因为由数据单向传递决定)。那么怎样才能让A等到结果呢?当先前A不把值复制给B而是把A本的地址给B的话,B就可以顺着A给B本上的地址一直找到A本上,这时A同学就可以看到程序运行结果,此时Average(int x int y)函数调用成功。

  上述是一种途径,还有没有其它的路径完成调用自定义函数的功能呢?假如先前定义一个全局变量,相当于一个空本子,谁想看谁看,对整个程序都起作用,这时把B本上的运算结果再赋值给这个全局变量,A在从全局变量中看到运行结果,这样也可以实现调用自定义函数功能。总之方法很多,学C语言要多想想实际的例子,找一个恰当的实例帮助理解问题是最好的。